搜索
bottom↓
回复: 52
打印 上一主题 下一主题

请问一下各位大虾,这种波形通过什么算法可以获得直流信号

[复制链接]

出0入60汤圆

1
发表于 2023-12-14 00:21:54 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 09:01 编辑

按楼主位的数据,13点的均值滤波加28点的均值滤波,就能滤掉大部分了



客户想要的是完全的直流???这是模拟量啊,再怎么滤都会有波形的吧
完全直流就都是一个值?还是阶跃那样的?

如果噪声类型是缓变的,可以定期抽取小部分数据做一下简单的频谱分析,以此来选择最合适的滤波器以及滤波参数
或者是否已知噪声类型?
看楼主位的数据,明显噪声主要在基波上,其次是2次谐波,而且基波是比较纯的,2次谐波就比较泛了(不过中心频率还是能看出是噪声基波的2倍,勉强算是2次谐波吧)
单单从时域上看,就能看到客户想要除去的噪声具有明显的周期性

也许客户需要的是高频滤波+欠采样+插值的效果
就是在滤除了大部分的高频噪声后,降低采样率,再直接插值,这样自然就“直”了
最简单的插值,直接用过采样点的值去插

++++++
再说直白点:
先进行合适的高频滤波,掐掉大部分高频噪声,可以定期进行自适应的滤波参数调整
然后,按N点分段,比如128点,取这128点的均值,直接代替分段内所有128点的值(这样就直啦)
(效果在6楼)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入60汤圆

2
发表于 2023-12-14 01:51:32 | 显示全部楼层
想要的是完全直流还是阶跃的?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入60汤圆

3
发表于 2023-12-14 09:55:30 来自手机 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 10:23 编辑
了无 发表于 2023-12-14 09:49
刮目相看啊,以为层主是混水区的,原来是懂技术的 。请教这个软件是什么软件?软件调好的效果,可 ...
(引用自8楼)


代码是昨天晚上自己写的
软件是octave,语法兼容matlab,还可以混合调用c++、c
不过没有matlab集成那么多的,比较小巧,不到100M的,我在Linux上用的,不喜欢臃肿的,我都用cli模式的(无gui,在终端里用)

经典的滤波器还是自带有的,不用自己写的
不过周期性明显的噪声信号,我习惯均值滤波(也就是滑动窗口取均值,很简单,自己写了,点位适合自己用,软件自带的也有,对齐好有点问题)
只用一个的话,对谐波滤除效果会差一些,对其它更高频的杂波效果更差,所以习惯再叠加一个
运算也简单

经典的滤波器也是不能自动生成代码的,没有matlab那些自动工具箱
不过可以自己去翻源码……

出0入60汤圆

4
发表于 2023-12-14 10:18:28 来自手机 | 显示全部楼层
了无 发表于 2023-12-14 09:49
刮目相看啊,以为层主是混水区的,原来是懂技术的 。请教这个软件是什么软件?软件调好的效果,可 ...
(引用自8楼)

现在一个月都未必能碰一次电脑啊
今年这小孩大人轮番生病的
去年则是小朋友各种厌学死活不上幼儿园(今年好多了,都跟班上最帅的男生是好朋友,看到好几次热聊,还是小帅哥主动的,女生好友也好多个了,所以不厌学了)
更小的时候更离不开人了

大前天晚上我自己发高烧,估计是中流感了,前天最高都39.8了,昨天好多了,白天37.5左右,前半夜37.8左右
所以刚好跟孩子隔离开几天,半夜起来喝水,状态还好,开电脑敲了会儿键盘 —— 敲完发现,体温降了0.5😲
早上起来36.9,体温稳定了,就是开始喉咙痒咳嗽了,鼻涕则是流了好几天了

出0入60汤圆

5
发表于 2023-12-14 15:11:31 来自手机 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 15:45 编辑
zxq6 发表于 2023-12-14 14:56
硬件上目前把该想的办法已经想完了。
比如:模拟地和数字地分开
采用4层板结构

(引用自30楼)


又当又立的要求……

需要平滑且波动范围有限的滤波
滤波参数需要自适应调整,而调整的过程也得足够平滑……好在允许有延时
免不了需要插值(插值就是造假了,只是看着像真的,跟真实值也有关联)

也就是说,要做的不是滤波,而是插值
只不过插值需要用滤波后原始数据以及N点内的波动幅度作自适应参数
而客户的要求就是波动范围不能超标、延时不能超标,能允许的运算量貌似也很有限

出0入60汤圆

