DSP實驗報告 二

2022-08-30 23:45:03 字數 4372 閱讀 9063

1、在理論學習的基礎上,通過本次實驗,加深對快速傅利葉變換的理解,熟悉fft演算法及其程式的編寫。

2、熟悉應用fft對典型訊號進行頻譜分析的方法。

3、了解應用fft進行訊號頻譜分析過程中可能出現的問題,以便在實際中正確應用fft。

乙個連續訊號的頻譜可以用它的傅利葉變換表示為

1) 如果對該訊號進行理想取樣,可以得到取樣序列

2) 同樣可以對該序列進行z變換,其中t為取樣週期

3) 令z為,則序列的傅利葉變換

4) 其中ω為數字頻率,它和模擬域頻率的關係為

5) 式中的是取樣頻率。上式說明數字頻率是模擬頻率對取樣率的歸一化。同模擬域的情況相似,數字頻率代表了序列值變化的速率,而序列的傅利葉變換稱為序列的頻譜。

序列的傅利葉變換和對應的取樣訊號頻譜具有下式的對應關係。

6) 即序列的頻譜是取樣訊號頻譜的週期延拓。從式(6)可以看出,只要分析取樣序列的譜,就可以得到相應的連續訊號的頻譜。注意:

這裡的訊號必須是帶限訊號,取樣也必須滿足nyquist定理。

在各種訊號序列中,有限長序列在數字訊號處理中占有很重要的地位。無限長的序列也往往可以用有限長序列來逼近。有限長的序列可以使用離散傅利葉變換(dft)。

當序列的長度是n時,定義離散傅利葉變換為:

7) 其中,它的反變換定義為:

8) 根據式(3)和(7),則有

9) 可以得到,w是z平面單位圓上幅角為的點,就是將單位圓進行n等分以後第k個點。所以,x(k)是z變換在單位圓上的等距取樣,或者說是序列傅利葉變換的等距取樣。時域取樣在滿足nyquist定理時,就不會發生頻譜混淆;同樣地,在頻率域進行取樣的時候,只要取樣間隔足夠小,也不會發生時域序列的混淆。

②dft是對序列傅利葉變換的等距取樣,因此可以用於序列的頻譜分析。在運用dft進行頻譜分析的時候可能有三種誤差,分析如下:

(1)混淆現象

從式(6)中可以看出,序列的頻譜是取樣訊號頻譜的週期延拓,週期是2π/t,因此當取樣速率不滿足nyquist定理,即取樣頻率fs=1/t小於兩倍的訊號(這裡指的是實訊號)頻率時,經過取樣就會發生頻譜混淆。這導致取樣後的訊號序列頻譜不能真實地反映原訊號的頻譜。所以,在利用dft分析連續訊號頻譜的時候,必須注意這一問題。

避免混淆現象的唯一方法是保證取樣的速率足夠高,使頻譜交疊的現象不出現。這就告訴我們,在確定訊號的取樣頻率之前,需要對頻譜的性質有所了解。在一般的情況下,為了保證高於摺疊頻率的分量不會出現,在取樣之前,先用低通模擬濾波器對訊號進行濾波。

(2)洩漏現象

實際中的訊號序列往往很長,甚至是無限長序列。為了方便,往往用截短的序列來近似它們。這樣可以使用較短的dft來對訊號進行頻譜分析。

這種截短等價於給原訊號序列乘以乙個矩形窗函式。而矩形窗函式的頻譜不是有限頻寬的,從而它和原訊號的頻譜進行卷積以後會擴充套件原訊號的頻譜。值得一提的是,洩漏是不能和混淆完全分離開的,因為洩露導致頻譜的擴充套件,從而造成混淆。

為了減小洩漏的影響,可以選擇適當的窗函式使頻譜的擴散減到最小。

(3)柵欄效應

