关于matlab中低通滤波器程序?

关于matlab中低通滤波器程序?,第1张

h = freqs(b, a, w) 根据系数向量计算返回滤波器的复频域响应。

调用这个低通滤波器时,使用下面的函数

sf=filter(a,b,s)%s为需滤波的数据,sf经过你设计的低通滤波器以后的新数据

你目前给出的技术指标不完全,还需要采样频率、通带波纹、阻带衰减。给全了倒是可以帮你编一个。

那就假设几个吧:

采样频率:Fs=80KHz

经计算得相应数字滤波器的指标:

通带截止频率:fp=0.6*Fs/2

通带波纹:rp=0.01(假设的,单位dB,下同);

阻带截止频率:fs=0.7*Fs/2

阻带衰减:rs=0.1(假设的,同上)

程序如下,给出了幅频特性曲线。

clear

Fs=80

fp=0.6*Fs/2

rp=0.01

fs=0.7*Fs/2

rs=0.1

f=

[fp

fs]

A=[1

0]

dev=[rp

rs]

[n,f0,m0,W]=remezord(f,A,dev,Fs)

b=remez(n,f0,m0,W)

[h,W]=freqz(b,1,256,1)

h=abs(h)

h=20*log10(h)

plot(w,h)grid

xlabel('频率(归一化)')

ylabel('幅度(dB)')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7783759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存