你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求一个数组压缩算法!

[复制链接]
shengxiaozhu 提问时间:2018-6-9 17:35 /
需求:规定一次波形显示的数据时231个点。
算法要求:采集到的数值是可以确定的。10000个点以内的点数都压缩成231个点,比如(采了1W个点,压缩成231显示出来)(5000个点还是压缩成231个点显示出来)(500个点还是压缩成231个点显示出来),传进来的点数是不确定的,不能写死,但是可以确定是在1W以内的点数,
总之就是232-10000指点的点数都压缩成231个点来显示到屏幕上

  数学太差了,想了半天这种算法,但是画出来的波形总是和实际上显示的波形不太一样。

有没有大神指点,能有具体参考代码最好了!感激不尽。

收藏 评论6 发布时间:2018-6-9 17:35

举报

6个回答
wenyangzeng 回答时间:2018-6-9 18:01:29
10000÷43.3
5000÷21.6
500÷2.16
除数就是要显示的数据读取的间隔

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wujique 回答时间:2018-6-9 20:12:29
我估计做不好,除非你的10000个样点的波形本来频率就很低,否则,10K采样压成0.2K,波形怎么都不可能像吧?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

七哥 回答时间:2018-6-9 23:27:40
按周期间隔取点肯定是最简单的。但是也有缺点,就是丢掉的点或许还比较重要。

这个可以学习一下图像的缩放算法,肯定不是间隔几个点取一个点,而是通过对一系列点的运算,得出预期变化趋势后的点。近邻取样、二次线性插值、三次卷积插值、两次近邻取样、三次线性插值、两次三次卷积插值。反正就是一堆名词

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

feixiang20 回答时间:2018-6-10 01:28:34
调整下数据,再检查波形

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

STM1024 回答时间:2018-6-10 09:43:46
这个是有现成的算法的,具体名字我记不太清楚了,大概意思是说,你不知道样本空间有多大,但是要抽取给定的样本并计算平均值。
你可以先构建一个大小为231的数组,先采集前231个然后放入这个数组,一边获取后面的值,一边计数有n个,后面每采集到的一个数据,1/2的概率决定是否替换前面数组中的某个值,这个值可以是随机的。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

jeeson196 回答时间:2018-6-10 10:21:52
谢谢分享

评分

参与人数 1ST金币 -4 收起 理由
zero99 -4

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版