连续信号与系统频域分析的MATLAB实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十三 连续信号与系统频域分析的MATLAB 实现

一、实验目的

1. 掌握连续时间信号频谱特性的MATLAB 分析方法;

2.掌握连续系统的频率响应MATLAB 分析方法方法。

二、实验原理

1. 连续时间信号的频谱---傅里叶变换

非周期信号的频谱密度可借助傅里叶变换作分析。傅里叶正变换和逆变换分别为:

--=dt e t f j F t j ωω)()(

-=

ωωπ

ωd e j F t f t j )(21)(

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:1.2]); 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.求2

11

)(ω

ω+=

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 在时域和频

域的关系如下:

)

()()()

(*)()(ωωωj H j F j Y t h t f t y ⋅==

系统的频率响应函数为

图13-1

图13-2

L TI 系统

(t)

f (t)

y 图13-3

)()()

()

()(ωϕωωωωj e j H j F j Y j H ==

其中,)(ωj H 为系统的幅频特性,反映了输出与输入信号幅度之比随输入信号角频率

ω变化的规律;)(ωϕ为系统的相频特性,体现了输出与输入信号的相位差随输入信号角频

率ω变化的规律。

若描述系统的微分方程为

∑∑===M

j j j N

i i i t f b t y

a 0

)(0

)

()()(

由微分方程的系数构成向量:],,...,,[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:0.5:2) %计算在0~2(rad/s)频率范围内以0.5 rad/s 间隔取样的频响样值 运行结果为: H =

0.5000 0.4706 - 0.1176i 0.4000 - 0.2000i 0.3200 - 0.2400i 0.2500 - 0.2500i (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:0.5:2) 运行结果如图13-4所示。

图13-4

相关文档
最新文档