窗函数法设计FIRDF使用Matlab的fir1()函数十分方便,DSP课堂上已经讲过,此处不再赘述。关心的是:
使用 hn = fir1(M, wc);%M为滤波器阶数M,长度N, M = N-1;wc为截止频率
得到向量hn之后,如何用freqz表示?如何用hn去对目标序列滤波?
首先上matlab的help查freqz()函数:
大概意思就是说freqz是0~π的n点频率响应,hfilt是表示滤波器系数的向量。
而fir1()返回的hn是FIR的时域序列h(n)= hn(n+1) n=0,1,2,.....
因为matlab的数组都是从1开始索引,但是时域序列h(n)是从n=0开始。
如果要画出h(n)的频响特性曲线, freqz(hn)或者freqz(hn,1)都是可以的,默认频谱是0~pi上的512点。没有返回值freqz()默认画图,长这样: