数字信号处理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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域表达式的符号表示,可