6
发表于 2023-12-14 16:02:59 来自手机 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 16:04 编辑
zxq6 发表于 2023-12-14 14:56
硬件上目前把该想的办法已经想完了。
比如:模拟地和数字地分开
采用4层板结构

(引用自30楼)


楼主位的数据均值大约173左右,实际采样到的数据可能会有缓变,比如2秒内从100升到200,这样么?

出0入60汤圆

7
发表于 2023-12-14 17:09:21 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 17:41 编辑
zxq6 发表于 2023-12-14 14:56
硬件上目前把该想的办法已经想完了。
比如:模拟地和数字地分开
采用4层板结构
(引用自30楼)


类似这样的小波动的么?


刚好波动没超标,没做调整没做插值,只是滤波的结果
有缓变幅度大的么数据么?

其实均值滤波,8点跟128点甚至512点是差不多开销的,因为窗口每滑动一点,都是移除最旧的一点,加入最新的一点,更新变动的都是两个点的值
只不过点数越多,需要的内存量越大(得存得下那么多个点的值),第一个值得老老实实算出来,从第二个点开始就只需要更新新旧两个点的运算量了
还有其它效率高的滤波方式,哪个划算用哪个

250点内局部波动超标的点,局部小范围处理,不计较曲线是否光滑的话直接改,替换成跟周边点近似的不超标的点
如果要求曲线光滑,可以上三次曲线插值

如果波动超标点太多,可以动态调整滤波器,过渡阶段稍加处理

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入60汤圆

8
发表于 2023-12-14 19:22:19 | 显示全部楼层
zxq6 发表于 2023-12-14 18:10
这里第二列有缓慢变化的数据,也有阶跃数据。


(引用自34楼)


打开看到有4列数据,第2列第一个数据接在第1列最后一个数据后面么?以此类推?
还是这里面存的是4个信号的数据?

……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入60汤圆

9
发表于 2023-12-14 19:26:18 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 19:58 编辑
zxq6 发表于 2023-12-14 19:24
不是的,每一列数据单独从传感器出来的,在这里跟其他列无关。
(引用自36楼)


就是4个不同时间片段采样的数据吧?

++++++
导入进来看到了,有几处阶跃相当的大啊
除了最后一列,其它列都有相当大的阶跃,最大的差值都有248.22了
这样就无法满足250点内波动幅度0.1以内了,否则就得明显严重失真的
是否这种阶跃其实是客户希望保留的,而不是想要滤除的噪声?
换句话说,其实客户想要保留的是单纯的直线段组成的信号,直线段可以是水平的,可以是斜的,(垂直的不可能,只可能是近似于垂直的斜线段),而其余的成分都是不想要的噪声
采样率是50hz,那么在这份数据中,相邻的有效阶跃的时间差最短的也有10秒左右(约500个采样点),而客户要求250点内(也就是5秒)波动幅度不超过0.1,所以其实是不是有效阶跃的相邻时间间隔至少是1秒以上的(10秒的1/10,5秒的1/5)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入60汤圆

10
发表于 2023-12-14 20:14:11 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 20:42 编辑
zxq6 发表于 2023-12-14 20:03
这个阶跃信号是需要保留的,而且对这个阶跃的陡峭程度有要求,比如上升沿,需要在10个点内达到上升后值的 ...
(引用自38楼)


那就是我上面推测的了
以上面数据为例(不画图了)
红色的,应该是一条小坡度的正值的斜线,中间突然有一段突变成了负值,并且负值部分是水平的
蓝色的,也是一条小坡度的正值的斜线,中间突然……(同上)……
黄色的,也是……(同上)……
紫色那条应该是完全水平的,估计是无信号的状态,理想值应该是0,实际值是相对于信号非常微小的负值(运放之类的?)
以上就是客户想要保留的有效信号成分,其余统统都是噪声不要的,并且阶跃的部分得足够陡峭(比如上升沿,需要在10个点内达到上升后值的99.5%;而理想状态,斜率应该是无穷大的)
没错吧?

终于理解楼主位说的客户只要的“直流”是怎么回事了😲
更像是类似示波器那样的,而不是新版的博朗耳温枪

噪声基本都是硬件噪声…… 所以当然是不要的……
上面这4组的频域看过了,大体上是白噪声和1/f噪声(有点忘了,好像是叫粉红噪声?),不过又混着很微小的类周期噪声(这里很小,几乎忽略不计),很常见的硬件噪声
而楼主位的数据中,周期性的噪声就很强了
这种类周期性的噪声是哪种器件产生的么?频率很低的,只有4hz左右

出0入60汤圆

