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

Python?numpy下幾種fft函數(shù)的使用方式

 更新時(shí)間:2022年08月22日 09:57:42   作者:安安爸Chris  
numpy中有一個(gè)fft的庫(kù),scipy中也有一個(gè)fftpack的庫(kù),各自都有fft函數(shù),兩者的用法基本是一致的,下面這篇文章主要給大家介紹了關(guān)于Python?numpy下幾種fft函數(shù)的使用方式,需要的朋友可以參考下

numpy下fft模塊提供了豐富的fft函數(shù),幾種常用的在這里記錄一下使用方式

fft

輸入實(shí)數(shù)samples,如果輸入的sample是帶虛數(shù)部分的話,虛數(shù)部分會(huì)被默認(rèn)刪除。

t=np.arange(12)
b=np.sin(t)
print(b)
print("sum(b)=", np.sum(b))

s = np.fft.fft(b)
print(s)

運(yùn)行結(jié)果截圖如下

從圖中可以看到,

  • [0]是一個(gè)實(shí)數(shù),實(shí)數(shù)部分是所有input中各個(gè)元素之和。
  • [i]與[N-i]共軛;輸入的N如果是偶數(shù),那么[N/2]沒(méi)有共軛的元素。 rfft

rfft

其實(shí)就是對(duì)fft的結(jié)果輸出做了省略。 針對(duì)剛剛提到的共軛特性,其實(shí)輸出結(jié)果是要保留(N+1)//2個(gè)結(jié)果就可以了。

t=np.arange(12)
b=np.sin(t)
print(b)
print("sum(b)=", np.sum(b))

s = np.fft.fft(b)
print("fft result:", s)

s = np.fft.rfft(b)
print("rfft result:", s)

np.fft.rfft

fftfreq

返回fft的頻率節(jié)點(diǎn)

上面的fft和rfft將時(shí)域數(shù)據(jù)轉(zhuǎn)為頻域,得到的數(shù)據(jù)的bin是哪些范圍?

可以通過(guò)fftfreq來(lái)獲取

第一個(gè)參數(shù)n是時(shí)域數(shù)據(jù)的數(shù)據(jù)個(gè)數(shù),第二個(gè)參數(shù)d是表示每一個(gè)bin的尺度。一般是1/sample_rate

t=np.arange(12)
b=np.sin(t)
print(b)
print("sum(b)=", np.sum(b))

s = np.fft.fft(b)
print("fft result:", s)

s = np.fft.rfft(b)
print("rfft result:", s)

s= np.fft.fftfreq(12, d=1/8000)
print(s)

其結(jié)果為

[    0.          666.66666667                      1333.33333333                     2000.
  2666.66666667  3333.33333333                    -4000.                          -3333.33333333
 -2666.66666667 -2000.                            -1333.33333333                    -666.66666667]

那么結(jié)合rfft的數(shù)據(jù)就有

BinRangeValue
bin[1]1~667HZ0.46997981+0.41183211j
bin[2]667~1334HZ-1.36179847-5.76500237j
bin[3]1334~2000HZ0.14669493-0.4965488j
bin[4]2000~2667HZ0.20513541-0.2233417j
bin[5]2667~3333HZ0.22157176-0.09538547j
bin[6]3333~4kHZ0.22563497+0.j

ifft

ifft是逆向fft操作,代碼如下

import numpy as np

t=np.arange(12)
b=np.sin(t)
print(b)

s = np.fft.fft(b)
#print(s)

y = np.fft.ifft(s)
print("restore:", y)

它的結(jié)果雖然也是復(fù)數(shù),但是在實(shí)數(shù)部分,可以看到,就是結(jié)果;

所以也可以直接輸出實(shí)數(shù)部分np.fft.ifft(s).real

irfft

irfft是配合rfft使用的; 上面的例子可以看到,如果信號(hào)長(zhǎng)度是n, 那么fft的輸出結(jié)果的長(zhǎng)度也是n;
但是rfft的結(jié)果是n//2+1;

irfft匹配的是rfft,所以它的參數(shù)長(zhǎng)度與ifft是不同的;兩者也不可混用。

