用matlab得到一个信号是用采样频率10KHZ采集的电流信号,想滤去其中的噪声,用巴特沃斯滤波器怎么滤波? 20

是滤波,不是巴特沃斯滤波器的设计,设计的滤波器是四阶巴特沃斯滤波器,截止频率是500hz,下边是我自己编的程序,肯定不对,望指正哪里出现的错误[b,a]=butter(4... 是滤波,不是巴特沃斯滤波器的设计,设计的滤波器是四阶巴特沃斯滤波器,截止频率是500hz,下边是我自己编的程序,肯定不对,望指正哪里出现的错误
[b,a]=butter(4,2*pi*500,'s')
[num,den]=bilinear(b,a,1000)
z=filter(num,den,i1aL1a)
plot(t,z)
figure(2)
plot(t,i1aL1a)
有几个疑问,一是Z变换那的频率到底要填多少,我看demo里也没提,二是所得的信号是一个离散的采样信号,需要怎样处理才能用filter来进行滤波,上面这段程序前后两个波形一模一样,望不吝赐教
展开
 我来答
天涯漫
2012-03-12 · TA获得超过103个赞
知道答主
回答量:35
采纳率:100%
帮助的人:26万
展开全部
首先要明白,由你给的代码知道你是要设计数字低通滤波器,而你给的频率是模拟的,你需要将模拟的频率转换到数字,butter函数是用在数字中的函数,Wn应在0~1之间,即你写的2*pi*500是不可以的。
具体程序可以这样写(去采样周期为T=1s,采样频率FS=1/T=1hz)
(1)设通带频率为400hz,截止频率为500hz,通带衰减Rp=1db,阻带衰减Rs=20db
(2)用双线性变换设计时,模拟和数字的频率对应关系为W(模拟)=2/T*tan(1/2)*w(数字),得到数字的技术指标为Wpz,Wsz。
(3)设计滤波器
[Nd,Wdc]=buttor(Wpz,Wsz,Rp,Rs);
[B,A]=butter(Nd,Wdz);
(4)滤波
z=filter(B,A,要滤波的函数)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式