连续信号与系统频域分析的MATLAB实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十三 连续信号与系统频域分析的MATLAB 实现
一、实验目的
1. 掌握连续时间信号频谱特性的MATLAB 分析方法;
2.掌握连续系统的频率响应MATLAB 分析方法方法。
二、实验原理
1. 连续时间信号的频谱---傅里叶变换
非周期信号的频谱密度可借助傅里叶变换作分析。傅里叶正变换和逆变换分别为:
Matlab 的符号运算工具箱(Symbolic Math Toolbox )提供了能直接求解傅里叶变换和逆变换的符号运算函数fourier()和ifourier()。两函数的调用格式如下。
(1)傅里叶变换
在Matlab 中,傅里变换变换由函数fourier()实现。fourier()有三种调用格式:
① F=fourier(f )
求时间函数f (t)的傅里叶变换,返回函数F 的自变量默认为w ,即)]([)(t f j F F =ω; ② F=fourier(f ,v )
求时间函数f (t)的傅里叶变换,返回函数F 的自变量为v ,即)]([)(t f jv F F =;
③ F=fourier(f ,u ,v )
对自变量为u 的函数f (u )求傅里叶变换,返回函数F 的自变量为v ,即)]([)(u f jv F F =。
(2)傅里叶逆变换
在Matlab 中,傅里变换逆变换由函数ifourier()实现。与函数fourier()相类似,ifourier()也有三种调用格式:
① f=ifourier(F )
求函数F (j)的傅里叶逆变换,返回函数f 的自变量默认为x ,即)]([)(1
ωj F x f -=F ; ② f=ifourier(F ,u )
求函数F (j)的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1ωj F u f -=F 。
③ f=ifourier(F ,v ,u )
求函数F (j v )的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1jv F u f -=F
由于fourier()和ifourier()是符号运算函数,因此,在调用fourier()和ifourier()之前,需用syms 命令对所用到的变量(如t ,u ,v ,w )作说明。举例如下。
例13-1.求单边指数函数)()(2t e t f t ε-=的傅里叶变换,画出其幅频特性和相频特性图。
解:编写如下M 文件,
syms t w f
f=exp(-2*t)*sym('Heaviside(t)');
F=fourier(f) subplot(3,1,1);ezplot(f,[0:2,0:]);
subplot(3,1,2);ezplot(abs(F),[-10:10]);
subplot(3,1,3);ezplot(angle(F),[-10:10])
运行后,可得如下的文本和如图13-1所示图形结果。
F = 1/(2+i*w) 上式相当于:ω
ωj j F +=21)( 要说明的是,相频特性图中,相位的单位为“弧度”。
例13-2.求211)(ω
ω+=j F 的傅里叶逆变换)(t f 。 解:编写如下M 文件, syms t w
F=1/(1+w^2);
f=ifourier(F,w,t)
ezplot(f)
运行后,可得如下的文本和如图13-2所示图形结果。
f=1/2*exp(-t)*Heaviside(t)+1/2*exp(t)*Heaviside(-t) 上式相当于:t t t e t e t e t f 2
1)(21)(21)(=-+=-εε 2. 连续系统的频域分析
线性时不变(LTI )系统如图13-3所示。若系统的冲激响应为)(t h ,频率响应为)]([)(t h j H F =ω,则激励)(t f 和响应)(t y 在时域和频域的关系如下:
图13-1
图13-2
)
()()()(*)()(ωωωj H j F j Y t h t f t y ⋅== 系统的频率响应函数为 其中,)(ωj H 为系统的幅频特性,反映了输出与输入信号幅度之比随输入信号角频率变化的规律;)(ωϕ为系统的相频特性,体现了输出与输入信号的相位差随输入信号角频率变化的规律。
若描述系统的微分方程为
由微分方程的系数构成向量:],,...,,[011a a a a a N N -=,],,...,,[011b b b b b M M -=。
系统的频率响应函数是一个非常重要的参数,Matlab 工具箱中提供了专门用于分析连续系统频率响应的freqs( )函数。利用freqs( )函数可求出系统频率响应的数值解,也可绘出其幅频特性和相频特性曲线。freqs( )函数的调用形式有如下四种。
(1)H =freqs(b,a, w1:dw:w2)
该调用方式,可求得指定频率范围(w1~w2)内相应频点处系统频率响应的样值。其中,w1、w2分别为频率起始值和终止值,dw 为频率取样间隔。
如,输入如下命令:
a=[1 2];
b=[1]; %系统微分方程为)()(2)(t f t y t y =+'
H=freqs(b,a,0::2) %计算在0~2(rad/s)频率范围内以 rad/s 间隔取样的频响样值
运行结果为:
H =
- - - -
(2)[H,w]=freqs(b,a)
该调用方式,将计算默认频率范围内200个频点上系统频率响应的样值,并赋值给返回向量H ,200个频点则记录在向量w 中。
(3)[H,w]=freqs(b,a,n)
该调用方式,将计算默认频率范围内n 个频点上系统频率响应的样值,并赋值给返回向量H ,n 个频点则记录在向量w 中。
(4)freqs(b,a)
该调用方式将绘出系统的幅频特性和相频特性曲线。
若输入如下命令:
a=[1 2]; b=[1];
frqs(b,a,0::2)
运行结果如图13-4所示。
图13-3 图13-4