數字訊號處理實驗報告

2021-03-04 05:21:58 字數 3684 閱讀 1619

實驗一訊號、系統及系統響應

一、實驗目的

1、熟悉連續訊號經理想取樣前後的頻譜變化關係,加深對時域取樣定理的理解;

2、熟悉時域離散系統的時域特性;

3、利用卷積方法觀察分析系統的時域特性;

4、掌握序列傅利葉變換的計算機實現方法,利用序列的傅利葉變換對連續訊號、離散訊號及系統響應進行頻域分析。

二、實驗原理及方法

取樣是連續訊號數字處理的第乙個關鍵環節。對取樣過程的研究不僅可以了解取樣前後訊號時域和頻域特性發生變化以及訊號資訊不丟失的條件,而且可以加深對傅利葉變換、z變換和序列傅利葉變換之間關係式的理解。

對乙個連續訊號進行理想取樣的過程可用下式表示:

,其中為的理想取樣,p(t)為週期脈衝,即

的傅利葉變換為

上式表明為的週期延拓。其延拓週期為取樣角頻率()。只有滿足取樣定理時,才不會發生頻率混疊失真。

在實驗時可以用序列的傅利葉變換來計算。公式如下:

離散訊號和系統在時域均可用序列來表示。為了在實驗中觀察分析各種序列的頻域特性,通常對在[0,2]上進行m點取樣來觀察分析。對長度為n的有限長序列x(n),有:

其中,,k=0,1,……m-1

時域離散線性非移變系統的輸入/輸出關係為

上述卷積運算也可在頻域實現

三、實驗內容及步驟

1、認真複習取樣理論,離散訊號與系統,線性卷積,序列的傅利葉變換及性質等有關內容,閱讀本實驗原理與方法。

2、編制實驗用主程式及相應子程式。

① 訊號產生子程式, 用於產生實驗中要用到的下列訊號序列:

xa(t)=ae-at sin(ω0t)u(t)

進行取樣, 可得到取樣序列

xa(n)=xa(nt)=ae-ant sin(ω0nt)u(n), 0≤n<50

其中a為幅度因子, a為衰減因子, ω0是模擬角頻率, t為取樣間隔。 這些引數都要在實驗過程中由鍵盤輸入, 產生不同的xa(t)和xa(n)。

b. 單位脈衝序列: xb(n)=δ(n)

c. 矩形序列: xc(n)=rn(n), n=10

② 系統單位脈衝響應序列產生子程式。 本實驗要用到兩種fir系統。

a. ha(n)=r10(n);

b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)

③ 有限長序列線性卷積子程式, 用於完成兩個給定長度的序列的卷積。 可以直接呼叫matlab語言中的卷積函式conv。 conv用於兩個有限長度序列的卷積, 它假定兩個序列都從n=0 開始。

呼叫格式如下:

y=conv (x, h)

主程式框圖:

3、調通並執行實驗程式,完成下列實驗內容:

①分析取樣序列的特性,產生取樣訊號序列,使a=444.128,a=50,。(的無失真取樣頻率約為1000hz)。

a.取取樣頻率=1khz,即t=1ms。觀察所得取樣的幅頻特性||和原圖中的幅頻特性曲線在摺疊頻率附近有無明顯差別。

應當注意,實驗中所得頻譜是用序列的傅利葉變換公式求得的,所以在頻率度量上存在關係:,為數字頻率,為模擬頻率。

b.改變取樣頻率,=300hz,觀察 ||的變化,並做記錄(列印曲線);進一步降低取樣頻率,=200hz,觀察頻譜混疊是否明顯存在,說明原因,並記錄(列印)這時的 ||曲線。

a步實驗結果如下圖所示:

由圖形可知,當取樣頻率為1000hz時,取樣序列在摺疊頻率附近處,即=處無明顯頻譜混疊。

b步實驗結果如下圖所示:

由圖可知,當取樣頻率進一步降低時,主瓣寬度逐漸變寬,頻率混疊現象也逐漸嚴重。存在較明顯的失真現象。

②時域離散訊號、系統和系統響應分析。

a. 觀察訊號和系統的時域和頻域特性;利用線性卷積求訊號通過系統的響應y(n),比較所求響應y(n)和的時域及頻域特性,注意它們之間有無差別。繪圖說明,並用所學理論解釋所得結果。

實驗結果如下圖所示:

b.觀察系統對訊號的響應特性。利用線性卷積求系統響應y(n),並判斷y(n)圖形及其非零值序列長度是否與理論結果一致,對,說出一種定性判斷y(n)圖形正確與否的方法。

呼叫序列傅利葉變換數值計算子程式,求得,觀察||特性曲線,定性判斷結果的正確性。改變的長度,取n=5,重複該實驗。注意引數變化的影響,說明變化前後的差異,並解釋所得結果。

實驗結果如下圖所示:

n=10:

n=5:

欲判斷結果正確與否,可以先對其進行運算,算出其卷積,再與圖形對照。

當n=10時,峰值較高,且峰值很窄,變換之後圖形頻帶主值部分比較集中;n=5時情況與之相反。

③卷積定理的驗證。將實驗②中的訊號換為,使a=0.4,a=1,t=1,重複實驗②a,列印||曲線;對主程式做簡單修改,按式(10.

3.9)計算,並繪出||曲線,與前面直接對y(n)進行傅利葉變換所得幅頻特性曲線進行比較,驗證時域卷積定理。

實驗所得結果如下:

四、思考題

1、在分析理想取樣序列特性的實驗中,取樣頻率不同,相應理想取樣序列的傅利葉變換頻譜的數字頻率度量是否都相同?它們所對應的模擬頻率是否相同?為什麼?

答:由可知,若取樣頻率不同,則其週期t不同,相應的數字頻率也不相同;而因為是同一訊號,故其模擬頻率保持不變。

2、在卷積定理驗證的實驗中,如果選用不同的頻域取樣點數m值,例如,選m=10和m=20,分別做序列的傅利葉變換,求得

,k=0,1,…,m-1

所得結果之間有無差異?為什麼?

答:有差異。因為所得圖形由其取樣點數唯一確定,由頻域取樣定理可知,若取樣點數m小於序列的長度n,則恢復原序列時會發生時域混疊現象。

實驗二用fft作譜分析

一、 實驗目的

1、 進一步加深dft演算法原理和基本性質的理解(因為fft只是dft的一

種快速演算法,所以fft的運算結果必然滿足dft的基本性質)。

2、熟悉fft演算法原理和fft子程式的應用。

3、學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出

現的分析誤差及其原因,以便在實際中正確應用fft。

二、 實驗步驟

1、 複習dft的定義、性質和用dft作譜分析的有關內容。

2、 複習fft演算法原理與程式設計思想,並對照dit—fft運算流圖和程式框圖,

讀懂本實驗提供的fft子程式。

3、 編制訊號產生子程式,產生以下典型訊號供譜分析:

4、編寫主程式。

dit-fft 函式(c語言) */;

fft—基 2dit—fft函式

要求: 指向複數陣列指標x, fft長度為2m, m為正整數

fft輸出結果放在輸入複數陣列中。

/*計算n點fft子程式*/

/*xr:=訊號序列實部,xi:=訊號序列虛部,n:=fft變換區間長度n=2^m*/

/*如果訊號長度小於n,應該給xr,xi後面補0*/

/*計算結果x(k)的實部和虛部分別儲存在陣列xr和xi中*/

void fft(double xr[],double xi[],int n,int m)

changeorder( xr, xi, n);/*呼叫倒序子程式*/

/*計算各級蝶形*/

for(l=1;l<=m;l++)

}/*倒序子程式*/

void changeorder(double xr[],double xi[],int n)

{ int lh,n1,i,j,k;

double t;

lh = n/2; j = lh; n1 = n-2;

for(i =1;i<=n1;i++)

數字訊號處理實驗報告

一 實驗目的 1.複習和鞏固數字訊號處理中離散訊號的產生和運算 2.學習和掌握用matlab產生離散訊號的方法 3.學習和掌握用matlab對離散訊號進行運算 二 實驗原理 1 用matlab函式產生離散訊號 訊號是數字訊號處理的最基本內容。沒有訊號,數字訊號處理就沒了工作物件。matlab7.0內...

數字訊號處理實驗報告

山東建築大學實驗報告 課程 數字訊號處理 院 部 資訊與電氣工程學院 專業 電子資訊工程 班級 電信112 學生姓名 王丙全 學號 2011081245 指導老師 耿淑娟 完成時間 2013.11.08 山東建築大學實驗報告 學院 資訊與電氣工程學院班級電信112 姓名 王丙全學號 20110812...

數字訊號處理實驗報告

學號 1080420123 姓名 王逸群 哈爾濱工業大學 2012年4月20日 實驗三 用fft對訊號作頻譜分析 3.1實驗程式清單 用fft對訊號作頻譜分析 clear all close all 實驗內容 1 x1n ones 1,4產生序列向量x1 n r4 n m 8 xa 1 m 2 xb...