您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 频率采样型滤波器的Matlab实现-实验报告
实验二频率采样型滤波器-1-目录一、实验目的........................................................................................-2-二、实验内容........................................................................................-2-1、构造滤波器输入信号,并对其进行采样处理:...................-2-2、对采样信号的第二个周期进行离散傅里叶变换,画出幅频特性和相频特性图,观察并分析其特点:.........................................-3-3、计算滤波器抽头系数h(n),画出该滤波器的频谱图,观察并分析其幅频特性和相频特性:.........................................................-5-4、将第1步生成的采样信号通过该滤波器,画出输出信号第二个周期的时域波形和频谱,并与第2步的频谱进行对比,观察并分析二者的区别。.........................................................................-7-5、分别画出前4路谐振器的输出信号第二个周期的时域波形,观察并分析输出信号的特点。.....................................................-9-6、将输入信号换成周期为N的冲激串....................................-10-三、思考题..........................................................................................-12--2-一、实验目的1.通过该实验学会使用频率采样型结构实现FIR滤波器,初步熟悉FIR滤波器的线性相位特点。2.通过该实验直观体会频率采样型滤波器所具有的“滤波器组”特性,即在并联结构的每条支路上可以分别得到输入信号的各次谐波。3.通过该实验学会如何使用周期冲激串检测所实现滤波器的频域响应。二、实验内容1、构造滤波器输入信号,并对其进行采样处理:(1)程序片段:s=inline('A*cos(2*pi*k*f0*t+q)','A','k','f0','t','q');f0=50;N=16;L=2*N;fs=N*f0;ts=1/fs;ss=zeros(1,L);A=[0.5,1,0.5,2];q=[0,pi/2,pi,-pi/2];fork=0:1:3ss=ss+s(A(k+1),k,f0,0:ts:(L-1)*ts,q(k+1));endfigurestem(0:L-1,ss);title('时域采样信号');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('n')ylabel('s(n)')(2)运行结果:-3-(3)结果分析:由于0fNfs,故采样信号在原始信号的一个周期内采取16个点,一共采样了两个周期,共32个点。2、对采样信号的第二个周期进行离散傅里叶变换,画出幅频特性和相频特性图,观察并分析其特点:(1)程序片段:Sk=fft(ss(1:N));Sk_abs=abs(Sk);Sk_angle=angle(Sk);figuresubplot(1,2,1)stem(0:N-1,Sk_abs);title('采样信号幅频特性');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('k')ylabel('|S(k)|')subplot(1,2,2)stem(0:N-1,Sk_angle/pi);-4-title('采样信号相频特性');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('k')ylabel('angle(S(k))/pi')(2)运行结果:(3)结果分析:由于原始信号只有直流分量以及第一、二、三次分量,而由0fNfs知其对应的幅频特性只有当k=0-3有值,而后面有值的谱线是由于共轭对称所产生的。又因为所取信号为一个周期的,相当于在时域增加了一个门宽为N的窗,该窗对应的频域为一个sinc函数,其主瓣宽度为NfNTss1,恰好等于幅频特性中相邻点的距离,故各个点处的值只与其对应分量的幅度和sinc函数的增益N有关,现对其幅值分析如下:A.对于直流分量其5.00A,故当k=0时对应幅值为85.0N-5-B.对于第一、二、三次分量,由于其余弦信号分为正负两边各为其幅度的2/1,故当k=1时,其对应幅值为8211N;当k=2时,其对应幅值为4215.0N;当k=3时,其对应幅值为16212N。3、计算滤波器抽头系数h(n),画出该滤波器的频谱图,观察并分析其幅频特性和相频特性:(1)程序片段:H=[1,exp(-j*pi*(N-1)/N),exp(-j*2*pi*(N-1)/N),0,0,0,0,0,0,0,0,0,0,0,-exp(-j*14*pi*(N-1)/N),-exp(-j*15*pi*(N-1)/N)];h=ifft(H);disp('抽头系数h(n):');disp(num2str(real(h)));figurestem(0:N-1,real(h));title('抽头系数h(n)');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('n')ylabel('h(n)')%%%%%%%%%%%%%%h1=[h,zeros(1,9*N)];H1=fft(h1);figuresubplot(1,2,1)plot((0:10*N-1)*2/(10*N),abs(H1));title('滤波器幅频特性');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('w/pi')ylabel('|H(w)|')subplot(1,2,2)plot((0:10*N-1)*2/(10*N),angle(H1)/pi);title('滤波器相频特性');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('w/pi')ylabel('angle(H(w))/pi')(2)运行结果:抽头系数h(n):-6-0.0553870.0064017-0.054782-0.077371-0.0285990.0841110.214270.300580.300580.214270.084111-0.028599-0.077371-0.0547820.00640170.055387-7-(3)结果分析:对滤波器的H(k)做IDFT可以得到其抽头系数h(n),由滤波器的H(k)的相频特性可知,h(n)应该是偶对称的。从滤波器的幅频特性可以看到该滤波器为低通滤波器,其可以通过直流和一、二次频谱分量,从其相频特性可以看出该滤波器在其通带内具有线性相位。4、将第1步生成的采样信号通过该滤波器,画出输出信号第二个周期的时域波形和频谱,并与第2步的频谱进行对比,观察并分析二者的区别。(1)程序片段:r=0.999;y1=CombFilter(ss,N,r);y2=zeros(1,N+L);fork=0:N/2y2=y2+Resonator2(y1,N,r,k,H(k+1));endy=y2/N;figurestem(N:L-1,ss(N+1:L),'MarkerFaceColor','blue');holdonstem(N:L-1,y(N+1:L),'MarkerFaceColor','red','Marker','square');holdofftitle('经过滤波器的信号');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('n')ylabel('s(n)')Yk=fft(y(N+1:L));%!!!!!!Yk_abs=abs(Yk);Yk_angle=angle(Yk);figuresubplot(1,2,1)stem(0:N-1,Sk_abs,'MarkerFaceColor','blue');holdonstem(0:N-1,Yk_abs,'MarkerFaceColor','red','Marker','square');holdofftitle('经过滤波器的信号幅频特性');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('k')ylabel('|Y(k)|')subplot(1,2,2)stem(0:N-1,Sk_angle/pi,'MarkerFaceColor','blue');holdon-8-stem(0:N-1,Yk_angle/pi,'MarkerFaceColor','red','Marker','square');holdofftitle('经过滤波器的信号相频特性');%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('k')ylabel('angle(H(k))/pi')(2)运行结果:-9-(3)结果分析:输出信号同输入信号相比,少了三次谐波分量,这是由于滤波器为低通滤波器,其只能通过直流和一、二次频谱分量。除此之外,在相位上也有相应的滞后。5、分别画出前4路谐振器的输出信号第二个周期的时域波形,观察并分析输出信号的特点。(1)程序片段:figurefork=0:3subplot(2,2,k+1)temp_y1=Resonator2(y1,N,r,k,H(k+1))/N;stem(N:L-1,temp_y1(N+1:L));title(['经过滤波器第',num2str(k),'路的信号']);%['f=',num2str(f),',N=',num2str(N),',T=',num2str(T),',add=',num2str(add)])xlabel('n')ylabel(['s',num2str(k),'(n)'])end-10-(2)运行结果:(3)结果分析:由于低通滤波器的作用,输出信号同输入信号相比,少了三次谐波分量,其对应的直流以及第一、二次分量的幅值均没有变,在相位上都有了一定程度上的滞后。6、将输入信号换成周期为N的冲激串(1)程序片段:y1=CombFilter([1,zeros(1,N-1),1,zeros(1,N-1)],N,r);y2=zeros(1,N+L);fork=0:N/2y2=y2+Resonator2(y1,N,r,k,H(k+1));endy=y2/N;Yk=fft(y(N+1:L));%!!!!!!Yk_abs=abs(Yk);Yk_angle=angle(Yk);figuresubplot(1,2,1)stem(0:N-1,abs(H),'MarkerFaceColor','blue
本文标题:频率采样型滤波器的Matlab实现-实验报告
链接地址:https://www.777doc.com/doc-7234781 .html