資源描述:
《基于matlab的功率譜估計畢業(yè)設計論文》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、題目基于matlab的功率譜估計學院通信工程學院專業(yè)通信與信息系統(tǒng)第一章功率譜估計分析及比較1.實驗目的(1)掌握Welch算法的概念、應用及特點;(2)了解譜估計在信號分析中的作用;(3)能夠利用Welch法對信號作譜估計,對信號的特點加以分析。2.實驗內容(1)讀入實驗數(shù)據(jù)。(2)編寫一利用Welch法作估計的算法程序。(3)將計算結果表示成圖形的形式,給出信號譜的分布情況圖。3.譜估計方法簡介(1)周期圖法周期圖法是直接建立在功率譜的定義式上的,也稱之為直接法。原理計算如下:a)取N點數(shù)據(jù)的DTFT(DFT);b)求模之平方并除以N;(2)自相關法自相關法
2、的原理是由維納-辛欽公式,經(jīng)自相關函數(shù)間接獲得的。原理計算如下:a)x(n),N點T2N-1點,得Rxx(m);b)按2N-1點對Rxx(m);作DFT,Rxx(m)能推出SBT(k);(3)加窗平滑法(BT法)加窗平滑法的原理是先做自相關估計,在選擇合適的窗函數(shù)相乘,也即截斷,然后作DFT。(4)平均周期圖法(Bartlett法)平均周期圖法的原理是個獨立同分布的隨機變量的均值之方差,等于單個變量方差的1/k。具體的方法步驟是長數(shù)據(jù)N分成k段,每段M=N/k,針對每段分別用周期圖法求譜,然后k段平均后求的的就是譜估計。ww(5)韋爾奇(Welch)譜估計法韋爾
3、奇譜估計法將加窗平滑法和平均周期法二者相結合,其原理在于:a)把N個數(shù)據(jù)分成k段,每段可以互相獨立(如平均周期圖法)a)再把每段數(shù)據(jù)乘上窗函數(shù)w(n)(如加窗平滑法)后作DFT。第二部分仿真結果圖未加窗時周期圖:取平均后的圖形為:加窗周期圖法:加矩形窗:取平均后的圖形為:加漢明窗后的圖形為:取平均后的圖形為:下圖為采樣頻率為100,窗函數(shù)分別取矩形窗、漢寧窗和漢明窗時的圖形:未加窗時自相關法:取平均后的圖形為:B-T法:加漢明窗時:取平均后的圖形為:welch法:L=512,加漢明窗,50%重疊取平均后的圖形為:L=512,加矩形窗,50%重疊取平均后的圖形為:
4、L=256,加漢明窗,50%重疊取平均后的圖形為:L=256,加矩形窗,50%重疊取平均后的圖形為:L=128,加漢明窗,50%重疊取平均后的圖形為:Bartlett法:L=512,加漢明窗取平均后的圖形為:L=256,加漢明窗取平均后的圖形為:L=128,加漢明窗取平均后的圖形為:第三章結果分析(1)周期圖法周期圖法所求得的功率譜振蕩劇烈,信號方差較大,不利于對功率信號的分析。缺少了統(tǒng)計平均時,記錄的信號序列長度一定的條件下,要保證足夠高的譜分辨率,譜估計的方差就會很大,譜的正確性會很差。當數(shù)據(jù)長度N太大時,譜曲線呈現(xiàn)較大的起伏;當數(shù)據(jù)長度N太小時,譜的分辨率
5、又不好。(2)自相關法先根據(jù)實驗所給數(shù)據(jù)求解出自相關函數(shù),然后對自相關函數(shù)進行傅里葉變換,從而得到功率譜估計。從圖中可以看出,自相關法得到的結果與周期圖法相似,同樣是方差較大,信號振蕩大。(3)加窗平滑法(BT)根據(jù)加窗平滑法的求解步驟進行編程,取窗函數(shù)為矩形窗。但是可以看出在L取較大時性能不是很好。(4)平均周期圖法(Bartlett)將數(shù)據(jù)平均分為K段,Bartlett法很好地改善了直接法的方差特性,但是它是以犧牲偏差和分辨率為代價的。(5)Welch法Welch法各段允許交疊,從而增大了段數(shù)L,這樣可以更好地改善方差特性。但是,數(shù)據(jù)的交疊又減小了每一段的不
6、相關性,使方差的減小不會達到理論計算的程度。另外,選擇合適的窗函數(shù)可以減小頻譜的泄漏,改善分辨率。另外,由矩形窗處理的譜估計的主瓣寬度最窄,分辨率最好,但是其旁瓣比其他窗函數(shù)的旁瓣要高,因此其正弦譜線附近的旁瓣泄漏比較嚴重,而且其起伏性較大,所以其方差特性最差。由海明窗處理譜估計的主瓣寬度最寬,因此其分辨率相對較差,但其旁瓣較小,大大改善了由矩形窗處理的譜估計旁瓣較大所產(chǎn)生的譜失真。究其原因,選擇不同的窗函數(shù)其主瓣寬度不一樣,造成譜估計的分辨率也不相同;另外,選擇不同的窗函數(shù)旁瓣的衰減速度也不相同,因而譜估計旁瓣的泄漏程度也不一樣。附錄:未加窗時周期圖:clea
7、r;Fs=1000;n=0:1/Fs:1;nfft=1024;x=cos(100*pi*n)+cos(200*pi*n)+0.25*cos(400*pi*n)+randn(size(n));y=fft(x);Rx=abs(y).^2/length(n);a=length(Rx);sum=zeros(1,a);fori=0:49x=cos(100*pi*n)+cos(200*pi*n)+0.25*cos(400*pi*n)+randn(size(n));y=fft(x);Rx=abs(y).^2/length(n);sum=sum+Rx;endxpsd=10*lo
8、g10(sum);plo