最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

FFT快速傅里葉變換的python實(shí)現(xiàn)過程解析

 更新時(shí)間:2019年10月21日 16:55:37   作者:思念殤千尋  
這篇文章主要介紹了FFT快速傅里葉變換的python實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

FFT是DFT的高效算法,能夠?qū)r(shí)域信號(hào)轉(zhuǎn)化到頻域上,下面記錄下一段用python實(shí)現(xiàn)的FFT代碼。

# encoding=utf-8

import numpy as np
import pylab as pl # 導(dǎo)入和matplotlib同時(shí)安裝的作圖庫pylab


sampling_rate = 8000 # 采樣頻率8000Hz
fft_size = 512  # 采樣點(diǎn)512,就是說以8000Hz的速度采512個(gè)點(diǎn),我們獲得的數(shù)據(jù)只有這512個(gè)點(diǎn)的對(duì)應(yīng)時(shí)刻和此時(shí)的信號(hào)值。
t = np.linspace(0, 1, sampling_rate)  # 截取一段時(shí)間,截取是任意的,這里取了0~1秒的一段時(shí)間。

x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t) # 輸入信號(hào)序列,人工生成了一段信號(hào)序列,范圍在0~1秒
xs = x[:fft_size]  # 由上所述,我們只采樣了512個(gè)點(diǎn),所以我們只獲得了前512個(gè)點(diǎn)的數(shù)據(jù)
xf = np.fft.rfft(xs)/fft_size # 調(diào)用np.fft的函數(shù)rfft(用于實(shí)值信號(hào)fft),產(chǎn)生長(zhǎng)度為fft_size/2+1的一個(gè)復(fù)數(shù)向量,分別表示從0Hz~4000Hz的部分,這里之所以是4000Hz是因?yàn)镹yquist定理,采樣頻率8000Hz,則能恢復(fù)帶寬為4000Hz的信號(hào)。最后/fft_size是為了正確顯示波形能量