因為dft是對單位圓上z變換的均勻取樣,所以它不可能將頻譜視為乙個連續函式,這樣就產生了柵欄效應。減小柵欄效應的乙個方法是在源序列的末端補一些零值,從而變動dft的點數。這種方法的實質是認為地改變了對真實頻譜取樣的點數和位置,相當於搬動了「柵欄」的位置,從而使得原來被擋住的一些頻譜的峰點或谷點顯露出來。

注意,這時候每根譜線多對應的頻率和原來的已經不相同了。

從上面的分析過程可以看出,dft可以用於訊號的頻譜分析,但必須注意可能產生的誤差,在應用過程中要盡可能減小和消除這些誤差的影響。

③快速傅利葉變換fft並不是與dft不相同的另一種變換,而是為了減少dft運算次數的一種快速演算法。它是對變換式(2-7)進行一次次的分解,使其成為若干小點數dft的組合,從而減小運算量。常用的fft是以2為基數,其長度。

它的運算效率高,程式比較簡單,使用也十分地方便。當需要進行變換的序列的長度不是2的整數次方的時候,為了使用以2為基的fft,可以用末尾補零的方法,使其長度延長至2的整數次方。ifft一般可以通過fft程式來完成,比較式(2-7)和(2-8),只要對x(k)取共軛,進行fft運算,然後再取共軛,並乘以因子1/n,就可以完成ifft。

1、在實驗之前,認真複習dft和fft有關的知識,閱讀本實驗原理與方法和實驗附錄部分中和本實驗有關的子程式,掌握子程式的原理並學習呼叫方法。

2、編制訊號產生子程式及本實驗的頻掊分析主程式。實驗中需要用到的基本訊號包括:

(1)高斯序列:

(2)衰減正弦序列:

(3)三角波序列:

(4)反三角序列:

1、觀察高斯序列的時域和頻域特性

①固定訊號中的引數p=8,改變q的值,使q分別等於2,4,8。觀察它們的時域和幅頻特性,了解q取不同值的時候,對訊號時域特性和幅頻特性的影響。②固定q=8,改變p,使p分別等於8,13,14,觀察引數p變化對訊號序列時域及幅頻特性的影響。

注意p等於多少時,會發生明顯的洩漏現象,混淆現象是否也隨之出現?記錄實驗中觀察到的現象,繪製相應的時域序列和幅頻特性曲線。

結果分析:

①固定p=8時,結果的時域特性:

在時域上,p=8表明最大值1在p=8處取得,q值越大,序列以p為中心衰減速度就越慢。序列的形狀就越平緩。

幅頻特性:

上圖表明頻域的情況恰好相反,p值越大,頻譜的頻寬就越小,波形越陡峭。

②當固定q=8時,高斯序列的時域特性:

當固定q=8時,序列的形狀固定了,p值的不同只是將序列平移了。但由於序列長度有限,造成訊號的截斷。

由於q值一樣,頻譜幅值理應一樣(因為序列的形狀沒變化),但由於訊號被截斷,當p=14時,產生了明顯的頻譜洩漏(即截斷等價的窗函式引起的頻譜搬移)。與此同時,也產生了混淆(高頻分量高於1/2的取樣率)。

2、觀察衰減正弦序列的時域和幅頻特性

①令α=0.1並且f=0.0625,檢查譜峰出現的位置是否正確,注意頻譜的形狀,繪製幅頻特性曲線。

②改變f=0.4375,再變化f=0.5625,觀察這兩種情況下,頻譜的形狀和譜峰出現的位置,有無混淆和洩漏現象發生?

說明產生現象的原因。

結果分析:

①α=0.1並且f=0.0625時,衰減正弦序列的時域和頻域特性如下:

從圖中可以看到譜峰出現在n=1和15處,和理論計算一致。

②當α=0.1,f=0.4375和0.5625時的時域圖形:

從上面看來,它們時域只相差正負號。則頻域應相差。

相頻如下:

可以看到它們相頻確實相差。

同時從幅頻圖可以看到產生了混淆和洩漏。因為f比較大,頻譜的主分量比較大,naquist頻率超過了25hz,故產生了混淆和洩漏。

3、觀察三角波序列和反三角波序列的時域和幅頻特性

