搜索
bottom↓
回复: 25

信号低通数字滤波后上升沿下降沿有过冲,求解决方法

[复制链接]
(11058727)

出625入8汤圆

发表于 2021-6-16 21:58:33 | 显示全部楼层 |阅读模式
400汤圆
本帖最后由 xml2028 于 2021-6-16 22:00 编辑

信号见附件,使用STM32的DSP库的IIR滤波器,使用MATLAB配置的滤波器系数,对图片中的信号进行处理后,得到的包络信号在上升沿和下降沿会出现过冲,如何才能避免这个过冲呢,我希望在拐角的地方平滑。帮助我解决此问题后另外微信红包顶格酬谢,当做请您吃个便饭。
附件: 您需要 登录 才可以下载或查看,没有帐号?注册

最佳答案

查看完整内容

你这取包络信号么,干啥不用FIR滤波器?,如果不考虑带内波动,直接用CIC滤波器,比IIR舒服多了,这图在16hz处大概有靠近100db的衰减,完全没问题。
(11058726)

出200入429汤圆

发表于 2021-6-16 21:58:34 | 显示全部楼层
你这取包络信号么,干啥不用FIR滤波器?,如果不考虑带内波动,直接用CIC滤波器,比IIR舒服多了,这图在16hz处大概有靠近100db的衰减,完全没问题。

本帖子中包含更多资源

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

x
(11022322)

出625入8汤圆

 楼主| 发表于 2021-6-17 08:05:18 来自手机 | 显示全部楼层
早安,各位
(11021807)

出0入0汤圆

发表于 2021-6-17 08:13:53 来自手机 | 显示全部楼层
我还以为转账顶格酬谢的,哈哈
不懂,帮不了忙
(11020775)

出0入0汤圆

发表于 2021-6-17 08:31:05 来自手机 | 显示全部楼层
陡降太快了吧,巴特沃斯走一波看
(11019839)

出625入8汤圆

 楼主| 发表于 2021-6-17 08:46:41 来自手机 | 显示全部楼层
albert_w 发表于 2021-6-17 08:31
陡降太快了吧,巴特沃斯走一波看

iir 巴特沃斯试了,不行
(11019692)

出625入8汤圆

 楼主| 发表于 2021-6-17 08:49:08 来自手机 | 显示全部楼层
xml2028 发表于 2021-6-17 08:46
iir 巴特沃斯试了,不行

iir 巴特沃斯 试了现象依旧
(11019325)

出0入121汤圆

发表于 2021-6-17 08:55:15 | 显示全部楼层
本帖最后由 nokia007 于 2021-6-17 09:40 编辑

贝塞尔滤波走一波。这里不适合用巴特沃斯。
The Gaussian filter also exhibits zero overshoot and zero ringing. (The
Bessel cannot make that claim, but it is close.) Thus, *any* filter that
deviates from the Gaussian spectral shape will overshoot or ring or both
in the time domain. Again, if overshoot and/or ringing are what you need
to optimize, then the Gaussian is best and the Bessel is a good
approximation of the Gaussian.
(11017922)

出0入0汤圆

发表于 2021-6-17 09:18:38 | 显示全部楼层
看波形,像阻抗不匹配造成的!
数字滤波器也要注意阻抗匹配?
(11017777)

出0入21汤圆

发表于 2021-6-17 09:21:03 来自手机 | 显示全部楼层
xml2028 发表于 2021-6-17 08:49
iir 巴特沃斯 试了现象依旧

想要没过冲,应该用贝赛尔类型的滤波器,不是巴特沃斯类型。
注意这会严重牺牲边缘的陡峭程度。自己试试就知道了。算滤波器的工具都可以选类型的。巴特沃斯是最常用的,还有个切比雪夫类型,牺牲平坦程度来换取最陡峭的边缘。
(11017659)

出625入8汤圆

 楼主| 发表于 2021-6-17 09:23:01 | 显示全部楼层
nokia007 发表于 2021-6-17 08:55
贝塞尔滤波走一波。这里不适合用巴特沃斯。

兄台,MATLAB 的FDATOOL里面的低通滤波器没有找到贝塞尔的类型呢
(11016615)

出0入121汤圆

发表于 2021-6-17 09:40:25 | 显示全部楼层
xml2028 发表于 2021-6-17 09:23
兄台,MATLAB 的FDATOOL里面的低通滤波器没有找到贝塞尔的类型呢

