郑州轻工业学院
课程设计说明书
题目: 基于MATLAB的离散时间信号的时域分析
姓 名: 院 (系): 电气信息工程学 专业班级: 电子信息工程 学 号:
指导教师:
成 绩:
时间: 年 月 日至 年 月 日
I
郑州轻工业学院 课 程 设 计 任 务 书
题目 基于MATLAB的离散时间信号的时域分析 专业、班级 电子信息工程 学号 姓名 主要内容、基本要求、主要参考资料等: 主要内容:
利用MATLAB的图形处理功能、符号运算功能和数值计算功能,实现对常见的离散时间信号的时域分析,包括对常见信号的时域表示和信号常见的时域运算。
基本要求:
1、利用MATLAB绘制单位脉冲序列、单位阶跃序列、正弦序列、实指数序列、复指数序列和矩形序列等常见序列的时域波形。
2、利用MATLAB实现序列的常见运算,包括相加、相乘、数乘、时移、翻转、抽取和内插等,并绘制相应的时域波形。
主要参考资料:
1、《数字信号处理教程(第三版)》,程佩青著,清华大学出版社,2007。
2、《数字信号处理教程——MATLAB释义与实现(第2版)》,陈怀琛著,电子工业出版社,2008。
3、《MATLAB及在电子信息课程中的应用(第4版)》,陈怀琛等著,电子工业出版社,2013。
完 成 期 限: 2014.06.09~2014.06.13
指导教师签名: 课程负责人签名:
2014年 6月6日
II
目录
摘要 ............................................................................................................................ I 1MATLAB简介 ............................................................................................................ 2 2常用连续时间信号的时域波形 ............................................................................ 3
2.1单位冲激信号 .................................................................................................................... 3 2.2单位阶跃信号 .................................................................................................................... 4 2.3正弦信号 ............................................................................................................................ 4 2.4实指数信号 ........................................................................................................................ 5 2.5复指数信号 ........................................................................................................................ 6 2.6抽样信号 ............................................................................................................................ 7
3 信号常见的的时域运算 ....................................................................................... 8
3.1相加 ................................................................................................................................... 8 3.2相乘 ................................................................................................................................... 8 3.3数乘 ................................................................................................................................... 9 3.4时移 .................................................................................................................................. 10 3.5翻转 .................................................................................................................................. 10 3.6尺度变换 .......................................................................................................................... 11
致谢 ......................................................................................................................... 13 参考文献 ................................................................................................................. 14
III
摘 要
随着信息技术的不断发展和信息技术应用领域的不断扩展信号与系统课程已经从电子信息工程类专业的专业基础课程扩展成电子信息、自动控制、电子技术、电气工程、计算机技术、生物医学工程等众多电类专业的专业基础课程。
本次课程设计则在深入研究连续时间信号傅里叶级数分析理论知识的基础上,利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,通过MATLAB编程进行图形功能仿真,从而实现连续时间周期信号频域分析的仿真波形,包括以下内容:利用MATLAB绘制单位冲激信号、单位阶跃信号、正弦信号、实指数信号、复指数信号和抽样信号等常见信号的时域波形;用MATLAB实现信号的常见运算,包括相加、相乘时移、翻转、尺度变换等,并绘制相应的时域波形。
MATLAB凭借其数值计算与图形可视化功能的完美结合以及开放的设计理念在信号的分析与处理上具有重要的作用和意义。
本文首先叙述了MATLAB在电子信息工程专业中的应用MATLAB语言的使用然后分章叙述《信号与系统》课程中涉及到的常见连续时间信号及信号的时域频域分析并讲述如何使用MATLAB软件编写这些函数再通过修改参数生成曲线进而分析参数变化对各类信号曲线的影响。
关键词:连续时间信号和系统;时域分析;MATLAB
I
1MATLAB简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB应用非常之广泛。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
目前,MATLAB已经成为国际上最流行的电子仿真计算机辅助设计的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室(Matrix Laboratory)”,它已经成为一种实用的、全新的计算机高级语言。
正是由于 MATLAB 在数值计算及符号计算等方面的强大功能,使MATLAB一路领先,成为数学类科技应用软件中的佼佼者。目前,MATLAB 已成为国际上公认的最优秀的科技应用软件。MATLAB 的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。
2
2常用连续时间信号的时域波形
2.1单位冲激信号
在连续时间系统中,单位冲激是一种重要的信号。任何一种模拟信号都能通过冲激给予近似,通过系统对冲激输入的响应可以求的所有其他输入信号的响应。
单位冲激信号错误!未找到引用源。(t)也称为狄拉克(Dirac)分布,定义如下:
第一个条件表明错误!未找到引用源。在所有t不为0是取值为0,第二个条件是冲击下的面积为1,因此错误!未找到引用源。信号具有单位面积的特性。
特别需要指出的是,错误!未找到引用源。在t=0点的值错误!未找到引用源。是没有定义的,错误!未找到引用源。并不等于无穷。冲激信号错误!未找到引用源。可以近似地用一个位于原点、幅度为A、持续时间为1/A的脉冲来表示,这里A是一个很大的正值。
t=1/A=1/50,单位脉冲错误!未找到引用源。的Matlab实现程序:
clc;
t = -3:0.01:3; y = (t==0); plot(t,y);
其信号图如下:
10.90.80.70.60.50.40.30.20.10-3-2-10123
3
2.2单位阶跃信号
单位阶跃信号的定义如下:
单位阶跃信号的Matlab实现程序:
clc;
t=-1:0.001:3; t0=0;
u=stepfun(t,t0); plot(t,u);
axis([-1 3 -0.5 1.5])
其信号图如下:
1.510.50-0.5-1-0.500.511.522.53
2.3正弦信号
正弦信号和余弦信号二者仅在相位上相差π/2,经常统称为正弦信号,一般写作
或
或
幅度A=3,频率f=5,相移错误!未找到引用源。的正弦信号其Matlab实现程序:
4
clc;
t=-0.5:0.001:0.5; A=3; f=3; fai=1;
u=A*sin(2*pi*f*t+fai); plot(t,u)
axis([-0.5 0.5 -3.5 3.5])
其信号图如下:
3210-1-2-3-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5
2.4实指数信号
实指数信号可由下面的表达式来表示:
式中e是自然数2.718„,a和A是实数。若a>0,信号将随时间而增长,若a<0,信号将随时间而衰减,若a=0,信号不随时间而变化,成为直流信号。常数A表示指数信号在t=0点的初始值。
A=3,a=0.5的实指数信号错误!未找到引用源。的Matlab实现程序:
clc;
t=0:0.002:3; A=3; a=0.5;
u=A*exp(a*t); plot(t,u)
axis([-0.5 3.5 -0.5 14])
其信号图如下:
5
141210820-0.500.511.522.533.5
2.5复指数信号
复指数信号可由下面的表达式来表示:
A=1,a=-1,错误!未找到引用源。的复指数信号错误!未找到引用源。的Matlab实现程序:
clc;
t=0:0.01:4; a=-1; A=1; b=10;
z=A*exp((a+i*b)*t);
subplot(2,2,1),plot(t,real(z)),title('实部') subplot(2,2,3),plot(t,imag(z)),title('虚部') subplot(2,2,2),plot(t,abs(z)),title('模') subplot(2,2,4),plot(t,angle(z)),title('相角')
其信号图如下:
实部10.500.4-0.5-10.2012虚部10.50-0.5-101234420-2-401234340012相角3410.80.6模
6
7
2.6抽样信号
抽样信号可由下面的表达式来表示:
nwtf(t)Sa()2
f(t)Sa()的Matlab实现程序: n=1,w=1的抽样信号 2nwtt3=-20:0.001:20;
x3=sinc(t3/2); x31=fft(x3); figure(1); plot(t3,x3); grid on;
其信号图如下:
10.80.60.40.20-0.2-0.4-20-15-10-505101520
8
3 信号常见的的时域运算
3.1相加
要实现两信号的相加,即f(t)=f1(t)+f2(t)
f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相加的实现程序:
clc;
t=-0.5:0.0001:2.5; t0=1;
u=stepfun(t,t0); y=sin(2*pi*t); f=y+u; plot(t,f)
axis([-0.5 2.5 -1.5 2.5])
其信号图如下:
2.521.510.50-0.5-1-1.5-0.500.511.522.5
3.2相乘
要实现两信号的相乘,即f(t)=f1(t)*f2(t)
f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相乘的实现程序:
clc;
t=0:0.0001:4; t0=1;
u=stepfun(t,t0); y=sin(3*pi*t);
9
f=u.*y; plot(t,f);
axis([0 4 -1.5 1.5]);
其信号图如下:
1.510.50-0.5-1-1.500.511.522.533.54
3.3数乘
要实现信号的数乘,即f(t)=A*f1(t)
A=2,f1(t)为单位阶跃信号,信号数乘的实现程序:
clc;
t=0:0.0001:5; a=2; t0=1;
u=stepfun(t,t0); f=a*u; plot(t,f);
axis([0 5 0 2.5]);
其信号图如下:
2.521.510.5000.511.522.533.544.55
10
3.4时移
实现连续时间信号的时移即f(t-t0)或者f(t+t0),常数t0>0。 正弦信号的时移实现程序:
clc;
t=0:0.0001:2; y=sin(2*pi*t);
y1=sin(2*pi*(t-0.2)); plot(t,y,'-',t,y1); axis([0 2 -1.5 1.5]);
其信号图如下:
1.510.50-0.5-1-1.500.20.40.60.811.21.41.61.82
3.5翻转
信号的翻转就是将信号的波形以某轴为对称轴翻转180︒,将信号f(t)中的自变量t替换成-t即可得到其翻转信号。 信号f(t)=t的翻转实现程序:
clc;
t=-1:0.2:1; f=t;
g=fliplr(f); h=flipud(f); subplot(311); plot(t,f);
axis([-1 1 -1 1]); title('原函数'); subplot(312);
11
plot(t,g);
axis([-1 1 -1 1]); title('左右翻转'); subplot(313); plot(t,h);
axis([-1 1 -1 1]); title('上下翻转');
其信号图如下:
原函数10-1-110-1-110-1-1-0.8-0.6-0.4-0.20左右翻转0.20.40.60.81-0.8-0.6-0.4-0.20上下翻转0.20.40.60.81-0.8-0.6-0.4-0.200.20.40.60.81
3.6尺度变换
将信号f(t)中的自变量t替换为at。
由于时间尺度的变换导致波形随时间变化的规律产生了变换,使听觉有了明显的差别,即前者尖锐,后者低沉。时间尺度变换在信号处理技术中经常遇到,它与幅度尺度变换有着明显的区别。信号的尺度变换实现程序:
clear all; t=0:0.001:1; a=2;
y=sin(2*pi*t); y1=sin(2*a*pi*t); subplot(211) plot(t,y); subplot(212) plot(t,y1);
其信号图如下:
12
10.50-0.5-100.10.20.30.40.50.60.70.80.9110.50-0.5-100.10.20.30.40.50.60.70.80.91
13
致谢
感谢学校给我们这次MATLAB课程设计的机会,不仅让我们更加学会了MATLAB的强大图形处理方法,掌握了MATLAB的编程技术,而且也锻炼了我们的动手能力。通过这次课设让我明白了理论联系实践的重要性,书本上的理论知识学了不少,我们必须得应用到实践当中,做到学以致用,这样我们才能有不断的创新。这次课程设计也感谢老师在设计过程中的辅导以及同学们的帮助。没有他们的帮助我不会那么快克服那些困难,也不会这么快学到这么多的知识。
14
参考文献
1、张文.基于MATLAB的语音信号滤波设计与实现[J].山西电子技术.2008,2
2、梁虹.信号与线性系统分析 基于MATLAB的方法与实现.北京;电子工业出版社,2006.5 3、陈后金.信号与系统.北京:高等教育出版社,2007,.12
4、孙祥,徐流美,吴清.MATLAB 7.0基础教程.北京:清华大学出版社,2006
15
课程设计成绩评定表
评定项目 内 容 满分 评分 总分 10 40 计情况 定的深度,分析解决问题的能力较强。 设计方案正确、表达清楚;设计思路、实验说明书质(论证)方法科学合理;达到课程设计任务40 量 书规定的要求;图、表、文字表达准确规范,上交及时。 回答问题回答问题准确,基本概念清楚,有理有据,10 情况 总成绩 有一定深度。 采用五级分制:优、良、中、及格、不及格 学习态度 学习认真,态度端正,遵守纪律。 答疑和设认真查阅资料,勤学好问,提出的问题有一指导教师评语: 签名: 年 月 日
16