完整的維納濾波器Matlab源程序_第1頁
完整的維納濾波器Matlab源程序_第2頁
完整的維納濾波器Matlab源程序_第3頁
完整的維納濾波器Matlab源程序_第4頁
完整的維納濾波器Matlab源程序_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上clear;clc;%輸入信號A=1;                                            

2、0;         %信號的幅值f=1000;                                       &#

3、160;         %信號的頻率fs=105;                                       

4、         %采樣頻率t=(0:999);                                       &#

5、160;      %采樣點Mlag=100;                                          

6、   %相關函數長度變量   x=A*cos(2*pi*f*t/fs);                                %輸入正弦波信號xmean=mean(x);   &#

7、160;                                %正弦波信號均值xvar=var(x,1);             

8、0;                           %正弦波信號方差xn=awgn(x,5);                   &

9、#160;                     %給正弦波信號加入信噪比為20dB的高斯白噪聲figure(1)plot(t,xn)                     &

10、#160;                           %繪制輸入信號圖像title('輸入信號圖像') xlabel('x軸單位:t/s','color','b')ylabel('y軸單位:f/HZ','color',

11、9;b')xnmean=mean(xn)                                  %計算輸入信號均值xnms=mean(xn.2)        

12、                          %計算輸入信號均方值xnvar=var(xn,1)                    

13、;                   %計算輸入信號方差Rxn=xcorr(xn,Mlag,'biased');                   %計算輸入信號自相關函數figure(2)subpl

14、ot(221)plot(-Mlag:Mlag),Rxn)                             %繪制自相關函數圖像title('輸入信號自相關函數圖像')f,xi=ksdensity(xn);       

15、0;                          %計算輸入信號的概率密度,f為樣本點xi處的概率密度subplot(222)plot(xi,f)               

16、0;                                   %繪制概率密度圖像title('輸入信號概率密度圖像')X=fft(xn);       

17、                                           %計算輸入信號序列的快速離散傅里葉變換Px=X.*conj(X)/600; 

18、0;                                 %計算信號頻譜subplot(223)semilogy(t,Px)           &

19、#160;                              %繪制在半對數坐標系下頻譜圖像title('輸入信號在半對數坐標系下頻譜圖像')xlabel('x軸單位:w/rad','color','b')ylabel('y軸單位

20、:w/HZ','color','b')pxx=periodogram(xn);                               %計算輸入信號的功率譜密度subplot(224)semilogy(pxx)   

21、0;                                       %繪制在半對數坐標系下功率譜密度圖像title('輸入信號在半對數坐標系下功率譜密度圖像')xlabel('x軸單

22、位:w/rad','color','b')ylabel('y軸單位:w/HZ','color','b')%fir濾波wp=0.4*pi;                               &#

23、160;                %通帶截止頻率ws=0.6*pi;                              

24、60;                 %阻帶截止頻率DB=ws-wp;                              

25、0;                %過渡帶寬度N0=ceil(6.6*pi/DB);                              &#

26、160;     M=N0+mod(N0+1,2);                                %計算fir濾波器階數wc=(wp+ws)/2/pi;      

27、;                                %計算理想低通濾波器通帶截止頻率(關于歸一化)hn=fir1(M,wc);           

28、0;                              %調用fir1計算FIRDF的h(n)y1n=filter(hn,1,xn);             &

29、#160;                     %將輸入信號通過fir濾波器figure(3)plot(y1n)                       

30、;                            %繪制經過fir濾波器后信號圖像title('經過fir濾波器后信號圖像')xlabel('x軸單位:f/HZ','color','b')ylabel('y軸單位:A/V','colo

31、r','b')y1nmean=mean(y1n)                                %計算經過fir濾波器后信號均值y1nms=mean(y1n.2)      

32、60;                         %計算經過fir濾波器后信號均方值y1nvar=var(y1n,1)                   

33、;                  %計算經過fir濾波器后信號方差Ry1n=xcorr(y1n,Mlag,'biased');                 %計算經過fir濾波器后信號自相關函數figure(4)subplot

34、(221)plot(-Mlag:Mlag),Ry1n)                             %繪制自相關函數圖像title('經過fir濾波器后信號自相關函數圖像')f,y1i=ksdensity(y1n);     

35、60;                          %計算經過fir濾波器后信號的概率密度,f為樣本點xi處的概率密度subplot(222)plot(y1i,f)              &

36、#160;                                     %繪制概率密度圖像title('經過fir濾波器后信號概率密度圖像')Y1=fft(y1n);    

37、;                                            %計算經過fir濾波器后信號序列的快速離散傅里葉變換Py1=Y1.*conj(Y

38、1)/600;                               %計算信號頻譜subplot(223)semilogy(t,Py1)            &

39、#160;                             %繪制在半對數坐標系下頻譜圖像title('經過fir濾波器后信號在半對數坐標系下頻譜圖像')xlabel('x軸單位:w/rad','color','b')ylabel('y軸單

40、位:w/HZ','color','b')py1n=periodogram(y1n);                           %計算經過fir濾波器后信號的功率譜密度subplot(224)semilogy(py1n)     

41、                                     %繪制在半對數坐標系下功率譜密度圖像title('經過fir濾波器后信號在半對數坐標系下功率譜密度圖像')xlabel('x軸單位:w/rad

42、','color','b')ylabel('y軸單位:w/HZ','color','b')%維納濾波N=100;                                 &#

43、160;                      %維納濾波器長度Rxnx=xcorr(xn,x,Mlag,'biased');                   %產生輸入信號與原始信號的

44、互相關函數rxnx=zeros(N,1);                                       rxnx(:)=Rxnx(101:101+N-1);Rxx=zeros(N,N);

45、0;                                         %產生輸入信號自相關矩陣Rxx=diag(Rxn(101)*ones(1,N);for i=2:N &#

46、160;  c=Rxn(101+i)*ones(1,N+1-i);    Rxx=Rxx+diag(c,i-1)+diag(c,-i+1);endRxx;h=zeros(N,1);h=inv(Rxx)*rxnx;                             

47、             %計算維納濾波器的h(n)yn=filter(h,1,xn);                                

48、0;        %將輸入信號通過維納濾波器figure(5)plot(yn)                                     

49、60;                %繪制經過維納濾波器后信號圖像title('經過維納濾波器后信號信號圖像')xlabel('x軸單位:f/HZ','color','b')ylabel('y軸單位:A/V','color','b')ynmean=mean(yn)     &

50、#160;                               %計算經過維納濾波器后信號均值ynms=mean(yn.2)             &

51、#160;                       %計算經過維納濾波器后信號均方值ynvar=var(yn,1)                     

52、                    %計算經過維納濾波器后信號方差Ryn=xcorr(yn,Mlag,'biased');                     %計算

53、經過維納濾波器后信號自相關函數figure(6)subplot(221)plot(-Mlag:Mlag),Ryn)                               %繪制自相關函數圖像title('經過維納濾波器后信號自相關函數圖像')f,yi=ksdensit

54、y(yn);                                    %計算經過維納濾波器后信號的概率密度,f為樣本點xi處的概率密度subplot(222)plot(yi,f)                                         

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論