绪论
绪 论
随着电子技术迅速地向数字化发展,《数字信号处理》越来越成为广大理工科,特别是IT领域的学生和技术人员的必修内容。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。数字信号处理的理论和技术一出现就受到人们的极大关注,发展非常迅速。而且随着各种电子技术及计算机技术的飞速发展,数字信号处理的理论和技术还在不断丰富和完善,新的理论和技术层出不穷。目前数字信号处理已广泛地应用在语音、雷达、声纳、地震、图象、通信、控制、生物医学、遥感遥测、地质勘探、航空航天、故障检测、自动化仪表等领域。
数字信号处理是一门理论和实践、原理和应用结合紧密的课程,由于信号处理涉及大量的运算,可以说离开了计算机及相应的软件,就不可能解决任何稍微复杂的实际应用问题。Matlab是1984年美国Math Works公司的产品,MATLAB语言具备高效、可视化及推理能力强等特点,它的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础,是目前工程界流行最广的科学计算语言。早在20世纪90年代中期,MATLAB就己成为国际公认的信号处理的标准软件和开发平台。从1996年后,美国新出版的信号处理教材就没有一本是不用MATLAB的。
本实验指导书结合数字信号处理的基本理论和基本内容,用科学计算语言MATLAB实现数字信号处理的方法和实践, 通过实验用所学理论来分析解释程序的运行结果,进一步验证、理解和巩固学到的理论知识,从而达到掌握数字信号处理的基本原理和方法的目的。
1
实验一 常见离散信号的MATLAB产生和图形显示
实验一 常见离散信号的MATLAB产生和图形显示
一、实验目的
1. 学会用MATLAB在时域中产生一些基本的离散时间信号。 2. 了解信号的各种运算。
二、实验原理
(一)、序列的产生
由于MATLAB数值计算的特点,用它来分析离散时间信号与系统是很方便的。离散信号是数字信号处理的最基础的内容,由于内存有限,MATLAB无法表示无限序列。在MATLAB中,可以用一个列向量来表示一个有限长度的序列,但是这种表示方法没有包含采样位置的信息,要完全表示x(n),要用x 和n 两个向量,例如
x(n)={2,1,0,2,3,-1,2,3} ↑ 在MATLAB中表示为
n=[-4,-3,-2,-1,0,1,2,3]; x=[2,1,0,2,3,-1,2,3];
当序列从n=0开始,则不需要采样位置信息,这时可以只用x 来表示
1. 单位抽样序列
?(n)??
?1?0n?0 n?0在MATLAB中可以利用zeros()函数实现。
x?zeros(1,N);
x(1)?1;如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:
?(n?k)??
?1?0n?kn?0
2.单位阶跃序列
2
实验一 常见离散信号的MATLAB产生和图形显示
n?0?1 u(n)?
n?0?0在MATLAB中可以利用ones()函数实现。
x?ones(1,N)
3.正弦序列
x(n)?Asin(2?fn/Fs??)
在MATLAB中
n?0:N?1
x?A*sin(2*pi*f*n/Fs?fai)4.复正弦序列
x(n)?ej?n
在MATLAB中
n?0:N?1
x?exp(j*w*n)5.指数序列
x(n)?an
在MATLAB中
n?0:N?1
x?a.^n(二)、简单运算 1.信号加
x(n)?x1(n)?x2(n) 在MATLAB中
x=x1+x2
注意:x1和x2应该具有相同的长度,位置对应,才能相加。否则,需要先通过Zeros函数左右补零后再相加。
2.信号延迟
3
实验一 常见离散信号的MATLAB产生和图形显示
给定离散信号x(n),若信号y(n)为 y(n)= x(n-k)
那么y(n)就是信号x(n)在时间轴上右移k个采样周期后得到的新的序列。 在MATLAB中
y(n)= x(n-k) 3.信号乘
x(n)?x1(n)?x2(n)
在MATLAB中
x?x1.?x2
这是信号的点乘运算,所以同样需要信号加需要的x1和x2二者的长度要相等这一前提条件。
4.信号变化幅度
y(n)= k×x(n) 在MATLAB中
y?k?x
5.信号翻转
y(n)= x(-n)
在MATLAB中
y=fliplr(x)
三、实验内容与步骤
1. 产生一个单位样本序列x1(n),起点为ns= -10, 终点为nf=20, 在n0=0时有一单位脉冲并显示它。修改程序,以产生带有延时11个样本的延迟单位样本序列x2(n)= x1(n-11),并显示它。
2.已知 c= -(1/12)+(pi/6)*i;产生一个复数值的指数序列x2(n)=2*exp(c*n),起点为ns= 0, 终点为nf=40;并显示它。
3.产生一个正弦序列x3(n) =1.5*cos(2*pi*f*n); 起点为ns= 0, 终点为nf=40;并显示它。
4.复杂信号的产生:复杂的信号可以通过在简单信号上执行基本的运算来产生 试产生一个振幅调制信号
y(n)?(1?m?cos(2?fLn))?cos(2?fHn)?(1?0.4?cos(2??0.01n))?cos(2??0.1n)
4