一、在 MATLAB 中的窗函数,十分简单:

(1)矩形窗(Rectangle Window)      调用格式:w=boxcar(n),根据长度 n 产生一个矩形窗 w。

(2)三角窗(Triangular Window)     调用格式:w=triang(n),根据长度 n 产生一个三角窗 w。

(3)汉宁窗(Hanning Window)       调用格式:w=hanning(n),根据长度 n 产生一个汉宁窗 w。

(4)海明窗(Hamming Window)      调用格式:w=hamming(n),根据长度 n 产生一个海明窗 w。

(5)布拉克曼窗(Blackman Window)调用格式:w=blackman(n),根据长度 n 产生一个布拉克曼窗 w。

(6)恺撒窗(Kaiser Window)         调用格式:w=kaiser(n,beta),根据长度 n 和影响窗函数旁瓣的β参数产生一个恺撒窗w。

二、基于窗函数的 FIR 滤波器设计

利用 MATLAB 提供的函数 fir1来实现

调用格式:fir1(n,Wn,’ftype’,Window),n 为阶数、Wn 是截止频率(如果输入是形如[W1 W2]的矢量时,本函数将设计带通滤波器,其通带为W1

[例]设计一个长度为 8 的线性相位 FIR 滤波器。其理想幅频特性满足

45cc4c4f0bcaec1043e1abae414c59c8.png

用矩形窗:

Window=boxcar(8);

b=fir1(7,0.4,Window);

freqz(b,1)

用blackman窗:

Window=blackman(8);

b=fir1(7,0.4,Window);

freqz(b,1)

[例] 设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为W1= 0.3π,w2=0.5π

Window=blackman(16);

b=fir1(15,[0.3 0.5],Window);

freqz(b,1)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