一、实验目的
1.掌握用窗函数法设计FIR数字滤波器的原理和方法。
2.掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。
3.掌握FIR滤波器的快速卷积实现原理。
4.学会调用MATLAB函数设计与实现FIR滤波器。
二、实验原理与方法
1.FIR滤波器的设计
2.窗函数设计法
3.几种常见的窗函数:
(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。
三、实验内容及步骤
(1)认真复习用窗函数法设计FIR数字滤波器的原理;
(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱;
程序如下:
function xt=xtg(N)
%xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz
%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz.
Fs=1000;T=1/Fs;Tp=N*T;
t=0:T:(N-1)*T;
fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;
mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt,频率为f0
ct=cos(2*pi*fc*t); %产生载波正弦波信号ct,频率为fc
xt=mt.*ct; %相乘产生单频调制信号xt
nt=2*rand(1,N)-1; %产生随机噪声nt
%==设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声==
fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标
fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,dev
dev=[10^(