1、2. 直观体会频率采样型滤波器所具有的“滤波器组”特性,即在并联结构的每条支路上可以分别得到输入信号的各次谐波;3. 学习使用周期冲激串检测所实现滤波器的频域响应。二、 实验内容频率采样型滤波器是由一个梳状滤波器和若干路谐振器构成的,可用公式表述如下:Hz=1-rNz-NNk=0N-1Hk1-rWN-kz-1(1)其中r值理论上为1,实际中取非常接近1的值。为了使系数为实数,可以将谐振器的共轭复根合并,不失一般性,假设N为偶数,于是可以得到如图1所示的结构。图1 N为偶数的实系数频率采样型结构滤波器其中0k=2ReH(k),1k=-2rReH(k)WNk以下实验中假设频率采样型滤波器阶数N=1
2、6。1. 构造滤波器输入信号st=k=03sk(t),其中skt=Akcos(2kf0t+k),基波频率f0=50Hz,A0=0.5,A1=1,A2=0.5,A3=2,0=0,1=2,0=,3=-2。设时域信号s(t)的采样频率fs=Nf0,绘制出采样时刻从0到L-1的采样信号波形,其中采样点数为L=2N,确认时域信号采样正确。2. 对采样信号的第二个周期(n=N,N+1,L-1)进行离散傅里叶变换,画出幅频特性和相频特性图,观察并分析其特点。3. 设H(0)=1,H(1)=e-j(N-1)N,H(2)=e-j2(N-1)N,H3=H4=H(13)=0,H14=-e-j14(N-1)N,H(1
3、5)=-e-j15(N-1)N,计算滤波器抽头系数h(n),n=0,1,N-1,画出该滤波器的频谱图,观察并分析其幅频特性和相频特性。4. 编程实现图 1 所示的频率采样型滤波器结构,其中r=0.999,H(k)取第3步中的值。为了简化编程,梳妆滤波器可以调用CombFilter.m,谐振器可以调用 Resonator2.m,使用 help CombFilter和help Resonator2查看如何配置参数。将第1步生成的采样信号通过该滤波器,画出输出信号第二个周期(n=N,N+1,L-1)的时域波形和频谱,并与第2步的频谱进行对比,观察并分析二者的区别。5. 分别画出图1中前4路谐振器的输
4、出信号第二个周期(n=N,N+1,L-1)的时域波形,观察并分析输出信号的特点。6. 将输入信号换成周期为N的冲激串,画出输出信号第二个周期(n=N,N+1,L-1)的幅频特性,并与第3步的滤波器幅频特性进行对比,观察并分析二者的关系。7. 思考题(1)在第2步的幅频特性中,各次谐波的幅度与相应的时域信号幅度有什么关系?(2)实验中为什么要观察第二个周期,如果直接观察第一个周期会怎么样?(3)如果取r=0.95,观察会出现什么情况。三、 实验要求1. 按照实验内容编写Matlab程序,给出运行结果(图),并逐项进行分析讨论。2. 提交完整的Matlab源程序。3. 回答思考题,撰写实验报告。四
5、、 实验结果与分析输入信号是直流、一次波、二次波、三次波的叠加,采样频率为16f0,高于输入信号的2倍。输入信号的时域图像如上。由幅频特性图可知,在第0、1、2、3、13、14、15个点上有幅值,数值对称、相位反对称,其余点的幅度为0。第0点表示基波分量;第1点和第15点为直流分量,其幅值和是基波分量的2倍;第2点和第14点为二次分量,其幅值和与基波分量相等;第3点和第13点为三次分量,幅值和是基波分量的4倍。同时,从FFT结果可发现,幅值为0的分量相位并不相同,这是由计算机计算精度造成的。滤波器抽头系数h(n)可由H(k)作IFFT运算得出,第一行两幅图表示出H(k)的幅频特性和相频特性。将
6、H(k)内插后观察,发现H2为低通滤波器。第四题输出图像:信号通过滤波器后第二个周期的时域图像、FFT后的频谱信号直接作FFT后的频谱幅值:与第2题对比,第0、1、2、14、15点不变,第3点和第13点的数值为0,这是因为三次分量在通过滤波器时被滤掉了,而滤波器在第0、1、2、14、15点的幅值为1,所以通过滤波器后的幅值没有发生变化。相位:直流分量的初始相位与滤波器H(0)相乘,得到新的相位;一次分量的相位由基波初始相位0与H(1)相位相乘而得;其他分量的相位无法确定。H(0)输出波形为直流分量,所以波形的幅度不变;因为H(3)=0,所以H(3)输出波形也为0,幅度不变;其他两路分别为基波和
7、二次分量的波形。输入信号是周期为N的冲激串时,输出信号的时域图像和频谱滤波器幅频特性冲激函数在频域上为1,通过滤波器后被滤掉k=313区域,所以其幅值和滤波器本身的幅值相等,保留了直流、基波、二次分量。五、 思考题1. 在第2 步的幅频特性中,各次谐波的幅度与相应的时域信号幅度有什么关系?频率为0时的幅度等于时域波形中直流的幅度,直流、二次、三次谐波的谱线的幅度为时域波形相应谐波对应幅度的一半。因为正弦信号的频谱中有 和两条谱线,幅度都为信号的一半,cos(t)=ejw+e-jw2。2. 实验中为什么要观察第二个周期,如果直接观察第一个周期会怎么样?第二个周期信号与系统的单位脉冲响应卷积后,输
8、出信号开始变得周期,不会发生失真;直接观察第一个周期,信号没有完全进入系统,卷积结果不完整,输出会发生失真。3. 如果取r=0.95,观察会出现什么情况。所有谐振器的极点从单位圆向内收缩一点,同时梳状滤波器的零点也移到r圆上,滤波器的幅频特性的幅度减小,通带内的仍然保持线性相位特性。4. 如何理解第3 步与第6 步在工程使用中的区别?两者均为低通滤波器,但是第三步是进行频率采样后由内插函数得到传递函数H(z),从而得到系统频响H();而题6中使用了冲激串,这是因为在理想条件下,冲激串的频响就是系统的频响,但是在实际生活中很难实现。六、 MATLAB程序代码1. 以下是MATLAB程序代码:cl
9、c;clear;clf;f0=50;N=16;fs=N*f0; %时域信号s(t)的采样频率T=1/fs;%采样间隔L=N*2; %采样点数t=0:T:(L-1)*T;%构造输入信号s0=0.5*cos(0);s1=1*cos(2*pi*f0*t+pi/2);s2=0.5*cos(2*pi*2*f0*t+pi);s3=2*cos(2*pi*3*f0*t-pi/2);s=s0+s1+s2+s3;i=0:1:L-1;stem(i,s(i+1);grid on;2. 以下是MATLAB程序代码:t=N*T:s0=0.5*cos(2*pi*0*f0*t+0);a=fft(s);%FFT运算a%输出a的
10、各项值y=abs(a);z=angle(a);N-1;subplot(2,1,1);stem(i,y(i+1);subplot(2,1,2);stem(i,z(i+1);3. 以下是MATLAB程序代码;H=1,exp(-1i*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,N);hH_abs=abs(H);H_angle=angle(H);subplot(2,2,1);stem(i,H_abs(i+1);title(H 幅频特性);subplot(2,2,2);stem(i,H_angle(i+1);H 相频特性w=0:pi/200:2*pi;H2=zeros(1,length(w);for i=1:length(w) for n=1:N e=exp(-j*w(i)*(n-1); H2(i)=H2(i)+h(n)*e; endendsubplot(2,2,3);plot(abs(H2);H2 幅频特性subplot(2,2,4);plot(angle(H2);H2 相频特性4. 以下是MATLAB程序代码;%初始化数据L=2*N;s1=1*co
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1