乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      窗函數(shù)(window?function)

       等緣708 2013-01-22

      窗函數(shù)(window function)

      (2011-07-07 16:06:41)

      窗函數(shù)是頻譜分析中一個(gè)重要的部分,窗函數(shù)修正了由于信號(hào)的非周期性并減小了頻譜中由于泄露而帶來(lái)的測(cè)量不準(zhǔn)確性

      快速傅里葉變換假定了時(shí)間信號(hào)是周期無(wú)限的。但在分析時(shí),我們往往只截取其中的一部分,因此需要加窗以減小泄露。窗函數(shù)可以加在時(shí)域,也可以加在頻域上,但在時(shí)域上加窗更為普遍。截?cái)嘈?yīng)帶來(lái)了泄漏,窗函數(shù)是為了減小這個(gè)截?cái)嘈?yīng),其設(shè)計(jì)成一組加權(quán)系數(shù)。例如,一個(gè)窗函數(shù)可以定義為:
      w(t)=g(t)       -T/2<t<T/2
      w(t)=0          其他

      g(t)是窗函數(shù),T是窗函數(shù)的時(shí)間.

      待分析的數(shù)據(jù)x(t)則表示為:

      x(t)=w(t)*x(t)'

      x(t)'表示原始信號(hào),x(t)表示待分析信號(hào)。

       

      加窗在時(shí)域上表現(xiàn)的是點(diǎn)乘,因此在頻域上則表現(xiàn)為卷積。卷積可以被看成是一個(gè)平滑的過(guò)程。這個(gè)平滑過(guò)程可以被看出是由一組具有特定函數(shù)形狀的濾波器,因此,原始信號(hào)中在某一頻率點(diǎn)上的能量會(huì)結(jié)合濾波器的形狀表現(xiàn)出來(lái),從而減小泄漏?;谶@個(gè)原理,人們通常在時(shí)域上直接加窗。

      大多數(shù)的信號(hào)分析儀一般使用矩形窗(rectangular),漢寧(hann),flattop和其他的一些窗函數(shù)。

      矩形窗函數(shù):
      w(k)=1

      漢寧窗:     
      w(k)=0.5*(1-cos(2*pi*k/(N-1)))     0<=k<=N-1

      由于加窗計(jì)算中衰減了原始信號(hào)的部分能量,因此對(duì)于最后的結(jié)果還需要加上修正系數(shù)。在線性譜分析中,一般使用幅度系數(shù)(amplitude correction),在功率譜中,一般使用能量系數(shù)(energy correction)。(這段不清楚在實(shí)際中如何用)

       

      matlab中提供了很多窗函數(shù),如下

      image

      還提供了顯示窗函數(shù)的GUI工具,如wvtool可以顯示用來(lái)顯示窗的形狀和頻域圖形,wintool可以打開(kāi)窗設(shè)計(jì)和分析工具,如運(yùn)行

      wvtool(hamming(64),hann(64),gausswin(64))

      可以對(duì)比漢明窗、漢寧窗和高斯窗

      image

       

      簡(jiǎn)單測(cè)試一下加窗的效果如下

      image

      image

      可以看到加窗后,頻譜泄露確實(shí)減少了,但同時(shí)信號(hào)能量也減小了,這也許就是所說(shuō)的要使用能量系數(shù)吧,如下,這樣一來(lái),對(duì)比就更明顯了,加窗可以有效的減少頻譜泄露。

      image

       

      測(cè)試代碼如下

      %% 窗函數(shù)測(cè)試
      function main
      clc
      close all

      Ts = 0.001;
      Fs = 1/Ts;
      %% 原始信號(hào)
      t = 0:Ts:pi/2;
      yt = sin(2*pi*5*t) + sin(2*pi*10*t) + sin(2*pi*15*t);
      [Yf, f] = Spectrum_Calc(yt, Fs);

      figure
      subplot(211)
      plot(t, yt)
      xlabel('t')
      ylabel('y')
      title('原始信號(hào)')
      subplot(212)
      plot(f, Yf)
      xlabel('f')
      ylabel('|Yf|')
      xlim([0 100])
      ylim([0 1])
      title('原始信號(hào)頻譜')

      %% 加窗信號(hào)
      win = hann(length(t));
      yt1 = yt.*win';
      [Yf1, f1] = Spectrum_Calc(yt1, Fs);

      figure
      subplot(211)
      plot(t, yt1)
      xlabel('t')
      ylabel('y')
      title('加窗信號(hào)')
      subplot(212)
      plot(f1, 2*Yf1) % 2表示能量系數(shù)
      xlabel('f')
      ylabel('|Yf|')
      xlim([0 100])
      ylim([0 1])
      title('加窗信號(hào)頻譜')
      end

      %% 求取頻譜
      function [Yf, f] = Spectrum_Calc(yt, Fs)
      L = length(yt);

      NFFT = 2^nextpow2(L);
      Yf = fft(yt,NFFT)/L;

      Yf = 2*abs(Yf(1:NFFT/2+1));
      f = Fs/2*linspace(0,1,NFFT/2+1);
      end

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多