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列向量中的一个点三角窗口。
具体应用场合可以查看有关数字信号处理方面的书籍。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)