数字信号处理实验(西电 高西全教材)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》第三版,高西全、丁玉美,
实验程序清单:
实验0
实验内容:
1、实验用Matlab工具箱函数简介
熟悉以下函数的功能、格式
(1)abs (2)angle (3)conv (4)filter
(5)freqz (6)impz (7)fft (8)ifft
(9)plot (10)stem (11)subplot (12)figure
2、常用序列的产生及其频谱分析
(1)单位脉冲序列及其频谱
n=0:50; %定义序列的长度是50
x=[1,zeros(1,50)]; %注意:MATLAB中数组下标从1开始
%x(1)=1;
close all;
subplot(3,1,1);stem(x);title('单位冲击信号序列');
k=-25:25;
X=x*(exp(-j*pi/25)).^(n'*k);
magX=abs(X); %绘制x(n)的幅度谱
subplot(3,1,2);stem(magX);title('单位冲击信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱
subplot(3,1,3);stem(angX) ; title ('单位冲击信号的相位谱')
(2)矩形序列及其频谱
n=1:50
x=sign(sign(10-n)+1);
close all;
subplot(3,1,1);stem(x);title(‘矩形序列’);
k=-25:25;
X=x*(exp(-j*pi/25)).^(n’*k);
magX=abs(X); %绘制x(n)的幅度谱
subplot(3,1,2);stem(magX);title(‘矩形序列的幅度谱’);
angX=angle(X); %绘制x(n)的相位谱
sub plot(3,1,3);stem(angX) ; title (‘矩形序列的相位谱’)
(3)特定冲击串及其频谱
%h2(n)= δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)
n=1:50; %定义序列的长度是50
x=zeros(1,50); %注意:MATLAB中数组下标从1开始
x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;
close all;
subplot(3,1,1);stem(x);title(‘特定冲击串’);
k=-25:25;
X=x*(exp(-j*pi/12.5)).^(n’*k);
magX=abs(X); %绘制x(n)的幅度谱
subplot(3,1,2);stem(magX);title(‘特定冲击串的幅度谱’);
angX=angle(X); %绘制x(n)的相位谱
subplot(3,1,3);stem(angX) ; title (‘特定冲击串的相位谱’)
(4)采样信号序列及其频谱
%x(n)=Ae-anT sin(w0nT)u(nT) (0<=n<=50);
%A=444.128;a=50*sqrt(2.0)*pi; fs=1kHz(T=0.001);w0=50*sqrt(2.0)*pi n=0:50; %定义序列的长度是50
A=444.128; %设置信号有关的参数
a=50*sqrt(2.0)*pi;
T=0.001; %采样率,fs=1kHz
w0=50*sqrt(2.0)*pi;
x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形
subplot(3,1,1);stem(x); %绘制x(n)的图形
title(‘理想采样信号序列’);
k=-25:25;
W=(pi/12.5)*k;
X=x*(exp(-j*pi/12.5)).^(n’*k);
magX=abs(X); %绘制x(n)的幅度谱
subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);
angX=angle(X); %绘制x(n)的相位谱
subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)
单位冲击信号的相位谱
矩形序列的相位谱
特定冲击
串
特定冲击串的幅度
谱
特定冲击串的相位谱
理想采样信号序
列
理想采样信号序列的相位谱
实验一 系统响应及系统稳定性
%====内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性==== close all;clear all
A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A
x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n)
x2n=ones(1,128); %产生信号x2(n)=u(n)
hn=impz(B,A,58); %求系统单位脉冲响应h(n)
subplot(3,1,1);
stem(hn);
title('(a) 系统单位脉冲响应h(n)');
y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n)
subplot(3,1,2);
stem(y1n);
title('(b) 系统对R8(n)的响应y1(n)');
y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n)
subplot(3,1,3);
%y='y2(n)';
stem(y2n);
title('(c) 系统对u(n)的响应y2(n)');box on
%===内容2:调用conv函数计算卷积=====
x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n)
h1n=[ones(1,10) zeros(1,10)];
h2n=[1 2.5 2.5 1 zeros(1,10)];
y21n=conv(h1n,x1n);
y22n=conv(h2n,x1n);
figure(2)
subplot(2,2,1);stem(h1n); %调用函数stem绘图
title('(d) 系统单位脉冲响应h1(n)');box on
subplot(2,2,2);stem(y21n);
title('(e) h1(n)与R8(n)的卷积y21(n)');box on
subplot(2,2,3);stem(h2n);
title('(f) 系统单位脉冲响应h2(n)');
subplot(2,2,4);stem(y22n);
title('(g) h2(n)与R8(n)的卷积y22(n)');
%====内容3:谐振器分析=======
un=ones(1,256); %产生信号u(n)
n=0:255;
xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号
A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n)
y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n)
figure(3)