基于MATLAB的连续时间系统的频域分析.docx
《基于MATLAB的连续时间系统的频域分析.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的连续时间系统的频域分析.docx(21页珍藏版)》请在冰豆网上搜索。
基于MATLAB的连续时间系统的频域分析
基于MATLAB的连续时间系统的频域分析
课题要求:
深入研究连续时间信号和系统时域分析的理论知识。
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间系统频域分析。
课题内容:
一、利用MATLAB分析系统的频率特性。
1、低通滤波器时域冲激响应波形、频域内幅频特性、相频特性。
2、高通滤波器时域冲激响应波形、频域内幅频特性、相频特性。
3、带通滤波器时域冲激响应波形、频域内幅频特性、相频特性。
4、全通滤波器时域冲激响应波形、频域内幅频特性、相频特性。
各以一实例说明。
二、用MATLAB实现连续时间信号的采样及重构
以f(t)=Sa(t)为例,分别以过采样、等采样、欠采样三种情况,
绘出原信号、采样信号、重构信号的时域波形图。
时间安排:
1、2013年1月14日至2013年1月23日,完成课程设计及报告。
2、2013年1月14日,答辩。
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
2.1MATLAB概述……………………………………………………………………2
2.2MATLAB的特点………………………………………………………2
2.3MATLAB的主要功能及应用…………………………………………………2
3设计思路………………………………………………………………………………4
3.1奈奎斯特抽样定理…………………………………………………………………4
3.2实现连续时间信号…………………………………………………………………4
3.3总体设计思路……………………………………………………………………………4
4课题设计内容……………………………………………………………………………5
4.1利用MATLAB分析系统的频率特性…………………………………….5
4.1.1低通滤波器的频率特性……………………………………………………..5
4.1.2高通滤波器的频率特性...............................................................6
4.1.3全通滤波器的频率特性……………………………………………………6
4.1.4带通滤波器的频率特性……………………………………………………7
4.2MATLAB实现连续时间信号采样及重构……………………………………………8
4.2.1过采样…………………………………………………………………8
4.2.2等采样…………………………………………………………………9
4.2.3欠采样………………………………………………………………..10
5课程设计总结……………………………………………………………………………12
参考文献…………………………………………………………………………………….13
附录…………………………………………………………………………………….14
摘要
MATLAB是当今最优秀的科技应用软件之一,具有强大的科学计算与可视化功能、简单易用、开放式可扩展环境。
本文主要利用MATLAB分析了系统的频率特性,分别分析了基于连续时间系统的低通滤波器、高通滤波器、全通滤波器、带通滤波器的频域特性,并依次做出了它们的时域冲激响应波形、频域内幅频特性波形、相频特性波形。
利用连续信号在等时间间隔的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。
关键词:
MATLAB、时间系统、滤波器、波形、连续信号
Abstract
MATLABistoday'sbesttechnologyapplications,withastrongscientificcomputingandvisualizationcapabilities,easy-to-use,openandscalableenvironment.ThepapermainlyusingMATLABanalysisofthefrequencycharacteristicofthesystem,respectively,ofthelow-passfilterbasedonthecontinuous-timesystem,thehigh-passfilter,theall-passfilter,thefrequencydomaincharacteristicsofthebandpassfilter,andsequentiallymadetheirtimedomainimpulseresponsewaveform,frequencydomainamplitude-frequencycharacteristicwaveformphasefrequencycharacteristicwaveform.Usingacontinuoussignalinthesampledvaluesofequaltimeintervalstoapproximateacontinuoussignal,i.e.,whenthesamplingtimeintervalissufficientlysmall,thesediscretesamplevaluescanbeMATLABprocessing,andcanbetterapproximaterepresentationofthecontinuoussignal.
Keywords:
MATLAB,timesystems,filters,waveform,continuoussignalntinuoussignal.
1绪论
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
为了得到更高精度,更高稳定性的信号,就采用了数字信号,这时就需要把模拟信号经采样变为离散时间信号,在离散系统中,信号要用序列来表示。
通信系统的信源有两大类:
模拟信号和数字信号。
若输入是模拟信号,则在数字通信系统的信源编码部分需对输入模拟信号进行数字化,或称为“模/数”变换,将模拟输入信号变为数字信号。
MATLAB是一种功能十分强大,运算效率很高的数字工具软件,几乎可以解决科学计算中的任何问题。
矩阵和数组是MATLAB的核心,因为MATLAB中的所有数据都是艺术组来表示和存储的。
除了常用的矩阵代数运算值外,MATLAB还提供非常广泛和灵活的方式处理数据集的数组运算功能,另外MATLAB还具有一种与其他高级语言相似的编程特性。
在图形可视化方面,MATLAB提供了图形用户界面,是得用户可进行可视化编程。
因此,MATLAB就把数据结构、编程特性以及图形用户界面完美的结合到一起。
正是由于MATLAB在数值计算及符号计算等方面的强大功能,使MATLAB一路领先,成为数学类科技应用软件中的佼佼者。
目前,MATLAB已成为国际上公认的最优秀的科技应用软件。
MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。
2MATLAB软件简介
2.1MATLAB概述
MATLABCompiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件、COM组件等等,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言例如C/C++语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。
利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。
这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。
目前MATLAB产品的工具箱有四十多个,分别涵盖了数据采集、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。
2.2MATLAB的特点
1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2)具有完备的图形处理功能,实现计算结果和编程的可视化;
3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
2.3MATLAB的主要功能及应用
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
3设计思路
3.1奈奎斯特抽样定理
对于一个有限频宽(最高频率为
或
)信号进行理想抽样,当抽样
(
)时,抽样值唯一确定;当此抽样信号通过截止频率
(
)的理想低通滤波器后,原始信号可以完全重建。
通常把最低允许的抽样频率2
称为奈奎斯特频率,把最大允许的采样间隔
称为奈奎斯特间隔。
3.2实现连续时间信号
连续时间信号是指时间自变量t和表示信号的函数值x都是连续变化的信号。
时间是连续的,幅值可以是连续的也可以是离散化的。
MATLAB无法处理连续时间信号,然而,可利用连续信号在等时间间隔的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。
3.3总体设计思路
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间系统频域分析。
其中分析系统的频率特性时用到了y=abs()、y=angle()、h=freqs(b,a,w)等函数,它们分别表示求幅值函数、求相位函数、求连续时间系统的复频域响应函数。
实现连续时间信号的采样及重构时把采样分为了过采样、等采样、欠采样三种情况,分别做它们的原信号、采样信号、重构信号的时域波形图,其中用到
、以及抽样信号重构的命令语句
等函数。
MATLAB中的抽样函数
即
。
4课题设计内容
4.1利用MATLAB分析系统的频率特性
4.1.1低通滤波器的频率特性
低通滤波器模型:
---------------
(1)
取k=60,b=8,c=60,在MATLAB中编程后可得图4.1.1
图4.1.1低通滤波器时域冲激响应波形、频域内幅频特性、相频特性
对于低通滤波器,从图4.1.1幅度-角频率(w)曲线可以看出,当角频率较低时幅度较大,在1左右,符合低通滤波器的特点。
而从相位-角频率(w)曲线可以看出,其相频特性为随着w的增加而减小并逐渐趋近于-
。
4.1.2高通滤波器的频率特性
高通滤波器模型:
--------------
(2)
取k=1,b=100,c=10000,在MATLAB中编程后可得图4.1.2
图4.1.2高通滤波器时域冲激响应波形、频域内幅频特性、相频特性
对于高通滤波器,从图4.1.2幅度-角频率(w)曲线可以看出,当角频率较高时幅度较大,在1左右,符合低通滤波器的特点。
而从相位-角频率(w)曲线可以看出,其相频特性为随着w的增加而减小并逐渐趋近于0。
4.1.3全通滤波器的频率特性
全通滤波器模型:
---------------------------------------------------------------(3)
取
=4,在MATLAB中编程后可得图4.1.3
图4.1.3全通滤波器时域冲激响应波形、频域内幅频特性、相频特性
从图4.1.3幅度-角频率(w)曲线可以看出,全通滤波器H(jw)的幅频特性是一条数值为1的水平线,即对输入信号的各频率分量都进行等值传输,符合全通滤波器的特点。
而从相位-角频率(w)曲线可以看出,其相频特性为随着w的增加而减小并逐渐趋近于-
。
全通滤波器被用于相位校正,因此全通滤波器也(不准确的)被称为延迟均衡器。
4.1.4带通滤波器的频率特性
带通滤波器模型:
----------------------------------------------------------(4)
取
=10,b=20,
=10,
=100,在MATLAB中编程后可得图5.1.4
图4.1.4带通滤波器时域冲激响应波形、频域内幅频特性、相频特性
从图4.1.4幅度-角频率(w)曲线可以看出,在0而从相位-角频率(w)曲线可以看出,其相频特性为随着w的增加而减小并逐渐趋近于-
/2。
4.2MATLAB实现连续时间信号的采样及重构
信号的重构是指从采样的信号中复原被测信号。
从理论上讲,只要采样信号的频谱不发生混叠,被测信号可以从某一频谱中不失真地复原。
在程序编写过程中需要抽样信号重构的命令语句
。
4.2.1过采样
过采样是用远大于奈奎斯特抽样频率的频率对输入信号进行采样。
对于
,它的带宽
=1,由时域采样定理知采样间隔
,取
,符合过采样远大于奈奎斯特抽样频率的频率的条件。
在MATLAB中编程后可得图4.2.1
图4.2.1过采样原信号、采样信号、重构信号的时域波形图
4.2.2等采样
由采样定理知
的采样间隔
,取
=
,即为等采样。
取
,符合等采样条件。
在MATLAB中编程后可得图4.2.2
图4.2.2等采样原信号、采样信号、重构信号的时域波形图
4.2.3欠采样
欠采样是在测试设备带宽能力不足的情况下,采取的一种手段,相当于增大了测试设备的带宽,从而达到可以采样更高频率信号的能力。
根据采样理论,对复杂信号(由数种不同频率的分量信号组成)进行采样时,如果采样时钟频率不到信号中最大频率的两倍,则会出现一种称为“混叠”的现象。
当采样时钟频率足够低时,则导致一种称为“欠采样”的混叠。
一个带宽为fb的模拟信号,采样速率必须为fs>2fb,才能避免信息的损失。
实际所需最小采样频率是信号带宽的函数,而不仅取决于它的最大频率成份。
通常来说,采样频率至少必须是信号带宽的两倍,并且被采样的信号不能是fs/2的整数倍,以防止混叠成份的相互重叠。
欠采样的信号频率(大于fs/2),由采样定理知
的采样间隔
,取
=2
,即为欠采样。
在MATLAB中编程后可得图4.2.3
图4.2.3欠采样原信号、采样信号、重构信号的时域波形图
5课程设计总结
通过这次课程设计,我基本掌握了MATLAB的连续时间系统的频域分析,在这两周的时间内不断摸索这款软件,让我对它的功能有了更深的了解。
在正式开始做这个课题之前我在图书馆以及网上查阅了大量的资料,首先熟悉了MATLAB这款软件的使用,在之前的信号与系统试验中已经接触过这款软件的使用,所以用起来还算比较顺手。
然后了解了低通滤波器、高通滤波器、全通滤波器、带通滤波器的定义及原理,我在编程方面比较薄弱,对于时域冲激响应波形、频域内幅频特性、相频特性如何在程序中实现,需要用到一些特定的函数并有固定的调用格式,首先要新建一个空白M文件,在该文件中编完程序后再复制到运行界面,波形图会自动跳出来。
在编程的过程中我也借鉴了网上的某些程序,最后完成了七个程序的编写。
在课设的过程中并不是那么一帆风顺,一开始有些原理性的问题不是很清晰,但后来通过查资料以及请教其他同学还是弄明白了。
通过这次MATLAB课设,我编写这类程序的能力也得到了提高,但还是有很多的不足,原因在于平时的练习不够,而MATLAB的学习注重实际练习,练习多了便有了经验,经验积累多了便有了感觉,有了感觉便学会了MATLAB。
所以在以后的学习中我定会从实际出发,加强练习。
参考文献
[1]赵静,张瑾,高新科.基于MATLAB的通信系统仿真.北京:
北京航空航天大学出版社,2007
[2]刘泉,姜雪梅.信号与系统.北京:
高等教育出版社,2006
[3]唐向宏,岳恒立,邓雪峰.MATLAB及在电子信息类课程中的应用.北京:
电子工业出版社,2006
[4]蒙以正.MATLAB5.X应用与技巧.北京:
科学出版社,1999
[5]曹志刚,钱亚生.现代通信原理.清华大学出版社,1992
[6]吴伟陵,续大我,庞沁华.通信原理.北京邮电大学出版社,2005
附录
1、低通滤波器时域冲激响应波形、频域内幅频特性、相频特性程序
b=[60];a=[1,8,60];
subplot(2,2,1);impulse(b,a);w=0:
100;
axis([0,5,-2,6]);
h=freqs(b,a,w);
subplot(2,2,2);plot(w,abs(h));grid;xlabel('角频率(w)');ylabel('幅度')
subplot(2,2,3);plot(w,angle(h)/pi*180);grid;xlabel('角频率(w)');ylabel('相位')
2、高通滤波器时域冲激响应波形、频域内幅频特性、相频特性程序
b=[1,0,0];a=[1,100,10000];
subplot(2,2,1);impulse(b,a);w=0:
1000;
axis([0,100,-10,2]);
h=freqs(b,a,w);
subplot(2,2,2);plot(w,abs(h));grid;xlabel('角频率(w)');ylabel('幅度')
subplot(2,2,3);plot(w,angle(h)/pi*180);grid;xlabel('角频率(w)');ylabel('相位')
3、全通滤波器时域冲激响应波形、频域内幅频特性、相频特性程序
b=[-1,4];a=[1,4];
subplot(2,2,1);impulse(b,a);w=0:
100;
axis([0,50,0,1.5]);
[h,w]=freqs(b,a,100);
h1=abs(h);
h2=angle(h);
subplot(2,2,2);
plot(w,h1);
grid
axis([0,100,0,1.5])
xlabel('角频率(w)');ylabel('幅度');
subplot(2,2,3);
plot(w,h2*180/pi);
grid
xlabel('角频率(w)');ylabel('相位(度)');
4、带通滤波器时域冲激响应波形、频域内幅频特性、相频特性程序
b=[10,20];a=[1,10,100];
subplot(2,2,1);impulse(b,a);w=0:
100;
axis([0,10,-20,50]);
h=freqs(b,a,w);
subplot(2,2,2);plot(w,abs(h));grid;xlabel('角频率(w)');ylabel('幅度')
subplot(2,2,3);plot(w,angle(h)/pi*180);grid;xlabel('角频率(w)');ylabel('相位')
5、过采样原信号、采样信号、重构信号的时域波形图程序
t=-15:
0.001:
15;
f=sin(t)./t;
subplot(2,2,1);
plot(t,f);
xlabel('t');ylabel('f(t)');
title('f(t)的过采样原信号');
grid
wm=1;wc=wm;
Ts=0.02*pi./wm;
n=-100:
100;
nTs=n*Ts
f=sinc(nTs/pi);
t=-15:
0.005:
15;
f1=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
t1=-15:
0.5:
15;
f2=sinc(t1/pi);
subplot(2,2,2);
stem(t1,f2);
xlabel('kTs');ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的过采样采样信号');
subplot(2,2,3);
plot(t,fa)
xlabel('t');ylabel('f1(t)');
title('sa(t)=sinc(t/pi)的过采样重构信号');
grid;
6、等采样原信号、采样信号、重构信号的时域波形图程序
t=-15:
0.001:
15;
f=sin(t)./t;
subplot(2,2,1);
plot(t,f);
xlabel('t');ylabel('f(t)');
title('f(t)=sin(t)/t的等采样信号');
grid
wm=1;wc=wm;
Ts=1*pi./wm;
n=-100:
100;
nTs=n*Ts
f=sinc(nTs/pi);
t=-15:
0.005:
15;
f1=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
t1=-15:
0.5:
15;
f2=sinc(t1/pi);
subplot(2,2,2);
stem(t1,f2);
xlabel('kTs');ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的等采样信号');
subplot(2,2,3);
plot(t,f1)
xlabel('t');ylabel('fa(t)');
title('sa(t)=sinc(t/pi)的等采样重构信号');
grid;
7、欠采样原信号、采样信号、重构信号的时域波形图程序
t=-15:
0.001:
15;
f=sin(t)./t;
subplot(2,2,1);
plot