2011年数字信号处理实验期末作业
1. 已知一个双频正弦信号x(t)?sin(2?其中f1f1t)?sin(2?f2t)+sin(2?f3t),
?100Hz,f2?300Hz,f2?500Hz,用2 KHz的频率进
行采样
(1)请通过MATLAB编程画出原信号的波形和频谱特性
f1=100;f2=300;f3=500; Fs=2000;T=1/Fs; t=0:T:0.1;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t); xk=fft(x);
k=0:length(xk)-1; w=Fs/length(xk)*k;
subplot(2,1,1);plot(t,x);title('信号波形');
subplot(2,1,2);stem(w,abs(xk));title('频谱图'); 原信号的波形和频谱图:
(2)编程设计一个8阶巴特沃斯滤波器将信号中的低频信号f1滤除,画出滤波器的频谱特性图和滤波输出后的波形和频谱图
N=8; wc=0.2;
[B,A]=butter(N,wc,'high');
[H,w]=freqz(B,A,'whole'); figure(1);subplot(2,1,1);
plot(w/pi,abs(H));title('高通滤波器'); xlabel('ω/π');ylabel('H(e^j^ω)'); figure(1);subplot(2,1,2); plot(w/pi,angle(H));
xlabel('ω/π');ylabel('ψ(ω)'); f1=100;f2=300;f3=500; Fs=2000;N=128; n=0:N-1;
xn=sin(2*pi*f1*n/Fs)+sin(2*pi*f2*n/Fs)+sin(2*pi*f3*n/Fs); y=filter(B,A,xn);
figure(2);subplot(2,1,1);plot(n/Fs,y);title('滤波后波形图'); Yk=fft(y);
figure(2);subplot(2,1,2);stem(n*Fs/N,abs(Yk));title('滤波后频谱图')
滤波器的频谱特性图:
滤波输出后的波形和频谱图:
(3)编程设计一个带通滤波器,保留f2,画出滤波器的频谱特性图和滤波输出后的波形和频谱图。
N=8;
wc=[0.2 0.4];
[B,A]=butter(N,wc); f1=100;f2=300;f3=500; Fs=2000;N=128; n=0:N-1;
xn=sin(2*pi*f1*n/Fs)+sin(2*pi*f2*n/Fs)+sin(2*pi*f3*n/Fs); y=filter(B,A,xn);
subplot(2,1,1);plot(n/Fs,y);title('滤波后波形图'); Yk=fft(y);
subplot(2,1,2);stem(n*Fs/N,abs(Yk));title('滤波后频谱图');
滤波器的频谱特性图:
滤波输出后的波形和频谱图:
2. 设计一个4极点带通滤波器,期望的幅度响应为
?1 ?/6????/2H(e)??
0 other?j??j3?/4?j2?/9?j4?/9?1e0.8e0.875e四个极点分别为和,零点为和,确定系
统函数H(z),画出零极点分布以及幅度响应图,并和期望幅度响应比较。
确定系统函数H(z):
b=(z+1)*(z-1)*(z-exp(j*3*pi/4))*(z-exp(-j*3*pi/4)); b1=expand(b)
a=(z-0.8*exp(j*2*pi/9))*(z-0.8*exp(-j*2*pi/9))*(z-0.875*exp(j*4*pi/9))*(z-0.875*exp(-j*4*pi/9)); a1=expand(a)
求得:B=[1,sqrt(2),0,-sqrt(2),-1]
A=[1,-1.5296,1.7781,-1.329,0.49]
Hz=G*(z^4+1.414*z^3-1.414*z-1)/(z^4-1.5296*z^3+1.7781*z^2-1.329*z+0.49); 由H(j*pi/3)的模为1求得G=0.11 所以:
Hz=0.11*(z^4+1.414*z^3-1.414*z-1)/(z^4-1.5296*z^3+1.7781*z^2-1.329*z+0.49);
零极点分布图:
B=[1,sqrt(2),0,-sqrt(2),-1];
A=[1,-1.5296,1.7781,-1.329,0.49]; zplane(B,A);
幅度响应图:
B=[1,sqrt(2),0,-sqrt(2),-1];
A=[1,-1.5296,1.7781,-1.329,0.49]; freqz(0.11*B,A);