一. 生成一个基频为20Hz ,幅度为±1的周期方波信号;(1)试确定该信号的周期?(2)画出该信号5个周期内的波形;画出该信号的幅度频谱图;(3)该信号谱线间隔和频带宽度是多少,对它进行时域采样,采样频率Fs 至少为多少?(4)设计一个IIR/FIR 低通滤波器,滤去该周期信号中80Hz 以后的频率成分,要求通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,用matlab 命令画出滤波器的频率响应,以及滤波后的信号波形和频谱。
答:1.周期为0.05秒;3.谱线间隔为20Hz, 带宽为40Hz ,采样频率至少为80Hz 。
Fs=1000;N=256; % 时域/频率采样点t=0:1/Fs:(N-1)/Fs;x=square(2*pi*20*t); %产生幅度为[-1,1],频率为20Hz 的方波subplot(2,1,1) %方波绘图plot(t,x); title('5个周期的矩形波')axis([0,0.1,-1.5,1.5])T=0.05; %求方波的频谱t1=0:1/Fs:(T-1/Fs);xn=square(2*pi*20*t1);Xk=fft(xn,N);Xk=fftshift(abs(Xk));Xkl=Xk/N;subplot(2,1,2)plot(Fs/N*[0:1:N-1],Xkl)title('方波信号的频谱')[n,Wn]=buttord(80/500,90/500,3,50); %确定butterworth 滤波器的阶次 butterworth 低通滤波%器:通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,%以上参数可以变化[b,a]=butter(n,Wn); %确定滤波器传递函数y=filter(b,a,x); %滤波figure %滤波器频率特性freqs(b,a); title('低通滤波器频率特性') ;figuresubplot(2,1,1)plot(t,y) ;title('矩形波通过低通滤波器后的波形') ;axis([0,0.1,-1.5,1.5])subplot(2,1,2)N=512; %可适当增减fy=fftshift(fft(y,N)); %矩形波通过低通滤波器后的频谱f=(-N/2:(N/2-1))*2; f=f*Fs/N;plot(f,abs(fy)/N) ;title('矩形波通过低通滤波器后的频谱')二.设有连续信号()cos(240)f t t π=⨯⨯,(1)利用DFT 计算该连续时间信号的频谱,采样频率至少应取多少?80HZ(2)以采样频率Hz F s 1000=对信号)(t f 采样得)(t f a ,请画出两个周期内的离散 信号)(t f a 的波形;[要求横坐标限定到0-0.3s ,纵坐标在-1.4—1.5之间](3)若以频率为100Hz 的余弦信号对信号)(t f 进行幅度调制,采样频率仍选取Hz F s 1000=,试画出调制信号()()*cos(2200)y t f t t π=⨯⨯的波形图和幅度频谱图。
(频谱图只显示-1000Hz 到1000HZ 范围,频谱图纵坐标要求是dB 为单位,单独画一幅图)(30分)(4)对y(t)进行解调:1()()*cos(2200)*cos(2200)y t f t t t ππ=⨯⨯⨯⨯,设计一个Butter-Worth 低通滤波器,要求从y 1(t)中恢复出原连续时间信号f(t),确定滤波器的参数,采样频率为1000Hz ;画出滤波器的幅频特性曲线及y 1(t)经过滤波器后的输出信号的时域波形。
(要求横坐标是Hz 为单位的频率)。
clear allclcFs=1000;Fc=200;N=512;n=0:1:N-1;t=n/Fs;fa=cos(2*pi*20*t);y=cos(2*pi*200*t).*fa;%调制stem(n/Fs,fa); %画调制信号title('采样信号 fa(t)')axis([0,0.3,-1.4,1.5])figure %画已调制信号波形和频谱subplot(2,1,1)plot(y);title('已调制信号')subplot(2,1,2)yk=fftshift(fft(y,N));f=(-N/2:(N/2-1))*2;f=f*Fs/N;plot(f,abs(yk))title('调制信号的频谱')[n,Wn]=buttord(60/500,100/500,3,50);%确定butterworth 滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y1=y.*cos(2*pi*200*t) %相干解调y=filter(b,a,y1); %滤波figureplot(t,y);title('调制信号y (t )通过滤波器后的波形')三.已知信号)1002sin()152sin()102sin()(t t t t x ⨯+⨯+⨯=πππ,(1)若对信号进行数字处理,采样频率理论上至少为多少Hz ?200Hz(2)该信号的频率分辨率是多少Hz ?在500Hz 采样频率下,若想区分三个正弦分量的频谱,采样点数至少为多少?128(3)在500Hz 采样频率绘制信号的时域波形,绘出信号的幅度频谱图。
(4)设计一个IIR 或FIR 滤波器,使)(t x 经过滤波器后,滤除)200sin(t π。
画出滤波器的频率响应特性图,画出滤波器的输出信号时域波形图。
clear allclcfs=500;n=[0:127];x=cos(2*pi*10*n/fs)+cos(2*pi*15*n/fs)+cos(2*pi*100*n/fs);x1=sin(200*pi*n/fs);subplot(2,1,1);plot(n/fs,x);title('signal x(t)')Xk=fft(x);Xk=fftshift(abs(Xk));subplot(2,1,2);plot(n/fs,Xk);title('信号幅度频谱图');[n,Wn]=buttord(10/500,100/500,3,50);%确定butterworth 滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y=filter(b,a,x1);%滤波figuren=[0:127];fs=500;plot(n/fs,y)title('x1通过低通滤波器后的波形')四,设有连续信号(t)cos(2 5.51000)cos(261000)cos(291000)a x t t t πππ=⨯⨯+⨯⨯+⨯⨯(1) 若利用DFT 计算该连续时间信号频谱,采样频率应该取多少?18000HZ(2) 为区分上述的三个频率分量,至少应该采集多少个样本?128(3) 一采样频率Fs=32kHz 对信号Xa(t)采样,画出Xa(t)的波形(4) 一采样频率Fs=32kHz 对信号Xa(t)采样,采样数据长度N=128点,做N=128点的DFT,并画出幅频特性.(5) 设计一个滤波器,滤除信号Xa(t)中频率为6kHz 和9kHz 的两个分量,画出滤波器的幅频特性曲线(6) 画出滤波器的输出信号的时域波形图.fs=32000;n=[0:127];x=cos(2*pi*5.5*1000*n/fs)+cos(2*pi*6*1000*n/fs)+cos(2*pi*9*1000*n/fs);subplot(2,1,1);plot(n/fs,x);title('signal x(t)')Xk=fft(x,128);magXk=abs(Xk);k1=0:127;w1=fs/256*k1;subplot(2,1,2);plot(w1,magXk);title('16点DTFT的幅值');xlabel('w(单位:Hz)')[n,Wn]=buttord(5500/16000,6000/16000,3,50);%确定butterworth滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性y=filter(b,a,x);%滤波figuren=[0:127];fs=32000;plot(n/fs,y)title('xa(t)通过低通滤波器后的波形')五,产生一个周期为0.01秒,幅值为-1到1的方波信号,画出信号的时域波形图;(1)该信号的谱线间隔是多少Hz?/频带宽度是多少Hz?(2)若利用DFT计算该连续时间信号的频谱,采样频率至少应取多少?(3)用Matlab画出该信号的幅度频谱图;(4)设计一个滤波器,滤除该信号的基波分量;画出滤波器的频响特性;(5)画出滤波器的输出信号的时域波形;答(1)谱线间隔是100Hz;频带宽度是200Hz’(2)采样频率至少应取400Hzclear allclcfs=1000;t=0:1/fs:0.1;x=square(2*pi*100*t);%产生幅度为[-1,+1]的方波plot(t,x)title('周期矩形波')axis([0,0.1,-1.5,1.5])%求周期矩形波的幅度频谱T=0.01;t1=0:1/fs:(T-1/fs);x1=square(2*pi*100*t1);Xk=fft(x1);Xk=(1/10)*(fftshift(abs(Xk)));figurestem((-fs/10)*(-5:4),Xk)title('周期矩形波的幅度频谱图')[n,Wn]=buttord(150/500,200/500,3,50);%确定butterworth滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数freqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y=filter(b,a,x);%滤波figureplot(t,y)title('矩形波通过低通滤波器后的波形')axis([0,0.1,-1.5,1,5])六1.生成一个基频为10Hz,幅度为0到1,占空比为50%的周期矩形方波信号,画出该信号3个周期内的波形(要求横坐标限定在0到0.4秒之间,纵坐标限定在-0.3到+1.3之间);2.选取合适的采样频率,画出该信号的幅度频谱图,只显示-500Hz到+500Hz范围;3.设计一个带阻滤波器,要求该滤波器滤除掉频率为30Hz的三次谐波成分,用MATLAB命令只画出滤波器的幅度频谱响应特性曲线,要求纵坐标单位为dB。