西安交大数字信号处理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验报告
班级:自动化86
姓名:潘文培
学号:08054142
日期:2010/11/11
实验1 常见离散信号的MATLAB 产生和图形显示
实验目的:加深对常用离散信号的理解;
实验原理:
1. 单位抽样序列
⎩⎨⎧=01)(n δ
≠=n n 在MATLAB 中可以利用ZEROS()函数实现。
;
1)1();
,1(==x N zeros x
如果
)(n δ在时间轴上延迟了K 个单位,得到)(k n -δ即:
⎩
⎨⎧=-01)(k n δ
0≠=n k
n (1)、单位脉冲序列的代码:
n1=-10;
n2=10; k=0; n=n1:n2;
nt=length(n); nk=abs(k-n1)+1; x=zeros(1,nt); x(nk)=1;
stem(n,x,'file');
axis([n1,n2,0,1.1*max(x)]); title('单位脉冲序列'); xlabel('时间'); ylabel('幅度');
截图如下:
(2)、延时后的脉冲序列代码:
n1=-10;
n2=10;
n=n1:n2;
nt=length(n);
nk=abs(k-n1)+1;
x=[zeros(1,nk-1),ones(1,nt-nk+1)];
stem(n,x,'file');
axis([n1,n2,0,1.1*max(x)]);
title('单位脉冲序列');
xlabel('时间');
ylabel('幅度');
截图如下:
2.单位阶跃序列
⎩
⎨⎧01)(n u
00
<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =
程序代码为:
n = -10:15;
u = [zeros(1,10) ones(1,16)]; stem(n,u);
xlabel('时间'); ylabel('幅度');
title('单位阶跃序列'); axis([-10 15 0 1.2]);
截图如下:
3.正弦序列
)/2sin()(ϕπ+=Fs fn A n x
在MATLAB 中
)
/***2sin(*1
:0fai Fs n f pi A x N n +=-=
程序代码为:
N = 36
n = 0:N-1; A = 2; Fs=3
f = 0.1; Q = pi/6; ar
g = 2*pi*f*n + Q;
x = A*sin(arg); stem(n,x);
axis([0 35 -2 2]);grid; title('正弦信号'); xlabel('时间'); ylabel('幅度'); axis;
截图如下:
4.复正弦序列
n j e n x ϖ=)(
在MATLAB 中
)
**exp(1
:0n w j x N n =-=
程序代码为:
N=36 w=pi/6;
c = w*i; a = 1; n = 0:N-1;
x = a*exp(c*n); subplot(2,1,1); stem(n,real(x)); xlabel('时间');
ylabel('幅度');title('复正弦序列实部'); subplot(2,1,2); stem(n,imag(x)); xlabel('时间');
ylabel('幅度');title('复正弦序列虚部');
截图如下:
5.指数序列
n a n x =)(
在MATLAB 中
n
a x N n .^1
:0=-=
程序代码为:
n = 0:35; a = 1.2; K = 1;
x = K*a.^n; stem(n,x);
xlabel('时间'); ylabel('幅度'); title('指数序列');
截图如下:
实验内容:编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 实验要求:讨论复指数序列的性质。
复指数序列的公式为:
所以由复指数序列的公式可得到以下性质:
1.当σ=0时,它的实部和虚部都是正弦序列。
2.当|σ|>1时,它的实部和虚部都是指数增长的正弦序列。
3.当|σ|﹤1时,它的实部和虚部都是指数衰减的正弦序列。
实验2 离散系统的差分方程、冲激响应和卷积分析
实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
实验原理:离散系统
)sin (cos )()(00)(0n j n e e e e n x e n x n n
j n j n j o ωωσωσϕ
ωσ+=⋅===+
其输入、输出关系可用以下差分方程描述:
∑=∑=-=
-M k k N
k k k n x p k n y d 0
][][
输入信号分解为冲激信号,∑-=
∞
-∞
=m m n m x n x ][][][δ。记系统单位冲激响应
][][n h n →δ,则系统响应为如下的卷积计算式:
∑∞
-∞
=-=
*=m m n h m x n h n x n y ][][][][][
当
N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M])
,称系统为FIR 系统;反之,称系统为IIR 系统。
在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。
实验内容:编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
[]0.6[1]0.08[2][][1]y n y n y n x n x n +-+-=--
[]0.2{[1][2][3][4][5][6]}y n x n x n x n x n x n x n =-+-+-+-+-+-
实验要求:给出理论计算结果和程序计算结果并讨论。
1、程序的代码为:
a=[1,0.6,0.08]; b=[1,-1,0]; N=16; n=0:N-1; x1=[n==0];
y1=filter(b,a,x1); x2=[n>=0];
y2=filter(b,a,x2);
subplot(2,1,1),stem(n,y1); title('系统单位冲击响应'); subplot(2,1,2),stem(n,y2); title('系统单位阶跃响应');
截图如下: