DSP研究性學習報告頻譜計算

2021-03-04 05:09:37 字數 5764 閱讀 7912

《數字訊號處理》課程研究性學習報告

dft近似計算訊號頻譜專題研討

【目的】

(1) 掌握利用dft近似計算不同型別訊號頻譜的原理和方法。

(2) 理解誤差產生的原因及減小誤差的方法。

(3) 培養學生自主學習能力,以及發現問題、分析問題和解決問題的能力。

【研討題目】 基本題

1.利用dft分析x(t)=acos(2πf1t)+bcos(2πf2t)的頻譜,其中f1=100hz,f2=120hz。

(1)a=b=1; (2)a=1,b=0.2。要求選擇不同的窗函式。

【題目分析】

由dft結果可得:通過對不同抽樣頻率,不同的窗函式對訊號的dft結果可以看出:在對訊號做dft時,由於對訊號進行截短,因此會產生頻譜洩漏,要想從頻譜中很好的分辨出個頻率分量,需要考慮時域抽樣頻率,所加的窗函式,窗函式的長度,以及dft的點數等引數對結果的影響:

因為f1 < f2,

所以為滿足抽樣定理,應使fsam>=2 f2 即fsam>=240hz

△f=f2 -f1=20

n>=c fsam/△f

(1)a=b=1 x(t)=cos(2πf1t)+cos(2πf2t)

矩形窗1:

條件:fsam=240hz

n=20

l=512

矩形窗2:

條件:fsam=600hz

n=40

l=512

矩形窗3:

fsam=1200hz

n=80

l=512

hamming窗1:

n=40;

l=512;

fs=600;

hamming窗2:

n=120;

l=512;

fs=600;

(2)a=1,b=0.2

x(t)=cos(2πf1t)+0.2cos(2πf2t)

矩形窗:

n=100;

l=512;

fs=600;

hamming窗:

n=100;

l=512;

fs=600;

【**結果】

(1)a=b=1 x(t)=cos(2πf1t)+cos(2πf2t)

矩形窗:

hamming窗:

(2)a=1,b=0.2

x(t)=cos(2πf1t)+0.2cos(2πf2t)

矩形窗:

【結果分析】

在(1)中進行矩形窗**時,我們選擇了不同的fsam,分別為240,600,1200它們均滿足抽樣定理,但是我們仍舊發現,在240hz時出現了混疊現象。所以,在實際應用中抽樣頻率應大於最低抽樣頻率3-5倍才能有更好的結果。

進行hamming窗**時,在保證抽樣頻率相同的條件下,取不同的長度也40,120。其中,n=40不滿足n>=60的要求,我們可以看到出現了混疊,而n=120時,**效果良好。

在(2)的條件下進行**時,我們選取了相同的n、l、fsam值,但是分別使用了矩形窗和hamming窗。使用矩形窗時,幅度較小的峰值與旁瓣的幅度接近,甚至難以區分,效果不理想。使用hamming窗後,洩露現象被有效遏制,所以可以清楚區分主瓣、旁瓣。

綜上所述,在選擇引數進行dft變換時,應該保證抽樣頻率滿足抽樣定理,並且能大於最小抽樣值3-5倍。長度選擇保證n>=c fsam/△f。為防止洩露現象,特別是峰值之間差異較大時,應該選擇加特殊的窗,如hamming窗。

【自主學習內容】

【閱讀文獻】

【發現問題】 (專題研討或相關知識點學習中發現的問題):

按照理論分析最小抽樣頻率只需要滿足2fmax就可以滿足抽樣定理,但在**中發現該頻率無法滿足要求,頻譜發生嚴重的混疊。所以抽樣頻率應為最小抽樣頻率3-5倍。

另外,在使用哈明窗作為窗函式時,按照理論分析,哈明窗長度滿足n>2fs/f,結合題中條件,當fs=600時n為60時恰好可以分出頻譜,而實際中n=60時無法分出兩個頻率分量,當n=90時則可以分出。因此在做dft是窗函式長度應大於最小長度。

【問題**】

【**程式】

(1)矩形窗1程式:

n=20;

l=512;

f1=100;f2=120;fs=240;

t=1/fs;

ws=2*pi*fs;

t=(0:n-1)*t;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);

x=fft(x,l);

w=(-ws/2+(0:l-1)*ws/l)/(2*pi);

plot(w,abs(x));

ylabel('矩形窗1')

矩形窗2程式:

n=40;

l=512;

f1=100;f2=120;fs=600;

t=1/fs;

ws=2*pi*fs;

t=(0:n-1)*t;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);

x=fft(x,l);

w=(-ws/2+(0:l-1)*ws/l)/(2*pi);

plot(w,abs(x));

ylabel('矩形窗2')

hamming1:

n=40;

l=512;

f1=100;f2=120;fs=600;

t=1/fs;

ws=2*pi*fs;

t=(0:n-1)*t;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);

wh=(hamming(n))';

x=x.*wh;

x=fft(x,l);

w=(-ws/2+(0:l-1)*ws/l)/(2*pi);

plot(w,abs(x));

ylabel('hamming1')

hamming2

n=120;

l=512;

f1=100;f2=120;fs=600;

t=1/fs;

ws=2*pi*fs;

t=(0:n-1)*t;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);

wh=(hamming(n))';

x=x.*wh;

x=fft(x,l);

w=(-ws/2+(0:l-1)*ws/l)/(2*pi);

plot(w,abs(x));

ylabel('hamming1')

(2)矩形窗:

n=100;

l=512;

f1=100;f2=120;fs=600;

t=1/fs;

ws=2*pi*fs;

t=(0:n-1)*t;

x=cos(2*pi*f1*t)+0.2*cos(2*pi*f2*t);

x=fft(x,l);

w=(-ws/2+(0:l-1)*ws/l)/(2*pi);

plot(w,abs(x));

ylabel('(2)矩形窗')

hamming窗:

n=100;

l=512;

f1=100;f2=120;fs=600;

t=1/fs;

ws=2*pi*fs;

t=(0:n-1)*t;

x=cos(2*pi*f1*t)+0.2*cos(2*pi*f2*t);

wh=(hamming(n))';

x=x.*wh;

x=fft(x,l);

w=(-ws/2+(0:l-1)*ws/l)/(2*pi);

plot(w,abs(x));

ylabel('(2)hamming°')

【研討題目】 基本題

2.已知一離散序列為

(1)用l=32點dft計算該序列的頻譜,求出頻譜中譜峰的頻率;

(2)對序列進行補零,然後分別用l=64、128、256、512點dft計算該序列的頻譜,求出頻譜中譜峰的頻率;

(3)討論所獲得的結果,給出你的結論。該結論對序列的頻譜計算有何指導意義?

【題目分析】

對離散非週期序列做dft時,所得結果相當於對序列做傅利葉變換,再在乙個週期內進行頻域抽樣,而dft的點數為頻域抽樣的點數

【溫磬提示】

在計算離散非週期序列頻譜時常用ω/π作為橫座標,稱ω/π為歸一化頻率(normalized frequency)。在畫頻譜時需給出橫座標。每幅圖下都需給出簡要的文字說明。

由於離散非週期序列頻譜是週期的,所以在計算時不需要用fftshift 函式對fft計算的結果進行重新排列。

【序列頻譜計算的基本方法】

在**軟體中fft函式可以進行離散序列的dft其呼叫形式為:fft(x,n)計算序列的n點dft,若序列長度為m,當m>n時則將原序列截短為n點序列再進行計算,若n>m則將序列補零後在做n點的dft.

【**結果】

【結果分析】

對序列進行32點的dft得到的頻譜如圖所示,譜峰的頻率分別為0.09pi和0.91pi(-0.09pi)

對序列補零後再做dft相當於增加了dft的點數,即頻域抽樣的點數,而原離散序列沒有改變,其傅利葉變換結果也沒有改變,同時若dft點數太少則獲得的頻譜資訊過少,有可能會使得重要的頻率資訊丟失當1,**結果為:

l=32時譜峰的頻率為0.2pi和1.8pi

由結果可知,dft點數越多,產生的離散譜中含有的資訊也就越多,得到的頻譜能更好的反應原連續譜中的資訊

在對離散序列用dft做譜分析時,應當適當增加dft的點數,以減小柵欄效應

【自主學習內容】

【閱讀文獻】

【發現問題】 (專題研討或相關知識點學習中發現的問題):

【問題**】

【**程式】

k=0:31

x=sin(0.2*pi*k)

k1=0:31

x_32=fft(x,32)

subplot(5,1,1)

plot(2*k1/32,abs(x_32),'g')

title('l=32')

k2=0:63

x_64=fft(x,64)

subplot(5,1,2)

plot(2*k2/64,abs(x_64),'r')

title('l=64')

k3=0:127

x_128=fft(x,128)

subplot(5,1,3)

plot(2*k3/128,abs(x_128),'m')

title('l=128')

k4=0:255

x_256=fft(x,256)

subplot(5,1,4)

plot(2*k4/256,abs(x_256),'y')

title('l=256')

k5=0:511

x_512=fft(x,512)

subplot(5,1,5)

plot(2*k5/512,abs(x_512),'k')

title('l=512')

figure

k=0:31

x=sin(0.2*pi*k)

l=0:1023

x=fft(x,1024)

subplot(2,1,1)

plot(l/1024,abs(x),'r')

hold on;

k1=0:31

x_32=fft(x,32)

stem(2*k1/32,abs(x_32),'x','b')

title('l=32')

l=512;

f1=0.1;fs=0.4;

t=1/fs;

ws=2*pi*fs;

k=(0:1:l-1)*t;

x=sin(0.2*pi*k);

DSP研究性學習報告

數字訊號處理 課程研究性學習報告 姓名學號 同組成員 指導教師 時間dft近似計算訊號頻譜專題研討 目的 1 掌握利用dft近似計算不同型別訊號頻譜的原理和方法。2 理解誤差產生的原因及減小誤差的方法。3 培養學生自主學習能力,以及發現問題 分析問題和解決問題的能力。研討題目 1 利用dft分析x ...

DSP研究性學習報告基本概念和技能

近代數字訊號處理 課程研究性學習報告 姓名學號 同組成員 指導教師 時間基本概念和技能學習報告 目的 1 掌握離散訊號和系統時域 頻域和z域分析中的基本方法和概念 2 學會用計算機進行離散訊號和系統時域 頻域和z域分析。3 培養學生自主學習能力,以及發現問題 分析問題和解決問題的能力。m1 2 利用...

研究性學習報告

研究背景 根據現有的地質資料分析,全州硒礦資源分布廣泛,遍及六縣兩市,主要分布在恩施市 宣恩縣 建始縣,其次為利川市 巴東縣 鶴峰縣以及咸豐縣和來鳳縣。此外,在雙河礦區外圍還有3個硒礦點,12個硒礦化點。硒礦石中主要組分為硒,伴生組分主要為釩 鉬,可供綜合利用。個人研究綜述 恩施高中組織這次意義非凡...