姓名:覃士超学号:2009113111指导老师:李海军三峡大学2011秋季学期《DSP技术与实验》综合实验FIR滤波器的DSP实现2011秋季学期《DSP技术与实验》综合实验题目姓名:覃士超学号:2009113111.报告要求:设输入信号为x(t)=cos(3π*220t)+cos(7π*220t)+cos(10π*220t),x(n)利用MATLAB仿真分析得到,采样频率fs=10000HZ。这里的频率f=11×20Hz=220Hz。用FIR滤波器的DSP实现(低通、高通、带通、带阻)。设计思路:1、用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR滤波器设计。语法:b=fir(n,wn);b=fir(n,wn,"ftype");b=fir(n,wn,window);b=fir(n,wn,"ftype",window);其中,n为滤波器的阶数;wn为滤波器的截止频率;ftype参数用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器。Window参数用来指定滤波器采用的窗函数类型,其默认值为汉明窗。由以上可得出以下语句:b1=fir1(79,0.11);b2=fir1(79,0.187,'high');b3=fir1(79,[0.110.187]);b4=fir1(79,[0.110.187],'stop');2、FIR的DSP实现FIR滤波器的输出表达式为y(n)=b0x(n)+b1x(n−1)+…+bn−1(n−N+1)式中,bi为滤波器系数;x(n)为表示滤波器在n时刻的输入;y(n)为n时刻的输出。它的基本算法是乘法-累加运算,即不断地输入样本x(n),经过z−1延时后,再进行乘法-累加运算,最后的输出结果为y(n)。首先由抽样定理设定滤波器信号的采样频率为fs=10000HZ,阶数设为79阶。由f1=330+7702HZ=550HZ、f2=770+11002HZ=935HZ和数字角频率Wn=2pi*f/fs可得:截止频率W1=0.11,W2=0.187。一共采集1000个点。Matalab源程序如下:b1=fir1(79,0.11);%80pointhammingwindowFIRfilter,Wn=0.1π=2π*550/10000b2=fir1(79,0.187,'high');%80pointhighpassFIRfilter,Wn=0.3π=2π*1870/10000b3=fir1(79,[0.110.187]);%bandpass0.11-0.187b4=fir1(79,[0.110.187],'stop');%bandstop0.11-0.187fvtool(b1,1)%FlterVisualizationTool可心以查看幅度响应、冲激响应等fvtool(b2,1)fvtool(b3,1)fvtool(b4,1)h=buffer(round(b1*32768),8)'%参数*2^15,把小数点移最高位后面后取整,然后排成8个一行便于输出。csvwrite('table1.txt',h)%参数表输出到文件中h=buffer(round(b2*32768),8)'%参数*2^15,把小数点移最高位后面后取整,然后排成8个一行便于输出。csvwrite('table2.txt',h)%参数表输出到文件中h=buffer(round(b3*32768),8)'%参数*2^1...