<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            頻譜泄漏和hann窗?

            相關文檔: 頻域信號處理

            對于8kHz取樣頻率的200Hz 300Hz的疊加波形進行512點FFT計算其頻譜,比較矩形窗和hann窗的頻譜泄漏。

            # -*- coding: utf-8 -*-
            #用hann窗降低頻譜泄漏
            #
            import numpy as np
            import pylab as pl
            import scipy.signal as signal
            
            sampling_rate = 8000
            fft_size = 512
            t = np.arange(0, 1.0, 1.0/sampling_rate)
            x = np.sin(2*np.pi*200*t)  + 2*np.sin(2*np.pi*300*t)
            
            xs = x[:fft_size] 
            ys = xs * signal.hann(fft_size, sym=0)
            
            xf = np.fft.rfft(xs)/fft_size
            yf = np.fft.rfft(ys)/fft_size
            freqs = np.linspace(0, sampling_rate/2, fft_size/2+1)
            xfp = 20*np.log10(np.clip(np.abs(xf), 1e-20, 1e100))
            yfp = 20*np.log10(np.clip(np.abs(yf), 1e-20, 1e100))
            pl.figure(figsize=(8,4))
            pl.title(u"200Hz和300Hz的波形和頻譜")
            pl.plot(freqs, xfp, label=u"矩形窗")
            pl.plot(freqs, yfp, label=u"hann窗")
            pl.legend()
            pl.xlabel(u"頻率(Hz)")
            
            a = pl.axes([.4, .2, .4, .4])
            a.plot(freqs, xfp, label=u"矩形窗")
            a.plot(freqs, yfp, label=u"hann窗")
            a.set_xlim(100, 400)
            a.set_ylim(-40, 0)
            pl.show()
            

            上一篇文章

            三維標量場觀察器

            下一篇文章

            FFT卷積的速度比較

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线