实验二:连续时间信号的频域分析

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

一、实验目的

1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;

2、观察截短傅里叶级数而产生的“Gibbs 现象”,了解其特点以及产生的原因;

3、掌握连续时间傅里叶变换的分析方法及其物理意义;

4、学习利用MATLAB 语言编写计算CTFS 和CTFT 的仿真程序。

基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB 编程完成相关的傅里叶变换的计算。

二、实验原理及方法

1、连续时间周期信号的傅里叶级数CTFS 分析

任何一个周期为T 1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。

其中三角傅里叶级数为:

∑∞

=++=1000)]sin()cos([)(k k k t k b t k a a t x ωω 9.1

或: ∑∞

=++

=1

00)cos()(k k k

t k c

a t x ϕω 9.2

其中1

02T π

ω=

,称为信号的基本频率,k k b a a ,和,0分别是信号)(t x 的直流分量、余弦分量幅度和正弦分量幅度,k k c ϕ、为合并同频率项之后各正弦谐波分量的幅度和初相位,它们都是频率0ωk 的函数,绘制出它们与0ωk 之间的图像,称为信号的频谱图(简称“频谱”),

k c -0ωk 图像为幅度谱,k ϕ-0ωk 图像为相位谱。

指数形式的傅里叶级数为:

∑∞

-∞

==

k t

jk k

e

a t x 0)(ω 9.3

其中,k a 为指数形式的傅里叶级数的系数,按如下公式计算:

--=

2

/2

/1

110)(1

T T t

jk k dt e t x T a ω 9.4 假设谐波项数为N ,则上面的和成式为:

∑-==

N

N

k t

jk k

e

a t x 0)(ω 9.5

显然,N 越大,所选项数越多,有限项级数合成的结果越逼近原信号x(t)。 2、连续时间信号傅里叶变换----CTFT

傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。傅里叶变换和其逆变换定义如下:

⎰∞

--=

dt e

t x j X t

j ωω)()( 9.6

-=

ωωπ

ωd e j X t x t

j )(21

)( 9.7 连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。任意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号e j ωt 的线性组合构成的,每个频率所对应的周期复指数信号e j ωt 称为频率分量其相对幅度为对应频率的|X(j ω)|之值,其相位为对应频率的X(j ω)的相位。

给定一个连续时间非周期信号x(t),它的频谱也是连续且非周期的。对于连续时间周期信号,也可以用傅里变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换时有冲激序列构成的,是离散的——这是连续时间周期信号的傅里叶变换的基本特征。 3、连续周期信号的傅里叶级数CTFS 的MATLAB 实现 3.1 傅里叶级数的MATLAB 计算

设周期信号x(t)的基本周期为T 1,且满足狄里克利条件,则其傅里叶级数的系数可由式9.4计算得到。式9.4重写如下:

⎰--=

2

/2

/1

110)(1T T t

jk k dt e

t x T a ω

基本频率为: 1

02T πω=

对周期信号进行分析时,我们往往只需对其在一个周期内进行分析即可,通常选择主周期。假定x 1(t)是x(t)中的主周期,则

--=

2

/2

/11

110)(1T T t

jk k dt e t x T a ω 计算机不能计算无穷多个系数,所以我们假设需要计算的谐波次数为N ,则总的系数个数为2N+1个。在确定了时间范围和时间变化的步长即T 1和dt 之后,对某一个系数,上述系数的积分公式可以近似为:

∑⎰---==n

t

jk n T T t jk k T dt e t x dt e t x T a 12

/2/11/)()(10110ωω 121/],,[)](),(),([0201

0T dt e e e

t x t x t x M t jk t jk t jk M ⋅⋅=---ωωωΛΛ

对于全部需要的2N+1个系数,上面的计算可以按照矩阵运算实现。MATLAB 实现系数计算的程序如下:

dt = 0.01;

T = 2; t = -T/2:dt:T/2; w0 = 2*pi/T;

x1 = in put(‘Type in the periodic signal x(t) over one period x1(t)=’); N = input(‘Type in the number N=’); k = -N:N; L = 2*N+1; ak = x1*exp(-j*k*w0*t’)*dt/T;

例1:给定一个周期为T 1 = 2s 的连续时间周期方波信号,如图所示,其一个周期内的数学表达式为:

⎩⎨

⎧<<≤≤=2

1,

010,

1)(1t t t x

% Program2_1

clear, close all T = 2; dt = 0.00001; t = -2:dt:2; x1 = u(t) - u(t-1-dt); x = 0;

for m = -1:1

x = x + u(t-m*T) - u(t-1-m*T-dt);

end

w0 = 2*pi/T;

N = 10; L = 2*N+1;

for k = -N: N;

ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t')*dt;

end

phi = anglel(ak); % Evaluate the phase of ak 执行程序Program2_1后,就完成了信号的傅里叶级数的系数的计算,在命令窗口键入

>> ak

图9.1 周期方波信号

相关文档
最新文档