求一个数组压缩算法:规定一次波形显示的数据时231个点

2019-07-14 14:57发布

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

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

有没有大神指点,能有具体参考代码最好了!感激不尽。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
hongjane
1楼-- · 2019-07-14 17:44
我估计做不好,除非你的10000个样点的波形本来频率就很低,否则,10K采样压成0.2K,波形怎么都不可能像吧?
zhouxk
2楼-- · 2019-07-14 21:05
按周期间隔取点肯定是最简单的。但是也有缺点,就是丢掉的点或许还比较重要。

这个可以学习一下图像的缩放算法,肯定不是间隔几个点取一个点,而是通过对一系列点的运算,得出预期变化趋势后的点。近邻取样、二次线性插值、三次卷积插值、两次近邻取样、三次线性插值、两次三次卷积插值。反正就是一堆名词
cnm7
3楼-- · 2019-07-15 00:39
 精彩回答 2  元偷偷看……
60user36
4楼-- · 2019-07-15 04:20
这个是有现成的算法的,具体名字我记不太清楚了,大概意思是说,你不知道样本空间有多大,但是要抽取给定的样本并计算平均值。
你可以先构建一个大小为231的数组,先采集前231个然后放入这个数组,一边获取后面的值,一边计数有n个,后面每采集到的一个数据,1/2的概率决定是否替换前面数组中的某个值,这个值可以是随机的。
cmh19
5楼-- · 2019-07-15 09:29
谢谢分享
lee_st
6楼-- · 2019-07-15 13:43
网上找找看哦

一周热门 更多>