11
发表于 2023-12-14 21:26:29 来自手机 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-14 21:27 编辑
zxq6 发表于 2023-12-14 20:47
目前不确定是什么东西产生的,换算成电压,噪声只有2-300个uv。因为我们采集的是客户的信号调理版过来的电 ...
(引用自40楼)


无所谓了


我觉得,思路方向就不是滤波了,更不是造假,而是“求真”

首先,检测出“有效阶跃”的位置,进而完成分段工作 —— 分出【阶跃段】 和 【平稳段】
检测的依据就是信号数据相邻两点的差值,matlab中直接用自带方法diff即可得到

接着,依据每个分段内的真实采样数据以及分段的类型,拟合出理想信号
平稳段,理想的是只有一个斜率的斜线,拟合的参数就是斜率、起点、终点,需要从真实采样数据中近似出来
阶跃段,就是差值极大的两点,加上两边的过渡,连接上相邻的平稳段

然后,把真实采样信号x减去理想信号y,得出差值信号r
再根据客户的要求,对r进行修饰
既要满足客户的要求底线,又得保留足够的真实成分 —— 就好像女生美颜修图,既要好看减少瑕疵,又要看不出来美颜过;既要化妆气色好瑕疵少,又要看不出化妆过
r修饰过得到s

最后,y+s,就是客户想要看到的结果了

出0入60汤圆

12
发表于 2023-12-15 00:10:23 来自手机 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-15 00:20 编辑
zxq6 发表于 2023-12-14 22:45
理论上,有效信号的斜率并不固定。而且在不同的时刻可能不一样。只是样本这个信号特例了。
类似正弦信号 ...

(引用自43楼)


这样啊,原来只是冰山一角

上面你给的数据约3000点,采样率50hz,所以就是约60s
也就是说,在60s的窗口里,每个分段内的信号的斜率都很接近(上面说的平稳段和阶跃段)
然后现在知道了,60s只是冰山一角,在更长的窗口里看就是类正弦的信号了,信号斜率是变化的

上面层的思路依然有用
第一步依然是分段,阶跃段除外的其它信号部分,它们的理想型就可以近似为斜率连续的n段三次曲线的组合(搜一下三次曲线差值就知道了),算是【连续段】
不过不需要去作插值
简单地对【连续段】内的数据做低通滤波即可,然后再根据客户的波动幅度限制要求进行修饰
而【阶跃段】,不作低通滤波,陡峭又干净利落地跟【连续段】过渡连接起来,根据客户的要求修饰好(客户要求足够陡峭)

既然信号缓变的速度比较慢,具体信号什么类型也不确定
那么就可以定期取样分析,判断是哪种类型的曲线(直线也是特殊的曲线)或者线段组(比如三次曲线组+不定时的阶跃),然后套用相应的处理方法
定期取样的周期可以很长的,比如远大于60s(远大于3000点),而且需要分析的数据是大比例欠采样的数据(比如3000点才取1点),所以运算量很小的

出0入60汤圆

13
发表于 2023-12-15 09:43:09 来自手机 | 显示全部楼层
ddcour 发表于 2023-12-15 09:03
请教版主: 红线是经过了什么运算得出的?
(引用自45楼)


楼主需要的不是红线这种效果,我没理解对,他也没表达好(上面最新的楼层已经get到了,你看44楼)

只问这个红线的话,很简单,就是在绿线的基础上,按128点分段,每段取平均值,直接把这个平均值赋值给段内每一个点

出0入60汤圆

14
发表于 2023-12-15 11:07:49 来自手机 | 显示全部楼层
本帖最后由 Bunny_Girl 于 2023-12-15 11:11 编辑
ZHAOBAO511 发表于 2023-12-15 10:55
这次发烧也很厉害,症状和阳了一样,而且感觉比上次更严重,我很久没咳嗽了, 之前就是冷了没注意防护咳 ...
(引用自49楼)


周二晚上开始就退烧了,周三傍晚到睡前一点低烧
昨天周四就体温都正常了,但是开始咳嗽
昨天晚上开始咳得厉害,现在也是咳得厉害
鼻涕倒是从黄鼻涕转为清鼻涕了

6月份我也是高烧退烧后咳了3个星期,挂呼吸内科,医生听诊也没事的
我是5月20号首阳的,520那一天……

去年有一次,也是感冒之后狂咳了一个月……

都是喉咙痒起来咳嗽的
试过两三次喝右美沙芬,都得更要命,狂想咳但是没法咳出来,非常痛苦的,不敢不敢了,不适合我
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-17 00:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表