王波
摘 要:以一个特定的时限双边衰减指数信号为例,通过将Matlab程序设计应用于傅里叶变换频移性质的可视化教学过程,探讨解决传统教学模式存在的问题,进而提出降低学生学习难度,改善教学效果的方法。
关键词:傅里叶变换 频移性质 调制定理 Matlab 可视化
中图分类号:G712 文献标识码:A 文章编号:1672-3791(2018)09(a)-0193-03
自1822年傅里叶变换理论正式公诸于世,距今已近200年,在这期间内,傅里叶变换不仅在数学中,而且在诸如信号分析与处理、控制工程、信息与通信工程等众多领域都有着日益广泛的应用,同时,基本的傅里叶变换理论本身及其众多的衍生理论也都得到了长足发展而日趋完善[1]。高等学校相关专业开设的课程中也不乏傅里叶变换理论的内容,其或作为课程理论体系的主要构成部分,出现在诸如信号与系统、数字信号处理等专业基础课程中,或作为重要的理论基础、分析工具,出现在其他众多的专业课程中,因此,相关课程中的傅里叶变换理论的教学就非常重要。
现时情况下,影响傅里叶变换理论教学过程顺利进行并取得良好效果的主要不利因素有二:一方面,傅里叶变换及其衍生理论内容丰富繁杂,相对抽象深奥,要求学习者能够熟练地运用数学工具,并具有较扎实的物理学理论根基,学习难度较大;另一方面,在传统的“填鸭式”教学模式下,教师借助于黑板或PowerPoint幻灯片罗列定义、推导公式的单调枯燥的教学方法,也会使学生兴趣索然,失去学习热情。为解决上述问题,可借助于Matlab软件使理论教学过程可视化,下文以傅里叶变换频移性质的教学过程为例进行探讨。
1 傅里叶变换及其频移性质
1.1 傅里叶变换
傅里叶(正)变换,即如下积分变换关系:
(1)
式(1)中,f(t)一般为非周期连续时间信号,称为f(t)的频谱(密度)函数,其一般为角频率ω的复函数。另有称之为傅里叶反变换的积分变换关系:
(2)
其中,f(t)称为的原函数。由式(1)和式(2)组成所谓的傅里叶变换对,可简单的记为[2]。
1.2 傅里叶变换的数值近似计算方法
当f(t)为时限信号且其时域波形相对于t=0时刻对称时,可用满足奈奎斯特采样定理的采样间隔Δt对f(t)进行2N+1点离散化采样,得到离散时间序列,相应地,亦对进行2M+1点离散化处理,得到离散频谱序列。则式(1)的积分变换关系可转换为如下形式:
(3)
其中,ωk为的第k个离散采样点的角频率,式(3)就是对连续时间信号的傅里叶变换进行数值近似计算的理论依据。只要Δt取值足够小,依据式(3)进行数值计算得到的离散频谱序列F(k)就可以用于近似地表示连续频谱函数[3]。
1.3 傅里叶变换的频移性质
傅里叶变换的性质众多,和傅里叶变换理论本身一样,它们都是信号与系统频域分析的重要工具,其中的频移性质可表述为:
若信号,则
(4)
式(4)表明,若时域中信号f(t)分别乘以特定角频率ωo的虚指数信号、,则在频域中,f(t)对应的频谱函数将沿频率轴分别向右、向左整体上搬移ωo[4]。
特别地,由频移性质可衍生得到调制定理。将相对低频的调制信号f(t)乘以高频载波信号cos(ωot)(或sin(ωot)),得到高频调幅信号f(t)cos(ωot)。应用频移性质,此信号的幅度调制过程可表示为:
若信号,则
(5)
式(5)即为调制定理,其表明,高频调幅信号的频谱等于将低频调制信号的频谱一分为二,并各自沿频率轴分别向左、右搬移载频ωo,幅度则变为原来的一半[5]。调制定理是调幅无线电通信的基本理论依据。
2 傅里叶变换频移性质的可视化
2.1 信号
以一个时限双边指数衰减信号为基本信号,另外两个相关的信号分别为和。
2.2 频移性质可视化的实现
频移性质及其调制定理的可视化,通过运行本文后续2.3部分的Matlab程序来实现。
尽管信号f1(t)、f2(t)和f3(t)及其对应的频谱函数、和在时域或频域均为连续的,但为了易于代码的编制,在此Matlab程序中,傅里葉变换均依据式(3)采用数值近似计算的方法实现。
程序的第一部分首先确定对时域信号进行采样的采样时间间隔Δt,为保证数值计算的精度,设信号f1(t)的带宽为rad/s(实际带宽远低于此值),根据奈奎斯特采样定理,采样周期T可由下式算出:
s (6)
而实际的采样时间间隔 的应小于或等于T,考虑到信号f2(t)、f3(t)的带宽为信号f1(t)带宽的2倍,因此,取s(N=500),对信号f1(t)、f2(t)和f3(t)分别进行采样得到对应的离散序列f1(n)、f2(n)和f3(n),将各序列依次存入一个结构为3行1001列的离散时间信号矩阵f的第1、2、3行。
程序的第二部分,依据式(3)进行数值计算,分别求出频谱函数、和对应的离散频谱序列、和,并将各序列依次存入另一个结构为3行1001列的离散频谱矩阵F中。另外,对矩阵F的每个元素进行求模值计算,并将计算结果存入与矩阵F结构相同的幅度频谱矩阵absF的对应位置。
程序的第三部分,使用上述离散时间信号矩阵f和幅度频谱矩阵absF中的数据,近似地绘制各个时域信号波形和幅度频谱图形。
执行程序,基本上可以得到图1所示的包含6个子图的图形窗口。信号f1(t)、f2(t)和f3(t)的波形及其相关幅度频谱,分别用属性为红色实线、蓝色虚线和黑色点线的曲线绘制。
3个信号的时域波形被依次绘制在子图(a)(c)和(e)上,借助这些子图,可直接比较3个信号之间的时域关系。子图(d)用于频移性质的可视化,信号f1(t)、f2(t)的幅度频谱、的图形曲线被同时绘制于其中,源于,相对于,的图形曲线右移ω2=20rad/s。子图(f)中同时绘制了幅度频谱、和的图形曲线,借助于此子图,一方面,源于,调幅信号f3(t)的幅度频谱实为调制信号f1(t)的幅度频谱一分为二,各向左右搬移载频ω3=40rad/s,调制定理得到了直观的体现;另一方面,比較3个幅度频谱图形的相对位置关系,亦可说明调制定理衍生于频移性质,二者本质上相同。
2.3 主要程序代码
以下代码,省略了程序中一部分次要的图形修饰语句、注释语句等。
clear all
%(一)定义采样周期,离散化各个时域信号
delta_t=0.002;
t=-1:delta_t:1; % N=500
f=zeros(3,length(t));
f(1,:)=exp(2*t).*(Heaviside(t+1)-Heaviside(t))...
+exp(-2*t).*(Heaviside(t)-Heaviside(t-1));
f(2,:)=f(1,:).*(exp(j*20*t));
f(3,:)=1/2*f(1,:).*(exp(-j*40*t)+exp(j*40*t));
% (二)用数值计算方法近似得到个时域信号的频谱
M=500;
k=-M:M;
W1=2*pi*(30/pi);
W=k*W1/M;
F=zeros(3,length(k));
for i=1:3
F(i,:)=f(i,:)*exp(-j*t'*W)*delta_t;
end
absF=abs(F);
% (三)绘制各个信号的时域波形及幅度频谱图形
subplot(3,2,1);plot(t,f(1,:),'r');axis([-1,1 0,1]);
subplot(3,2,2),plot(W,absF(1,:),'r');axis([-60,60,-0.1 1]);
subplot(3,2,3);plot(t,f(2,:),'b--');axis([-1,1 -1,1]);
subplot(3,2,4);plot(W,absF(1,:),'r');hold on;
plot(W,absF(2,:),'b--');axis([-60,60,-0.1 1]);hold on;
subplot(3,2,5);plot(t,f(3,:),'k:');axis([-1,1 -1,1]);
subplot(3,2,6);plot(W,absF(1,:),'r');hold on;
plot(W,absF(2,:),'b--');plot(W,absF(3,:),'k:');
axis([-60,60,-0.1 1]);
3 结语
上述,初步探讨了在傅里叶变换频移性质的教学过程中,借助于Matlab程序设计使理论可视化的方法。不仅于此,Matlab辅助教学还有更广阔的用武之地,可将其应用到傅里叶变换的其他性质、拉普拉斯变换理论,甚至是应用到诸如信号与系统、数字信号处理等众多课程中大部分知识点的理论教学过程。
Matlab拥有功能完善的指令和函数集,其在数值计算、数据分析、图形绘制等方面的处理能力异常强大。对于大多数具体的教学任务,应用Matlab编制出的辅助教学程序一般都具有结构简单且规模较小的特点。设计比较完善的Matlab程序的运行,能够把抽象的概念形象可视化,将繁琐的理论直观简单化,以此,可降低学生学习相关课程知识的难度,进而提高学生的学习兴趣,改进教学效果,保障教学任务的圆满完成。
参考文献
[1] 曾海东,韩峰,刘瑶琳.傅里叶分析的发展与现状[J].现代电子技术,2014,37(3):144-146.
[2] 燕庆明.信号与系统教程[M].北京:高等教育出版社,2013:95.
[3] 梁虹.信号与线性系统分析[M].北京:高等教育出版社,2006:224.
[4] 王明泉.信号与系统[M].北京:科学出版社,2008:110.
[5] 沈元隆,周井泉.信号与系统[M].北京:人民邮电出版社,2003:108.