二 对于a0~ai的理解:
对于滤波器系统,可以理解为一个序列。(iir不可以)
y[n]=a0*x[n]+a1*x[n-1]+a2*x[n-2]+………+ai*x[n-i];
是x[n]与a0~ai(h[n])的卷积。
三 设计方法:
(1):时间窗口设计法(时域法)
由理想的滤波器的h[n]系数序列,加窗口(与其相乘)。
????????????????????????????
?查理想的滤波器的系数序列,以及各种窗口函数的序列表达式。?
????????????????????????????
(2):频率取样法(频域法)
????????????????????????????
四 matlab所用的函数:
(1)时间窗口设计法:firl (n,Wn,’ftype’,Window),n 为阶数、Wn 是截止频率(如果输入是形如[W1 W2]
的矢量时,本函数将设计带通滤波器,其通带为 W1<ω<W2) 、ftype 是滤波器的类型(低
通-省略该参数、高通-ftype=high、带阻-ftype=stop) 、Window是窗函数
Fir1()即为某一窗口序列与理想滤波器序列相乘的结果。
(2)频率取样法:fir2();?????????
在 MATLAB 中产生窗口序列:
(3)矩形窗(Rectangle Window)
调用格式:w=boxcar(n),根据长度 n 产生一个矩形窗 w。
(4)三角窗(Triangular Window)
调用格式:w=triang(n) ,根据长度 n 产生一个三角窗 w。
(5)汉宁窗(Hanning Window)
调用格式:w=hanning(n) ,根据长度 n 产生一个汉宁窗 w。
(6)海明窗(Hamming Window)
调用格式:w=hamming(n) ,根据长度 n 产生一个海明窗 w。
(7)布拉克曼窗(Blackman Window)
调用格式:w=blackman(n) ,根据长度 n 产生一个布拉克曼窗 w。
(8)恺撒窗(Kaiser Window)
调用格式:w=kaiser(n,beta) ,根据长度 n 和影响窗函数旁瓣的β参数产生一个恺撒窗 w。
Eg:
Matlab的窗口设计示例:
设计线性相位带通滤波器, 其长度 N="15", 上下边带截止频率分别为 W1= 0.3*pi, w2=0.5*pi.
Window=blackman(16);% blackman窗口序列
stem(Window);
grid on;
b=fir1(15,[0.3 0.5],Window);%b即为所要设计的系数。
%%Fir1()为blackman窗口序列与理想滤波器序列相乘
stem(b);
grid on;
H=freqz(b,1);%求其离散时间傅立叶变换
H_abs=abs(H);
H_a=angle(H);
Subplot(2,1,1);% 幅频特性曲线
Plot(H_abs);
Subplot(2,1,2);% 相频特性曲线
Plot(H_a);
%%%%%%%%%%%或者
Window=blackman(16);
stem(Window);
grid on;
b=fir1(15,[0.3 0.5],Window);
stem(b);
grid on;
freqz(b,1);(直接画图)
文章评论(0条评论)
登录后参与讨论