数字信号处理实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字信号处理》

—实验指导

数字信号处理课程组

电子与信息工程学院

班级:

姓名:

学号:

综合评定:

成绩:

指导教师签字:

实验一 典型离散信号及其MATLAB 实现

一、实验目的

1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。 2. 掌握MATLAB 产生常用离散时间信号的编程方法。 3. 掌握MATLAB 计算卷积的方法。

二、实验原理

(一)MATLAB 常用离散时间信号

1. 单位抽样序列:⎩

⎨⎧=01)(n δ 00

≠=n n

在MATLAB 中可以利用zeros()函数实现。

;

1)1();,1(==x N zeros x

如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩

⎨⎧=-01)(k n δ 0≠=n k

n

2.单位阶跃序列:⎩⎨⎧0

1

)(n u

<≥n n 在MATLAB 中可以利用ones()函数实现。);,1(N ones x =

3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x

在MATLAB 中:

)

/***2sin(*1

:0fai Fs n f pi A x N n +=-=

4.复正弦序列:n j e n x ϖ=)(

在MATLAB 中:

)

**ex p(1

:0n w j x N n =-=

5.指数序列:n

a n x =)(

在MATLAB 中:

n

a x N n .^1

:0=-=

6.y=fliplr(x)——信号的翻转; y=square(x)——产生方波信号

y=sawtooth(x)——产生锯齿波信号; y=sinc(x)——产生sinc 函数信号。 (二)离散时间信号的卷积

由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。离散时间信号的卷积定义为

∑∞

-∞

=-=

=m m n h m x n h n x n y )()()(*)()(

可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。

MATLAB 求离散时间信号卷积和的命令为conv ,其语句格式为

y=conv(x,h)

其中,x 与h 表示离散时间信号值的向量;y 为卷积结果。用MA TLAB 进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。

三、实验内容

(一) 离散信号的产生

离散信号的图形显示使用stem 指令。 编写MATLAB 程序,产生下列典型脉冲序列。

(1) 单位脉冲序列:起点n0,终点nf ,在ns 处有一单位脉冲。

(2) 单位阶跃序列:起点n0,终点nf ,在ns 前为0,在ns 处及以后均为

1(n0<=ns<=nf)。 n0=0;nf=10;ns=3;

n2=n0:nf;x2=[(n2-ns)>=0]; %单位阶跃序列

(3) 实指数序列:n

x )75.0(3= (4) 复指数序列:n j e x )7.02.0(4+-=

参考答案: n0=0;nf=10;ns=3;

n1=n0:nf;x1=[(n1-ns)==0]; %单位脉冲序列

n3=n0:nf;x3=(0.75).^n3; %实指数序列

n4=n0:nf;x4=exp((-0.2+0.7j)*n4); %复指数序列

subplot(2,2,1),stem(n1,x1);

subplot(2,2,2),stem(n2,x2);

subplot(2,2,3),stem(n3,x3);

figure

subplot(2,2,1),stem(n4,real(x4));

subplot(2,2,2),stem(n4,imag(x4));

subplot(2,2,3),stem(n4,abs(x4));

subplot(2,2,4),stem(n4,angle(x4));

(二)离散时间信号的卷积

用MATLAB编写卷积运算函数。

function [y,ny]=conv_improve(x,nx,h,nh)

%[x,nx]为第一个信号

%[h,nh]为第二个信号

%conv(x,h)可以实现两个有限长度序列的卷积

ny1=nx(1)+nh(1);

ny2=nx(length(x))+nh(length(h));

ny=[ny1:ny2];

y=conv(x,h);

在命令窗口调用卷积函数。x=[3 4 0 -2 2 3 5]; nx=[-3:3]; h=[1 4 5 6 0 1]; nh=[N:N+5];

N是你的学号最后两位,带入后求结果。

结果为:

四、实验分析

观察实验结果,掌握、分析典型的离散时间信号,分析卷积运算。

五、实验总结

总结实验认识、过程、效果、问题、收获、体会、意见和建议。

实验二离散时间信号和系统以及z变换和z逆变换分析

一、实验目的

1.掌握计算线性时不变系统的冲激响应的方法。

2.理解时域采样的概念及方法。

3.掌握离散时间信号的z变换和z逆变换分析

4.了解离散时间傅里叶变换(DTFT)

二、实验原理

(一)信号采样

采样就是利用周期性抽样脉冲序列p T(t),从连续信号x a(t)中抽取一系列的离散值,得到抽样信号(或称抽样数据信号)即离散时间信号。

(二)线性时不变离散时间系统

线性系统:满足线性叠加原理的系统。若y1(n)和y2(n)分别是输入序列x1(n)和x2(n)的响应,则输入x(n)=ax1(n)+bx2(n)的输出响应为y(n)=ay1(n)+by2(n)。

时不变系统:即系统参数不随时间变化的系统,亦即系统对于输入信号的响应与信号加于系统的时间无关。即满足:若y(n)是x(n)的响应,则y(n-m)是输入x(n-m)的响应,其中m是任意整数。

数字滤波器对单位样本序列()n

δ的响应称为冲激响应,用h(n)表示。线性时不变离散

系统对输入信号x(n)的响应y(n)可用h(n)来表示:∑∞

-∞

=-

=

k

k

n

x

k

h

n

y)

(

)

(

)

(。(三)z变换和逆z变换

序列()n x的z变换定义为:

()()

∑∞

-∞

=-

=

n

n

z n

x

z

X

其中,z是复变量。相应地,单边z变换定义为:

()()

∑∞

=-

=

n

n

z n

x

z

X

MATLAB提供了计算离散时间信号单边z变换的函数ztrans和z反变换函数iztrans:Z=ztrans(x),x=iztrans(z)。上式中的x和Z分别为时域表达式和z域表达式的符号表示,可

相关文档
最新文档