https://ww2.mathworks.cn/help/signal/ref/besself.html
只支持模拟滤波器。
看看这个
https://blog.csdn.net/bwkair/article/details/90897680
(11012081)

出625入8汤圆

 楼主| 发表于 2021-6-17 10:55:59 | 显示全部楼层
附件是我用MATLAB仿真的文件和M代码,可以看到过冲的

本帖子中包含更多资源

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

x
(11012019)

出625入8汤圆

 楼主| 发表于 2021-6-17 10:57:01 | 显示全部楼层
使用besself函数那个Wo参数设置不对,一直不能得到正确的结果
(11010354)

出0入121汤圆

发表于 2021-6-17 11:24:46 | 显示全部楼层
xml2028 发表于 2021-6-17 10:57
使用besself函数那个Wo参数设置不对,一直不能得到正确的结果

那个博客有一处错误,可以看看评论。
https://ww2.mathworks.cn/help/signal/ref/bilinear.html
fs参数 — Sample rate
博主弄成了截止频率。
(11008525)

出625入8汤圆

 楼主| 发表于 2021-6-17 11:55:15 | 显示全部楼层
nokia007 发表于 2021-6-17 11:24
那个博客有一处错误,可以看看评论。
https://ww2.mathworks.cn/help/signal/ref/bilinear.html
fs参数  ...

我按照网上的改了,仿真结果是不对的

本帖子中包含更多资源

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

x
(11005644)

出0入0汤圆

发表于 2021-6-17 12:43:16 来自手机 | 显示全部楼层
送adc采样吗?头尾跳过LOL
(11005538)

出625入8汤圆

 楼主| 发表于 2021-6-17 12:45:02 来自手机 | 显示全部楼层
albert_w 发表于 2021-6-17 12:43
送adc采样吗?头尾跳过LOL

什么意思?lol?
(10994243)

出0入0汤圆

发表于 2021-6-17 15:53:17 | 显示全部楼层

如果是送adc采集直流的话,直接去掉过冲部分。 很多交替测量的系统是这么干的。 如果要分析信号的边沿,那就只能老实调整滤波器了。
(10993529)

出625入8汤圆

 楼主| 发表于 2021-6-17 16:05:11 | 显示全部楼层
albert_w 发表于 2021-6-17 15:53
如果是送adc采集直流的话,直接去掉过冲部分。 很多交替测量的系统是这么干的。 如果要分析信号的边沿, ...

没有办法,整个波形都需要的,我调整调整滤波器试试
(10993088)

出0入42汤圆

发表于 2021-6-17 16:12:32 | 显示全部楼层
也正在学习中  帮不了什么忙了
(10992176)

出20入29汤圆

发表于 2021-6-17 16:27:44 | 显示全部楼层
IIR是实时的,如果你信号就截取一下前面部分,不管什么算法也不能预知你后面的信号是怎样吧??所以拐弯不够快有过冲不是很正常吗
就像下图,你实时信号就到了红色窗口的末端,绿色信号也到这个末端,这个应该就只能这样

本帖子中包含更多资源

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

x
(10987969)

出625入8汤圆

 楼主| 发表于 2021-6-17 17:37:51 | 显示全部楼层
智涅 发表于 2021-6-17 16:27
IIR是实时的,如果你信号就截取一下前面部分,不管什么算法也不能预知你后面的信号是怎样吧??所以拐弯不 ...

不是,那个过冲是巴特沃斯滤波器的特性导致的,你看我的MATLAB仿真结果
(10987784)

出0入17汤圆

发表于 2021-6-17 17:40:56 | 显示全部楼层
这个不是吉布斯现象吗
(10983849)

出625入8汤圆

 楼主| 发表于 2021-6-17 18:46:31 来自手机 | 显示全部楼层
谭春林 发表于 2021-6-17 18:15
你这取包络信号么,干啥不用FIR滤波器?,如果不考虑带内波动,直接用CIC滤波器,比IIR舒服多了,这图在16h ...

你这是matlab哪个版本?fdatool?
(10973549)

出200入429汤圆

发表于 2021-6-17 21:38:11 | 显示全部楼层
xml2028 发表于 2021-6-17 18:46
你这是matlab哪个版本?fdatool?

18版本,是fdatool
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-10-22 21:50

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

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