数字信号处理练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理查题目(用matlab实现,提
交代码和答案)
1自己设计一个模拟信号(几个不同频率简谐信号之和,再加一个白噪声)。用不同的采样频率把信号离散(满足和不满足采样定理)(1)画出信号波形;
(2)分别作信号的谱分析(幅值);对比采样频率的影响;
程序:
N=512;%数据点数
n=0:N-1;%时间序列
fs1=800;
fs2=200;%采样频率
T1=1/fs1;
T2=1/fs2; %采样周期
t=0:0.0001:0.2;
t1=(0:N-1)*T1;
t2=(0:N-1)*T2;
X=100*sin(2*pi*100*t)+100*cos(2*pi*120*t)+10*randn(1,length(t));%模拟信号
X1=100*sin(2*pi*100*t1)+100*cos(2*pi*120*t1)+10*randn(1,length(t1));%采样频率为800Hz
X2=100*sin(2*pi*100*t2)+100*cos(2*pi*120*t2)+10*randn(1,length(t2));%采样频率为200Hz
Y1_1=fft(X1,N); %对信号进行快速Fourier变换
Y1_2=fftshift(Y1_1);
Y2_1=fft(X2,N); %对信号进行快速Fourier变换
Y2_2=fftshift(Y2_1);
mag1=abs(Y1_2); %求得Fourier变换后的振幅
mag2=abs(Y2_2);
f1=n*fs1/N-fs1/2; %频率序列
f2=n*fs2/N-fs2/2;
figure(1);
subplot(2,1,1),plot(f1,mag1,'r'); %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('图1:采样频率为800HzFFT','color','r');grid on; subplot(2,1,2),plot(f2,mag2,'b'); %绘出随频率变化的振幅xlabel('频率/Hz');
ylabel('振幅');title('图2:采样频率为200HzFFT','color','b');grid on; figure(2);
subplot(3,1,1);
plot(t,X,'r');
title('原信号波形图');
subplot(3,1,2);
stem(t1,X1,'.');
title('采样频率为800Hz波形图');
subplot(3,1,3);
stem(t2,X2,'.');
title('采样频率为200Hz波形图');
2自己设计一个模拟信号(3个不同频率简谐信号之和),采样后得到数字信号,
(1)画出信号波形和傅立叶频谱图;
(2)用参数估计法计算其功率谱;
(3)设计低通数字滤波器(去掉f2,f3),画出该滤波器幅频图、相频图,将原信号作为该滤波器的输入,计算响应;画出响
应时域波形和谱图;
(4)设计带通数字滤波器(去掉f1,f3),画出该滤波器幅频图、相频图,将原信号作为该滤波器的输入,计算响应;画出响
应时域波形和谱图;
(5)设计带阻数字滤波器(去掉f2),画出该滤波器幅频图、相频图,将原信号作为该滤波器的输入,计算响应;画出响应
时域波形和谱图;
(6)设计高通数字滤波器(去掉f1),画出该滤波器幅频图、相频图,将原信号作为该滤波器的输入,计算响应;画出响应
时域波形和谱图;
(1)波谱和波形
N=1024; %%%采样点数和傅里叶变换的点数相同
n=0:N-1;
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,1,1);plot(t,x);
xlabel('时间/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');ylabel('振幅');title('原信号的幅值谱');
xlim([0,fs/2]);grid on;
%%%求相位谱
an=angle(y);
subplot(3,1,3);plot(f/2,an); %绘出随频率变化的振幅
xlabel('频率/Hz');ylabel('angle');title('原信号的相位谱');
(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(1);
subplot(2,1,1);plot(f,20*log10(abs(H)));grid on
xlabel('频率(Hz)');ylabel('幅度(dB)');title('滤波器幅值谱')
subplot(2,1,2);plot(f,angle(H));grid on
xlabel('频率(Hz)');ylabel('angle');title('滤波器相位谱')
t=linspace(0,1,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('时间/s');title('原始信号')
subplot(2,1,2);plot(t,y,'r');grid on