DSP实验报告 - 图文 下载本文

内容发布更新时间 : 2024/12/25 23:40:37星期一 下面是文章的全部内容请认真阅读。

实验一 离散系统的时域分析

一、实验目的

1、掌握离散时间信号的MATLAB表示; 2、信号运算;

3、差分方程的求解;

4、离散时间信号的卷积运算。

二、实验原理

1、离散时间信号

离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n取整数代表时间的离散时刻。

在matlab中用向量来表示一个有限长度的序列。

2、序列的类型

为了分析的方便,在数字信号处理中规定了一些基本的序列。 a) 单位采样序列 ?1????n?0?(n)??

?0????n?0

?1????n?n0 ?(n?n0)??0????n?n0

function [x,n]=impseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)==0];

调用该函数

[x,n]=impseq(-2,8,2); stem(n,x)

单位采样序列的另一种生成方法

n0=-2; n=[-10:10]; nc=length(n); x=zeros(1,nc); for i=1:nc if n(i)==n0 x(i)=1 end end stem(n,x)

b) 单位阶跃序列

?1????n??0 ?(n)???0????n?0

?1????n??n0?(n?n0)? 0????n?nfunction [x,n]=stepseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)>=0];

?0调用该函数

[x,n]=stepseq(-2,8,2); stem(n,x)

c) 实数指数序列

x(n)=an (运算符“.^”)

n=[0:10]; x=0.9.^n; stem(n,x)

d) 复数指数序列 x(n)?e(??j?)n x(n)?e(?0.1?j0.3)n????(?10?n?10)

n=[-10:10]; alpha=-0.1+0.3*j; x=exp(alpha*n);

real_x=real(x); image_x=imag(x); mag_x=abs(x); phase_x=angle(x); subplot(2,2,1); stem(n,real_x) subplot(2,2,2); stem(n,image_x) subplot(2,2,3); stem(n,mag_x) subplot(2,2,4); stem(n,phase_x)

e) 正弦和余弦序列 x(n)?sin(?0n??)n=[0:10]; stem(n,x)

x=3*cos(0.1*pi*n+pi/3);

x(n)?cos(?0n??)

f)

随机序列

rand(1,N)产生其元素在[0,1]之间均匀分布长度为N的随机序列。 randn(1,N)产生均值为0,方差为1,长度为N的高斯随机序列。 a) b) c) d) e) f)

信号时移 信号倒置 信号加 信号乘 信号微分 信号积分等

3、信号运算