实验报告
课程名称 信号与线性系统分析
实验名称 周期信号的傅里叶级数和频谱分析 实验类型 验证 (验证、综合、设计、创新)
3日
实验四、周期信号的傅里叶级数和频谱分析
1实验目的
1)学会利用MATLAB分析傅里叶级数展开,并理解傅里叶级数的物理含义;
2)学会利用MATLAB分析周期信号的频谱特性。
2实验原理及实例分析
周期信号可以再函数的区间里展成在完备正交信号空间中的无穷级数。如果完
备的正交函数集是三角函数集或指数函数集,那么,周期信号所展开的无穷级数
就分别成为“三角型傅里叶级数”或“指数型傅里叶级数”,统称为傅里叶级数。
2.1周期信号的傅里叶级数
(基本原理请参阅教材第四章的4.1节和4.2节。)
例1:周期方波信号f(t)如图1所示,试求出该信号的傅里叶级数,利用MATLAB编程实现其各次谐波的叠加,并验证Gibbs现象。
f(t)
t(sec)
图1 周期方波信号f(t)的波形图
解:从理论分析可知,周期方波信号f(t)的傅里叶级数展开式为
f(t)=1111(sinω0t+sin3ω0t+sin5ω0t+sin7ω0t+sin9ω0t+ ) π3579
2π=2π。则可分别求出1、3、5、9、19、39、79、159项傅T4其中,ω0=
里叶级数求和的结果,其MATLAB程序如下,产生的图形如图2所示。 closeall;clearall;
clc
t = -2:0.0001:2;
omega = 2 * pi;
y = square(2 * pi * t,50);
n_max = [1 3 5 9 19 39 79 159];
N = length(n_max);
for k = 1:N
fk = zeros(1,length(t));
for n = 1:2:n_max(k)
bn = 4 / (pi * n);
fk = fk + bn * sin(n * omega * t);
end
figure;plot(t,y,t,fk,'Linewidth',2);
xlabel('t(sec)');ylabel('部分和的波形');
String = ['最大谐波数=',num2str(n_max(k))];
axis([-2 2 -3 3]);grid;title(String);
disp([String,'时,在信号跳变点附近的过冲幅度(%)']);
f_max = (max(fk) - max(y)) / (max(y) - min(y)) * 100
end
最大谐波数=1
部分和的波形t(sec)最大谐波数=3
部分和的波形t(sec)
最大谐波数=5
部分和的波形t(sec)
部分和的波形t(sec)
最大谐波数=19
部分和的波形t(sec)最大谐波数=39
部分和的波形t(sec)
最大谐波数=79
部分和的波形t(sec)
部分和的波形t(sec)
图2 例1程序产生的图形
程序输出的用于验证Gibbs现象的数值分别为:
13.6620 10.0211 9.4178 9.1164 8.9907 8.9594 8.9484 8.9464
2.2周期信号的频谱分析
(基本原理请参阅教材第四章的4.3节。)
例2:已知周期矩形脉冲信号f(t)的脉冲幅度为A=1,宽度为τ,重复周
期为T(角频率ω0=2π)。将其展开为复指数形式的傅里叶级数,研究周期矩T
形脉冲的宽度τ和周期T变化时,对其频谱的影响。
解:根据傅里叶级数理论可知,周期矩形脉冲信号的傅里叶系数为
τ⎫⎛⎛2πτ⎫⎛nπτ⎫⎛nτ⎫Fn=AτSa nΩ⎪=AτSa n⎪=AτSa ⎪=Aτsinc ⎪ 2⎭⎝⎝T2⎭⎝T⎭⎝T⎭
各谱线之间的间隔为Ω=2π。图3画出了τ=1、T=10,τ=1、T=5和τ=2、T
T=10三种情况下的傅里叶系数。MATLAB程序如下。
closeall
clearall
clc
tau = 1; T = 10;
w1 = (-8 * pi) : (2 * pi / T) : (8 * pi);
fn = tau * sinc(w1 / pi * tau / 2);
subplot(311);stem(w1, fn);grid;
title('\tau = 1,T = 10');
axis([-25 25 -0.5 2]);
tau = 1; T = 5;
w2 = (-8 * pi) : (2 * pi / T) : (8 * pi);
fn = tau * sinc(w2 / pi * tau / 2);
subplot(312);stem(w2,fn);grid;
title('\tau = 1, T = 5');
axis([-25 25 -0.5 2]);
tau = 2; T = 10;
w3 = (-8 * pi) : (2 * pi / T) : (8 * pi);
fn = tau * sinc(w3 / pi * tau / 2);
subplot(313);stem(w3,fn);grid;
title('\tau = 2, T = 10');
axis([-25 25 -0.5 2]);
τ = 1,T = 10
-25
-25
-25-20-15-10-[1**********]
-20-15-10-[1**********]-20-15-10-[1**********]
τ = 1, T = 5
图3 例2程序产生的波形图
3实验报告与要求
请简要说明对信号进行傅里叶级数展开的原理及其物理意义,简要说明Gibbs现象,并解释周期信号频谱与脉冲宽度τ和周期T之间的关系。
答:吉布斯现象:合成波所包含的谐波分量越多时,除间断点附近外,它月接近于原方波信号。在间断点附近,随着所含谐波次数的增高,合成波形的尖峰越靠近间断点,单尖峰幅度并未减小。可以证明,即使合成波形所含的谐波次数趋于无穷时,在间断点仍有9%的偏差,这种现象就叫做吉布斯现象。
周期信号频谱与脉冲宽度和周期间的关系:
由1,3图可见,周期相同时,相邻频谱线的间隔相同;脉冲宽度越窄,起频谱包络先第一个零点频率越高,信号带宽越宽;可见,信号的频带宽度与脉冲
宽度成反比。
有1,2图可见,这时的频谱包络线的零点所在位置不变,而当周期增长时,相邻谱线的间隔减小,频谱变密。如果周期信号无限增长,那么相邻谱线的间隔将趋于零,周期信号的离散频谱就过渡为飞周期信号的连续频谱。
实验总结:
学会了用MATLAB分析傅里叶级数的展开,并理解起含义。并学会将周期函数转换成傅里叶级数,将方波信号变为傅里叶的展开,傅里叶的扩充,有信号信息推出原信号。还验证了吉布斯现象;通过将周期信号变为复数形式的傅里叶展开式,弄清了周期信号频谱与脉冲宽度和周期间的关系。并了解到信号波动的变化随系统信号的增加,位置越靠近端点。
实验报告
课程名称 信号与线性系统分析
实验名称 周期信号的傅里叶级数和频谱分析 实验类型 验证 (验证、综合、设计、创新)
3日
实验四、周期信号的傅里叶级数和频谱分析
1实验目的
1)学会利用MATLAB分析傅里叶级数展开,并理解傅里叶级数的物理含义;
2)学会利用MATLAB分析周期信号的频谱特性。
2实验原理及实例分析
周期信号可以再函数的区间里展成在完备正交信号空间中的无穷级数。如果完
备的正交函数集是三角函数集或指数函数集,那么,周期信号所展开的无穷级数
就分别成为“三角型傅里叶级数”或“指数型傅里叶级数”,统称为傅里叶级数。
2.1周期信号的傅里叶级数
(基本原理请参阅教材第四章的4.1节和4.2节。)
例1:周期方波信号f(t)如图1所示,试求出该信号的傅里叶级数,利用MATLAB编程实现其各次谐波的叠加,并验证Gibbs现象。
f(t)
t(sec)
图1 周期方波信号f(t)的波形图
解:从理论分析可知,周期方波信号f(t)的傅里叶级数展开式为
f(t)=1111(sinω0t+sin3ω0t+sin5ω0t+sin7ω0t+sin9ω0t+ ) π3579
2π=2π。则可分别求出1、3、5、9、19、39、79、159项傅T4其中,ω0=
里叶级数求和的结果,其MATLAB程序如下,产生的图形如图2所示。 closeall;clearall;
clc
t = -2:0.0001:2;
omega = 2 * pi;
y = square(2 * pi * t,50);
n_max = [1 3 5 9 19 39 79 159];
N = length(n_max);
for k = 1:N
fk = zeros(1,length(t));
for n = 1:2:n_max(k)
bn = 4 / (pi * n);
fk = fk + bn * sin(n * omega * t);
end
figure;plot(t,y,t,fk,'Linewidth',2);
xlabel('t(sec)');ylabel('部分和的波形');
String = ['最大谐波数=',num2str(n_max(k))];
axis([-2 2 -3 3]);grid;title(String);
disp([String,'时,在信号跳变点附近的过冲幅度(%)']);
f_max = (max(fk) - max(y)) / (max(y) - min(y)) * 100
end
最大谐波数=1
部分和的波形t(sec)最大谐波数=3
部分和的波形t(sec)
最大谐波数=5
部分和的波形t(sec)
部分和的波形t(sec)
最大谐波数=19
部分和的波形t(sec)最大谐波数=39
部分和的波形t(sec)
最大谐波数=79
部分和的波形t(sec)
部分和的波形t(sec)
图2 例1程序产生的图形
程序输出的用于验证Gibbs现象的数值分别为:
13.6620 10.0211 9.4178 9.1164 8.9907 8.9594 8.9484 8.9464
2.2周期信号的频谱分析
(基本原理请参阅教材第四章的4.3节。)
例2:已知周期矩形脉冲信号f(t)的脉冲幅度为A=1,宽度为τ,重复周
期为T(角频率ω0=2π)。将其展开为复指数形式的傅里叶级数,研究周期矩T
形脉冲的宽度τ和周期T变化时,对其频谱的影响。
解:根据傅里叶级数理论可知,周期矩形脉冲信号的傅里叶系数为
τ⎫⎛⎛2πτ⎫⎛nπτ⎫⎛nτ⎫Fn=AτSa nΩ⎪=AτSa n⎪=AτSa ⎪=Aτsinc ⎪ 2⎭⎝⎝T2⎭⎝T⎭⎝T⎭
各谱线之间的间隔为Ω=2π。图3画出了τ=1、T=10,τ=1、T=5和τ=2、T
T=10三种情况下的傅里叶系数。MATLAB程序如下。
closeall
clearall
clc
tau = 1; T = 10;
w1 = (-8 * pi) : (2 * pi / T) : (8 * pi);
fn = tau * sinc(w1 / pi * tau / 2);
subplot(311);stem(w1, fn);grid;
title('\tau = 1,T = 10');
axis([-25 25 -0.5 2]);
tau = 1; T = 5;
w2 = (-8 * pi) : (2 * pi / T) : (8 * pi);
fn = tau * sinc(w2 / pi * tau / 2);
subplot(312);stem(w2,fn);grid;
title('\tau = 1, T = 5');
axis([-25 25 -0.5 2]);
tau = 2; T = 10;
w3 = (-8 * pi) : (2 * pi / T) : (8 * pi);
fn = tau * sinc(w3 / pi * tau / 2);
subplot(313);stem(w3,fn);grid;
title('\tau = 2, T = 10');
axis([-25 25 -0.5 2]);
τ = 1,T = 10
-25
-25
-25-20-15-10-[1**********]
-20-15-10-[1**********]-20-15-10-[1**********]
τ = 1, T = 5
图3 例2程序产生的波形图
3实验报告与要求
请简要说明对信号进行傅里叶级数展开的原理及其物理意义,简要说明Gibbs现象,并解释周期信号频谱与脉冲宽度τ和周期T之间的关系。
答:吉布斯现象:合成波所包含的谐波分量越多时,除间断点附近外,它月接近于原方波信号。在间断点附近,随着所含谐波次数的增高,合成波形的尖峰越靠近间断点,单尖峰幅度并未减小。可以证明,即使合成波形所含的谐波次数趋于无穷时,在间断点仍有9%的偏差,这种现象就叫做吉布斯现象。
周期信号频谱与脉冲宽度和周期间的关系:
由1,3图可见,周期相同时,相邻频谱线的间隔相同;脉冲宽度越窄,起频谱包络先第一个零点频率越高,信号带宽越宽;可见,信号的频带宽度与脉冲
宽度成反比。
有1,2图可见,这时的频谱包络线的零点所在位置不变,而当周期增长时,相邻谱线的间隔减小,频谱变密。如果周期信号无限增长,那么相邻谱线的间隔将趋于零,周期信号的离散频谱就过渡为飞周期信号的连续频谱。
实验总结:
学会了用MATLAB分析傅里叶级数的展开,并理解起含义。并学会将周期函数转换成傅里叶级数,将方波信号变为傅里叶的展开,傅里叶的扩充,有信号信息推出原信号。还验证了吉布斯现象;通过将周期信号变为复数形式的傅里叶展开式,弄清了周期信号频谱与脉冲宽度和周期间的关系。并了解到信号波动的变化随系统信号的增加,位置越靠近端点。