白皓文 林君




摘 要:信號與系統內容復雜多樣,不利于學生理解。本文利用MATLAB平臺,仿真了信號與系統中的傅里葉變換的時移和頻移性質。仿真結果形象直觀,易于擴展,開拓學生的思維,使學生能夠從多個方面深入了解信號與系統,更好地掌握這門基礎學科。
關鍵詞:MATLAB;信號與系統;時移特性;頻移特性
中圖分類號:TN911 文獻標識碼:A 文章編號:1003-5168(2019)28-0044-03
Signal and System Simulation Based on Matlab
BAI Haowen LIN Jun
(Yanbian University,Yanji Jilin 133002)
Abstract: The signal and system content is complex and diverse, which is not conducive to students' understanding. In this paper, the Matlab platform was used to simulate the time-shift and frequency shift properties of the Fourier transform in signals and systems. The simulation results are intuitive and easy to expand, and open up the students' thinking, so that students can understand the signals and systems from many aspects and better master this basic subject.
Keywords: Matlab;signal and system;time shift characteristics;frequency shift characteristics
現階段,隨著社會的不斷進步與發展,人們對通信工程專業學生的專業素質、學習能力、實踐能力和創新能力提出了更高的要求。信號與系統是電子通信專業的一門主要技術基礎課,對本專業學生的知識、能力和綜合素質的培養有著重要和深刻的影響。因此,為了學好這門專業課,學生不僅需要汲取書本上的知識,還需要結合現有的MATLAB仿真平臺,更好更直觀地了解抽象的知識,將抽象的知識具體化,從而很好地掌握這門最基礎最重要的學科。本文著重研究了傅里葉變換的時移、頻移性質,并用MATLAB進行了仿真、驗證。
1 傅里葉變換的時移性質及MATLAB仿真
傅里葉變換是一種分析周期信號和非周期信號的方法,是一種常見的積分變換,其將時域上的信號轉化為頻域上的信號[1,2]。為什么要將時域上的信號轉換為頻域上的信號呢?不同的頻率下,信號的狀態及其響應是不相同的,所以人們要清晰了解信號的變化特點,就要研究其頻域上的特點。在計算分析一個信號在時域上的狀態方程時,通常需要解微分方程,而借助傅里葉變化,信號的狀態方程簡化為代數方程,計算起來十分方便簡潔,人們可以通過頻譜圖觀察信號幅值和相位、頻率的關系,總結出信號響應的規律,透徹地了解信號。
根據信號的不同,傅里葉變換可以分為四種,即傅里葉變換(非周期連續信號)、傅里葉級數(周期性連續信號)、離散時域傅里葉變換(非周期性離散信號)、離散傅里葉變換(周期性離散信號)[3-5]。本文只研究非周期連續信號的傅里葉變換。
傅里葉變換的公式為:
[F(w)=-∞+∞f(t)e-jwtdt]? ? ? ? ? ? ? ? ? ? ? (1)
[f(t)=12π-∞+∞F(w)ejwtdw]? ? ? ? ? ? ? ? ? ? ?(2)
式(1)和式(2)分別為傅里葉正變換和傅里葉逆變換。[F(w)]叫作[f(t)]的像函數,[f(t)]叫作[F(w)]的像原函數。傅里葉變換在研究統計學、概率、信號處理、組合數學和自動控制等方面具有很大的優勢。
1.1 時移特性的概念
若信號[f(t)]的傅里葉變換為[F(w)],則有下列變換公式:
[ft-t0—e-jwt0Fw]? ? ? ? ? ? ? ? ? ? (3)
[ft+t0—ejwt0Fw]? ? ? ? ? ? ? ? ? ? ? ?(4)
1.2 時移特性的MATLAB仿真
本文將以門函數(矩形脈沖信號)[g(t)]為分析對象,利用MATLAB來驗證時移特性、頻移特性。
[gt=1 -2<t<20 t為其他值]? ? ? ? ? ? ? ? ? ?(5)
MATLAB程序如下:
dt=0.1;N=500;
door_width=8;
tao=door__width/2;
t1=-(N-1):dt:-tao+1;
t2=-tao:dt:tao;t3=tao-1:dt:N-1;t=[t1,t2,t3];
f0=[zeros(1,length(t1)),ones(1,length(t2)),zeros(1,length(t3))];
N0=4;%時移長度(這里將門函數在時域上向右平移4個長度)
f1=[zeros(1,N0),f0];f2=f1(1:length(f0));w=-2*pi:0.15:2*pi;
F=f*exp(-j*t'*w)*dt;%傅里葉變換
subplot(2,2,1);plot(w,abs(F));grid;
title(‘幅度譜’),xlabel(‘w’),ylabel(‘|F(w)|’)
subplot(2,2,2);plot(w,angle(F));grid;
title(‘相位譜’),xlabel(‘w’),ylabel(‘Φ(w)’)
F2=f2*exp(-j*t'*w)*dt;
subplot(2,2,3);plot(w,abs(F2));grid;
title(‘幅度譜’),xlabel(‘w’),ylabel(‘|F(w)|’)
subplot(2,2,4);plot(w,angle(F2));grid;
title(‘相位譜’),xlabel(‘w’),ylabel(‘Φ(w)’)
時移特性的MATLAB仿真如圖1所示。
由圖1可以得出,[f(t)]延時或超前[t0]后,其對應的幅度譜保持不變,但相位譜中一切頻率分量的相位均滯后(或超前)[wt0]。信號的幅度頻譜是由信號波形決定的,與信號在時間軸上出現的位置無關;而信號的相位頻譜則是由信號波形和時間軸上出現的位置共同決定的。
2 傅里葉變換的頻移性質及MATLAB仿真
2.1 頻移特性的概念
若信號[f(t)]的傅里葉變換為[F(w)],則有下列變換公式:
[ftejtw0—Fw-w0]? ? ? ? ? ? ? ? ? ? ? ? (6)
[fte-jtw0—Fw+w0]? ? ? ? ? ? ? ? ? ? ? (7)
2.2 頻移特性的MATLAB仿真
這里研究的仍然是門函數[g(t)],即
[gt=1-2<t<20t為其他值][ ]? ? ? ? ? ? ? ? ? ? ? ? ? (8)
MATLAB程序如下:
dt=0.1;N=50;
door_width=8;
tao=door_width/2;
t1=-(N-1):dt:-tao+1;
t2=-tao:dt:tao;
t3=tao-1:dt:N-1;
t=[t1,t2,t3];
f=[zeros(1,length(t1)),ones(1,length(t2)),zeros(1,length(t3))];
w1=0.4*pi;頻移長度為0.4[π]
f2=f.*exp(-j*w1*t);
w=-2*pi:0.1:2*pi;
F=f*exp(-j*t'*w)*dt;
subplot(2,2,1);plot(w,abs(F));grid;
title(‘幅度譜’),xlabel(‘w’),ylabel(‘|F(w)|’)
subplot(2,2,2);plot(t,f);grid;
title(‘時域圖’),xlabel(‘t’),ylabel(‘f(t)’)
F2=f2*exp(-j*t'*w)*dt;
subplot(2,2,3);plot(w,abs(F2));grid;
title(‘幅度譜’),xlabel(‘w’),ylabel(‘|F(w)|’)
subplot(2,2,4);plot(t,f2);
title(‘時域圖’),xlabel(‘t’),ylabel(‘f2(t)’)
頻移特性的MATLAB仿真如圖2所示。
由圖2可知,在頻域上向左平移0.4[π],則在時域上將信號乘以[ejw0t],從而驗證了頻移特性。由此可以得出,某信號在時域中乘以[ejw0t],相當于頻域中頻譜右移[w0];某信號在時域中乘以[e-jw0t],相當于頻域中頻譜左移[w0]。
3 結語
通過利用MATLAB仿真平臺,并結合書本上所學的知識,學生可以更好地了解傅里葉變換的時移特性、頻移特性,更加深入地認識信號在時域和頻域之間變換的區別。同時,學生可以提高實踐能力,更加熟練地掌握MATLAB軟件。
參考文獻:
[1]鄔少飛.基于MATLAB的信號與系統教學研究[J].電腦與電信,2013(11):70-71.
[2]彭文昆.MATLAB在“信號與系統”分析中的應用[J].電子技術與軟件工程,2016(2):96.
[3]張智星.MATLAB程序設計與應用[M].北京:清華大學出版社,2002.
[4]陳亞勇.MATLAB信號處理詳解[M].北京:人民郵電出版社,2001.
[5]鄭君里.信號與系統[M].北京:高等教育出版社,2000.