数字信号处理练习试题.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