matlab 用矩形窗巴特利特窗设计带阻滤波器 已知阻带为[pi6 pi3] , N=25 求高手指导!!!!!

matlab 用矩形窗巴特利特窗设计带阻滤波器 已知阻带为[pi6 pi3] , N=25 求高手指导!!!!!,第1张

b = fir1(N , [1/6 1/3] , 'stop' , boxcar(N+1))

Warning: Odd order symmetric FIR filters must have a gain of zero at the Nyquist frequency The order is being increased by one

> In fir1 at 83

这个之所以不对,是因为滤波器阶数自动增加了1,也就是26,所以与窗函数长度不一致。把boxcar(N+1)改成boxcar(N+2)就能运行了,但有警告。把N改成N+1,则警告消除。

另外说一下,如果你的阻带是1/6~1/3,那么fir1参数里的[1/6,1/3]是达不到要求的。因为这个参数是截止频率,基本上处于过渡带的中间。

运行freqz(b,1),你可以看到,在1/6和1/3之间,幅度衰减显然不符合要求

常用的窗函数:

bartlett,巴特利特窗口

调用格式:w = bartlett(L),%L在列向量中返回一个点的Bartlett窗口w,其中L 必须是一个正整数。

blackman,布莱克曼窗口

调用格式:w = blackman(N),%返回N列向量中的点对称Blackman窗口w,其中N是一个正整数。

bohmanwin,Bohman窗口

调用格式:w = bohmanwin(L),%L在列向量中返回一个点Bohman窗口w。Bohman窗口是两个半持续时间余弦波瓣的卷积。在时域中,它是一个三角形窗口和一个余弦单周期的乘积,加上一个术语可以将边界处的一阶导数设置为零。Bohman窗脱落为1 / 瓦特^4。

chebwin,切比雪夫窗口

调用格式:w= chebwin(L,r),%返回w包含长度LChebyshev窗口的列向量,  其傅里叶变换旁瓣幅度r 低于主瓣幅度dB。默认值为r1000 dB。

gausswin,高斯窗口

调用格式:w = gausswin(N,Alpha),%返回一个N与Alpha标准差的倒数成比例的高斯点高斯窗口。窗口的宽度与α的值成反比。α值越大,窗口越窄。的值α的默认值至25。

hamming,海明窗口

调用格式:w = hamming(L) ,%返回一个L点对称的Hamming窗口。

hann,汉恩(汉宁)窗口

调用格式:w = hann(L),%返回一个L对称的Hann窗口。

kaiser,凯撒窗口

调用格式:w = kaiser(L,beta),%返回L列向量中的-point Kaiser窗口w。beta是Kaiser窗口参数,它影响窗口傅里叶变换的旁瓣衰减。默认值为beta05。

rectwin,矩形窗口

调用格式:w = rectwin(L),%返回L列向量中  的矩形窗口长度w。该功能是为了完整性而提供的; 矩形窗口相当于没有窗口。

taylorwin,泰勒窗口

调用格式:w = taylorwin(n),%n在列向量中返回一个点泰勒窗口,w。这个向量中的值是窗口权重或系数。

triang,三角窗口

调用格式:w = triang(L),%返回L列向量中的一个点三角窗口。

具体应用场合可以查看有关数字信号处理方面的书籍。

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

原文地址: http://outofmemory.cn/langs/12184470.html

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

发表评论

登录后才能评论

评论列表(0条)

保存