数字信号处理练习试题.docx
- 格式:docx
- 大小:1.17 MB
- 文档页数:35
数字信号处理查题目(用matlab实现f提
交代码和答案)
1自己设计一个模拟信号(几个不同频率简谐信号之和,再加_个白 噪声\用不同的采样频率把信号离散(满足和不满足采样定理)
(1)画出信号波形;
(2 )分别作信号的谱分析(幅值);对比采样频率的影响;
程序:
N=512;%数据点数
n=O:N-l;%时间序列
fs 1=800;
fs2=200;%采样频率
Tl = l/fsl;
T2=l/fs2; %采样周期
1=0:0.0001:0.2;
tl=(0:N-l)*Tl;
t2=(0:N-l)*T2;
X= 100*sin(2*pi* 100*t)+100*cos(2*pi* 120*t)+ 10*randn(l ,length(t));% 模拟信号
XI = 100*sin(2*pi* 100*tl)+100*cos(2*pi*l 20*tl)+10*randn( 1 ,length(tl));% 采样频率为 800Hz
X2= 100*sin(2*pi* 100* ⑵+100*cos(2*pi* 120*t2)+10*randn(1 ,length(t2));% 釆样频率为 200Hz
Yl_l=fft(Xl,N); %对信号进行快速Fourier变换
Yl_2=fftshift(Yl_l);
Y2_l=fft(X2,N); %对信号进行快速Fourier变换
Y2_2=fftshift(Y2_l);
magl=abs(Yl_2); %求得 Fourier 变换丿f?的振幅
mag2=abs(Y2_2);
fl=n*fsl/N-fsl/2; %频率序列
12=n*fs2/N-fs2/2;
figure(l);
subplot(2,l ,1 ),plot(fl ,mag 1 ,T); % 绘出随频率变化的振幅
xlabelC 频率/Hz'); ylabelC振幅HtitleC图 1:釆样频率为 800HzFFT,color;T);grid on;
subplot(2,1,2),plot(f2,mag2;b,); %绘出随频率变化的振幅
xlabel(‘频率/Hz);
ylabelC振幅);titleC图 2:釆样频率为 200HzFFTVcolor,;b,);grid on; figure(2);
subplot(3,l,l);
plot(t,X,T);
title©原信号波形图J;
subplot(3,l,2);
stem(tl,Xl/.');
lilleC采样频率为800Hz波形图J;
subplot(3,l,3);
stem(t2,X2,'.');
title(采样频率为200Hz波形图');
原信号波形图
采样频率为800Hz波形图
采样频率为200Hz波形图
200 r ------------------c ----------------- [ ------------------c ----------------- c ----------------- c ----------------- c --------------- T
0 rrr ~n
卜説亠二"5从•丄丿丄人
■200 ----------------- c ------------------ 1 ---------------- c ----------------- c ------------------ c ----------------- E ----------------- 0 0.2 0.4 0.6 0.8 1 1.2 1.4图1:采样频率为800HZFFT
2自己设计一个模拟信号(3个不同频率简谐信号之和),采样后得到 数字信号,
(1) 画岀信号波形和傅立叶频谱图;
(2) 用参数估计法计算其功率谱;
(3 )设计低通数字滤波器(去掉f2 , fB ),画出该滤波器幅频图、 相频图,将原信号作为该滤波器的输入,计算响应;画出响 应时域波形和谱图;
(4 )设计带通数字滤波器(去掉fl , f3 ),画出该滤波器幅频图、 相频图,将原信号作为该滤波器的输入,计算响应;画出响 应时域波形和谱图; 9
■
1 〜
15000
10000
5000
0 -400 -300 -200 -100 0 100 200 300
频率/Hz
图2:采样频率为200HZFFT —
10000 ji-
)\
0 -100 -80 -60 -40 -20 0 20 40 60 80 100
频率/Hz 400
5000 (5 )设计带阻数字滤波器(去掉f2 ),画岀该滤波器幅频图、相
频图,将原信号作为该滤波器的输入,计算响应;画出响应
时域波形和谱图;
(6 )设计高通数字滤波器(去掉fl ),画出该滤波器幅频图、相
频图,将原信号作为该滤波器的输入,计算响应;画出响应 时域波形和谱图;
(1 )波谱和波形
N= 1024; %%%釆样点数和傅里叶变换的点数相同
n=0:N-l;
fs=250; %%%釆样频率
t=n/fs;
x=4*sin(2*pi*10*t)+2*sin(2*pi*50*t)+5*sin(2*pi*90*t) % 原始信号
subplot(3,l ,1 );plot(t,x);
xlabel(时 |Hj/t,);ylabel(,x,);title(,原信号');
axis([0,0.4,min(x),max(x)])
grid on;
%%%求幅值谱
y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求取Fourier变换的振幅 f=n*fs/N;
subplot(3,1,2);plot(f,mag); %绘出随频率变化的振幅 xlabel(濒率/Hz^ylabeR振幅‘);讯畋原信号的幅值谱 xlim([0,fs/2]);grid on;
%%%求相位谱
an=angle(y);
subplot(3,1,3);plot(f72,an); %绘出随频率变化的振幅 xlabel(濒率/Hz');ylabel(Qngle');titleC 原信号的相位谱');
原信号的幅値谱
(3) 低通数字滤波器
fs=250;%采样频率
%%%%低通滤波器设计
wp=15;%单位是Hz
ws=30; %单位是Hz
Rp=2;As=30; %设置滤波器参数
Wp=wp*2/fs;Ws=ws*2/fs; %设计数字滤波器时 要进行关于pi的归一化
[N,Wn]=buttord(Wp,Ws,Rp,As); %求数字滤波器的最小阶数和归一化截止频率
[B,A]=butter(N,Wn);
[H f]=freqz(B,A,512,fs); %512代表fft变换的点数,fs代表釆样频率 figure(l);
subplot(2,l ,1 );plot(f,20*log 10(abs(H)));grid on
xlabelC 频率(Hz)J;ylabeK‘幅度(dB));title(‘ 滤波器幅值谱 J
subplot(2,1,2);plot(f,angle(H));grid on
xlabel(濒率(Hz)');ylabel('angle');title('滤波器相位谱') t=linspace(O,l,fs);
x=4*sin(2*pi* 10*t)+2*sin(2*pi*50*t)+5*sin(2*pi*90*t);
y=filter(B,A,x);
figure(2);
subplot(2,1,1 );plot(t,x);grid on
xlabel(W 间/s');title('原始信号) subplot(2,l ,2);plot(t,y/f);grid on
xlabelC时间/sJ;titleC滤波后的信号?
N=1024; %采样点数和傅里叶变换的点数相同 n=O:N-l;
fs=250; %采样频率
t=n/fs;
%%%求幅值谱 yz=fft(x,N); %对信号进行快速Fourier变换
magi=abs(yz);
f二n*fs/N;
Figure (3);
subplot(2,1,1 );plot(f,magi);%绘出随频率变化的振幅
xlabel(濒率/Hz');ylabel(振幅*);title(滤波前的幅值谱
xlim([0,fs/2]);grid on;
z=fft(y,N);%对信号进行快速Fourier变换 magi=abs(z);%求取Fourier变换的振幅 fg=n*fs/N;
subplot(2,l ,2);plot(fg,magi); %绘出随频率变化的振幅
xlabelC频率/Hz);ylabelC振幅);titleC滤波后的幅值谱
xlim([0,fs/2]);grid on;
滤波器幅值谱
200
o00
2 ■
mp)翅-400 0
4
2
o 言0 e
-2 20 40 60 80
频率(Hz)
滤波器相位谱 100 120 140
0 20 40 60 80
频率(Hz) 100 120 140