import numpy as np

t=np.arange(12)
b=np.sin(t)
print(b)

s = np.fft.rfft(b)
#print(s)

y = np.fft.irfft(s)
print("restore:", y)

總結(jié)

到此這篇關(guān)于Python numpy下幾種fft函數(shù)使用的文章就介紹到這了,更多相關(guān)numpy fft函數(shù)的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)多并發(fā)訪問(wèn)網(wǎng)站功能示例

    Python實(shí)現(xiàn)多并發(fā)訪問(wèn)網(wǎng)站功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)多并發(fā)訪問(wèn)網(wǎng)站功能,結(jié)合具體實(shí)例形式分析了Python線程結(jié)合URL模塊并發(fā)訪問(wèn)網(wǎng)站的相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • 如何解決安裝python3.6.1失敗

    如何解決安裝python3.6.1失敗

    在本篇文章里小編給大家整理的是關(guān)于安裝python3.6.1失敗的解決方案,需要的讀者們可以跟著學(xué)習(xí)下。
    2020-07-07
  • Pytorch Tensor的統(tǒng)計(jì)屬性實(shí)例講解

    Pytorch Tensor的統(tǒng)計(jì)屬性實(shí)例講解

    今天小編就為大家分享一篇Pytorch Tensor的統(tǒng)計(jì)屬性實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python元組的定義及使用

    Python元組的定義及使用

    這篇文章主要介紹了Python元組的定義及使用,在Python中元組是一個(gè)和列表非常類似的數(shù)據(jù)類型,不同之處就是列表中的元素可以修改,而元組之中的元素不可以修改。想具體了解的下小伙伴請(qǐng)參考下面文章的具體內(nèi)容,希望對(duì)你有所幫助
    2021-11-11
  • python pandas模塊進(jìn)行數(shù)據(jù)分析

    python pandas模塊進(jìn)行數(shù)據(jù)分析

    Python的Pandas模塊是一個(gè)強(qiáng)大的數(shù)據(jù)處理工具,可以用來(lái)讀取、處理和分析各種數(shù)據(jù),本文主要介紹了python pandas模塊進(jìn)行數(shù)據(jù)分析,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 解決python父線程關(guān)閉后子線程不關(guān)閉問(wèn)題

    解決python父線程關(guān)閉后子線程不關(guān)閉問(wèn)題

    這篇文章主要介紹了解決python父線程關(guān)閉后子線程不關(guān)閉問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python的setattr函數(shù)實(shí)例用法

    python的setattr函數(shù)實(shí)例用法

    在本篇文章里小編給大家整理了一篇關(guān)于python的setattr函數(shù)實(shí)例用法的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2020-12-12
  • python中__init__方法知識(shí)點(diǎn)詳解

    python中__init__方法知識(shí)點(diǎn)詳解

    Python中常會(huì)看到在很多類中都有一個(gè)__init__函數(shù),該函數(shù)有什么作用,又該如何使用呢,下面這篇文章主要給大家介紹了關(guān)于python中__init__知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Python使用 Beanstalkd 做異步任務(wù)處理的方法

    Python使用 Beanstalkd 做異步任務(wù)處理的方法

    這篇文章主要介紹了Python使用 Beanstalkd 做異步任務(wù)處理的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python字符串split及rsplit方法原理詳解

    Python字符串split及rsplit方法原理詳解

    這篇文章主要介紹了Python字符串split及rsplit方法原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

麻栗坡县| 沅陵县| 东丽区| 阿瓦提县| 精河县| 万载县| 克东县| 冕宁县| 卓资县| 长汀县| 中西区| 汨罗市| 丰城市| 大余县| 华宁县| 芦山县| 花莲市| 锡林郭勒盟| 桃江县| 宝鸡市| 安国市| 灌阳县| 惠东县| 颍上县| 石嘴山市| 甘谷县| 遵义县| 大庆市| 墨玉县| 宜昌市| 集贤县| 邹平县| 峨眉山市| 宁安市| 大化| 松滋市| 突泉县| 东莞市| 泰兴市| 马山县| 常德市|