王波
摘 要:以一個特定的時限雙邊衰減指數信號為例,通過將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.