①用8點fft分析訊號和的幅頻特性,觀察兩者的序列形狀和頻譜曲線有什麼異同?(注意:這時候的可以看作是經過圓周移位以後得到的)繪製兩者的序列和幅頻特性曲線。

②在和的尾補零,用16點fft分析這兩個訊號的幅頻特性,觀察幅頻特性發生了什麼變化?兩個訊號之間的fft頻譜還有沒有相同之處?這些變化說明了什麼?

結果分析:

1 和的序列形狀和幅頻特性分別如下:

可以看到儘管三角序列和反三角序列在時域上時是互為圓周移位形成的,但在幅度頻譜上是完全一樣的。區別只是相位的不同:

在和的末尾補零產生的頻譜如下:

可以看到此時頻譜除了在一些點上仍然一致但大部分不一樣了。我們知道在序列後面補零產生的頻譜只是增加了解析度,本身資訊並沒有增加。由於本例中補了和序列長度一樣多的零,故在偶數點(圖中是n=1,3,5……15)仍然和8點頻譜值一致,兩者在偶數點的值相等。

但在奇數點的值不一樣。可以認為是兩個不同的序列對應的插值方式不一樣。

當訊雜比為0db時,

可以看到由於疊加了隨機雜訊淹沒了原來的訊號(時域上如此),頻譜除了個別點,所有值幾乎是一樣的(由於訊雜比過低)。

改善了訊雜比之後(約為20db),同上作圖:

此時比低訊雜比有了明顯改善,不但時域形狀相差不大,頻譜也仍大致保持了原樣。在頻譜分量幾乎為零的地方出現較大的偏差,這是有白雜訊均勻分布引起的。可以想見,當訊雜比更高時,會有進一步的改善。

3、在步驟2的基礎上,改變引數α和f,觀察在出現混淆現象和洩漏現象的時候有雜訊的y(n)訊號的頻譜有什麼變化,是否明顯?

下面是乙個有明顯混淆和洩漏現象的例子:(α=0.01和f=0.025)

可見由於訊號本來就混淆和混疊,只要訊雜比足夠,效應並不明顯。

六、 實驗總結

本次實驗是應用fft對序列進行頻譜分析。通過本次實驗,加深了對fft的理解,

熟悉了fft演算法及其程式的編寫,並應用fft對典型訊號進行了頻譜分析。 了解了應用fft進行訊號頻譜分析過程中可能出現的問題。

fft並不是一種新變換,它是dft的快速演算法。,使得複雜度大大降低。分為按時間抽取和按頻率抽取兩種。

利用fft可以方便地進行序列的頻譜分析和卷積運算。但是,fft可能會產生誤差 ,即混淆、洩漏和柵欄效應(實際上也是dft的問題)。混淆、洩漏可以通過加大抽樣頻率解決,柵欄效應可以在序列後面補零解決。

DSP實驗報告

姓名 班級 電子1201 學號 一,已完成的實驗 1 有限衝激響應濾波器 fir 演算法實驗 2 無限衝激響應濾波器 iir 演算法實驗 3 卷積演算法 4 頻譜分析 5 自適應濾波器演算法 6 抽樣定理 7 數字影象直方圖統計 8 數字影象邊緣檢測 sobel運算元 9 數字影象的銳化 lapla...

DSP實驗報告

實驗一 閃燈實驗 熟悉dsp軟硬體測試系統 實驗目的 1.了解sharc系列高效能數字訊號處理器的程式開發過程和程式語言 2.熟悉整合開發工具visualdsp 學會使用visualdsp 進行sharc系列adsp的程式開發 編譯與除錯 3.掌握sharc系列adsp的程式載入設計和載入過程。實驗...

DSP實驗報告

姓名 馬勇學號 10051115 院系 航空科學與工程學院 使用組合語言實現加法運算,匯程式設計序如下 main mov acc,10 mov t,2 add acc,t end 逐步執行,執行完第一步後acc值為0000000a,執行結束後結果如下 其中xt為00020000,高位0002即為t的...