freqs = np.linspace(0, sampling_rate//2, fft_size//2 + 1) # 由上可知,我們得到了數(shù)據(jù),現(xiàn)在產(chǎn)生0~4000Hz的頻率向量,方便作圖
xfp = 20*np.log10(np.clip(np.abs(xf), 1e-20, 1e1000)) # 防止幅值為0,先利用clip剪裁幅度,再化成分貝

pl.figure(figsize=(8, 4)) # 生成畫布
pl.subplot(211) # 生成子圖,211的意思是將畫布分成兩行一列,自己居上面。
pl.plot(t[:fft_size], xs) # 對(duì)真實(shí)波形繪圖
pl.xlabel(u"time(s)")
pl.title(u"The Wave and Spectrum of 156.25Hz and 234.375Hz")
pl.subplot(212) # 同理
pl.plot(freqs, xfp) # 對(duì)頻率和幅值作圖,xlabel是頻率Hz,ylabel是dB
pl.xlabel(u"Hz")
pl.subplots_adjust(hspace=0.4) # 調(diào)節(jié)繪圖參數(shù)
pl.show()

代碼進(jìn)行了詳細(xì)標(biāo)注。有一個(gè)小細(xì)節(jié)是FFT對(duì)于取樣時(shí)間有要求。N點(diǎn)FFT進(jìn)行精確頻譜分析的要求是N個(gè)取樣點(diǎn)包含整數(shù)個(gè)取樣對(duì)象的波形。因此N點(diǎn)FFT能夠完美計(jì)算頻譜,對(duì)取樣對(duì)象的要求是n*Fs/N(n*采樣頻率/FFT長(zhǎng)度)在本例中Fs = 8000Hz,N=512 base_freq=15.625Hz 所以本例中給出了頻率為156.25Hz(n=10)和234.375Hz(n=15)做例子。

效果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python利用BeautifulSoup解析網(wǎng)頁內(nèi)容

    Python利用BeautifulSoup解析網(wǎng)頁內(nèi)容

    當(dāng)今信息爆炸的時(shí)代,網(wǎng)絡(luò)上充斥著海量的數(shù)據(jù),而網(wǎng)絡(luò)爬蟲作為一種數(shù)據(jù)采集工具,扮演著至關(guān)重要的角色,BeautifulSoup 是一個(gè)Python庫,它可以從HTML或XML文件中提取數(shù)據(jù),本文介紹了Python如何利用BeautifulSoup解析網(wǎng)頁內(nèi)容,需要的朋友可以參考下
    2024-06-06
  • Python全棧之學(xué)習(xí)CSS(2)

    Python全棧之學(xué)習(xí)CSS(2)

    這篇文章主要為大家介紹了Python全棧之CSS,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python教程之基本運(yùn)算符的使用(上)

    Python教程之基本運(yùn)算符的使用(上)

    Python?運(yùn)算符通常用于對(duì)值和變量執(zhí)行操作。這些是用于邏輯和算術(shù)運(yùn)算的標(biāo)準(zhǔn)符號(hào)。在本文中,我們將研究不同類型的?Python?運(yùn)算符,感興趣的可以了解一下
    2022-09-09
  • Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實(shí)例

    Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實(shí)例

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • pytorch SENet實(shí)現(xiàn)案例

    pytorch SENet實(shí)現(xiàn)案例

    這篇文章主要介紹了pytorch SENet實(shí)現(xiàn)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python 多線程實(shí)現(xiàn)檢測(cè)服務(wù)器在線情況

    python 多線程實(shí)現(xiàn)檢測(cè)服務(wù)器在線情況

    本文給大家分享的是Python使用多線程通過ping命令檢測(cè)服務(wù)器的在線狀況,給大家了內(nèi)網(wǎng)和外網(wǎng)的2個(gè)例子,有需要的小伙伴可以參考下。
    2015-11-11
  • Pytorch結(jié)合PyG實(shí)現(xiàn)MLP過程詳解

    Pytorch結(jié)合PyG實(shí)現(xiàn)MLP過程詳解

    這篇文章主要為大家介紹了Pytorch結(jié)合PyG實(shí)現(xiàn)MLP過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 使用python下載大型文件顯示進(jìn)度條和下載時(shí)間的操作代碼

    使用python下載大型文件顯示進(jìn)度條和下載時(shí)間的操作代碼

    大家都知道下載大型文件時(shí)存在一個(gè)問題,那就是內(nèi)存使用量迅速上升,可能會(huì)造成電腦卡死,所以我們需要換一個(gè)方式進(jìn)行下載,這篇文章主要介紹了使用python下載大型文件的方法顯示進(jìn)度條和下載時(shí)間,需要的朋友可以參考下
    2022-11-11
  • TensorFlow中如何確定張量的形狀實(shí)例

    TensorFlow中如何確定張量的形狀實(shí)例

    這篇文章主要介紹了TensorFlow中如何確定張量的形狀實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 利用Pandas讀取表格行數(shù)據(jù)判斷是否相同的方法

    利用Pandas讀取表格行數(shù)據(jù)判斷是否相同的方法

    這篇文章主要給大家介紹了關(guān)于利用Pandas讀取表格行數(shù)據(jù)判斷是否相同的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

西安市| 当阳市| 革吉县| 宁化县| 正宁县| 曲沃县| 盘山县| 东港市| 马关县| 南雄市| 诸暨市| 司法| 郧西县| 淮安市| 镇巴县| 衡阳市| 嘉善县| 南召县| 汉源县| 辉南县| 乐陵市| 荔浦县| 兴仁县| 阿拉尔市| 邵阳市| 南召县| 会东县| 乐至县| 诏安县| 乌拉特后旗| 肃宁县| 洛南县| 师宗县| 马鞍山市| 新宁县| 青田县| 尚义县| 原阳县| 肃宁县| 高淳县| 丰顺县|