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

求一个数组压缩算法!

[复制链接]
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

查看全部评分

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

评分

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

查看全部评分

toofree 回答时间: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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版