DSP期末作业
- 格式:doc
- 大小:117.50 KB
- 文档页数:6
2011年数字信号处理实验期末作业
1. 已知一个双频正弦信号123()sin(2)sin(2)+sin(2)x t f t f t f t π
ππ=+,其中1100f Hz =,2300f Hz =,2500f Hz =,用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阶巴特沃斯滤波器将信号中的低频信号1f 滤除,画出滤波器的频谱特性图和滤波输出后的波形和频谱图
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('滤波后频谱图') 滤波器的频谱特性图:
滤波输出后的波形和频谱图:
f,画出滤波器的频谱特性图和滤波输(3)编程设计一个带通滤波器,保留2
出后的波形和频谱图。
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/2()0 other j H e ω
πωπ≤≤⎧=⎨⎩ 四个极点分别为2/90.8j e π±和4/90.875j e π±,零点为1±和3/4j e π±,确定系
统函数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*ex p(-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);。