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

Python?scipy利用快速傅里葉變換實(shí)現(xiàn)濾波

 更新時(shí)間:2024年01月22日 09:02:25   作者:微小冷  
這篇文章主要為大家詳細(xì)介紹了Python?scipy如何利用快速傅里葉變換實(shí)現(xiàn)濾波,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

fft模塊簡(jiǎn)介

scipy官網(wǎng)宣稱,fftpack模塊將不再更新,或許不久之后將被廢棄,也就是說fft將是唯一的傅里葉變換模塊。

Fourier變換極其逆變換在數(shù)學(xué)上的定義如下

下表整理出一部分與Fourier變換相關(guān)的函數(shù),其中FFT為快速Fourier變換(Fast Fourier Transform);DCT為離散余弦變換(Discrete Cosine Transform);DST為離散正弦變換(discrete sine transform),另外,函數(shù)的前綴和后綴有如下含義

  • i表示逆變換;
  • 2, n分別表示2維和n維
正變換逆變換
通用fft, fft2, fftnifft, ifft2, ifftn
實(shí)數(shù)域rfft, rfft2, rfftnirfft, irfft2, irfftn
厄米對(duì)稱hfft, hfft2, hfftnihfft, ihfft2, ihfftn
離散余弦變換dct, dctnidct, idctn
離散正弦變換dst, dstnidst, idstn
漢克爾變換fhtifht
移動(dòng)零頻fftshiftifftshift
DFT采樣頻率fftfreqifftfreq

fft函數(shù)示例

在數(shù)值計(jì)算中,一切輸入輸出均為離散值,所以實(shí)際上用到的是離散Fourier變換,即DFT,其功能是將離散的采樣變換為一個(gè)離散的頻譜分布。

下面將手動(dòng)創(chuàng)建一組采樣點(diǎn),并添加一點(diǎn)噪聲,然后通過FFT獲取其頻域信息。

import numpy as np
from scipy import fft

PI = np.pi*2
fs = 60     #采樣頻率
T = 100     #采樣周期數(shù)
N = fs*T    #采樣點(diǎn)
t = np.linspace(0, T, N)
noise = 2 * np.random.randn(*t.shape)
s = 2 * np.sin(PI * t) + 3 * np.sin(22 * PI * t) + noise
F = fft.fft(s)
f = fft.fftfreq(N, 1.0/fs)

其中,t為時(shí)間序列,s為模擬的采樣點(diǎn),F是Fourier變換之后的結(jié)果。但由于fft默認(rèn)是在復(fù)數(shù)域上的,故而可以查看其實(shí)部、虛部、模和輻角的值。

下面對(duì)采樣點(diǎn)以及Fourier變換的結(jié)果進(jìn)行繪制

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2,2,1)
ax.plot(t, s)
ax.set_title("t vs s")
f_abs = np.abs(F)
ax = fig.add_subplot(2,2,2)
ax.plot(f, f_abs)
ax.set_title("fs vs |F|")

xlims = [[0,2], [21,23]]
for i, xlim in enumerate(xlims):
    ax = fig.add_subplot(2,2,3+i)
    ax.stem(f, f_abs)
    ax.set_title("fs vs |F|")
    ax.set_xlim(xlim)

plt.show()

結(jié)果為

即f=1和f=22處被篩選了出來。

濾波

有了這個(gè),就可以在頻域上對(duì)數(shù)據(jù)進(jìn)行濾波,其思路是,對(duì)f_abs中的值進(jìn)行閾值分割,例如,只篩選出低頻部分,然后看一下濾波效果

fig = plt.figure(1)
f_filt = F * (np.abs(f) < 2)
s_filt = fft.ifft(f_filt)
ax = fig.add_subplot()
ax.plot(t, s, lw=0.2)
ax.plot(t, s_filt.real, lw=2)
ax.set_title("threshold=2")
ax.set_xlim([0,10])
plt.show()

效果如下

到此這篇關(guān)于Python scipy利用快速傅里葉變換實(shí)現(xiàn)濾波的文章就介紹到這了,更多相關(guān)Python scipy實(shí)現(xiàn)濾波內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python推導(dǎo)表達(dá)式進(jìn)行高效數(shù)據(jù)處理的詳細(xì)方法

    Python推導(dǎo)表達(dá)式進(jìn)行高效數(shù)據(jù)處理的詳細(xì)方法

    在 Python編程中,推導(dǎo)表達(dá)式是一種簡(jiǎn)潔且高效的語法結(jié)構(gòu),能夠快速生成列表,字典,集合等數(shù)據(jù)結(jié)構(gòu),下面我們來看看Python如何利用推導(dǎo)表達(dá)式進(jìn)行高效數(shù)據(jù)處理吧
    2025-06-06
  • 對(duì)Python 窗體(tkinter)文本編輯器(Text)詳解

    對(duì)Python 窗體(tkinter)文本編輯器(Text)詳解

    今天小編就為大家分享一篇對(duì)Python 窗體(tkinter)文本編輯器(Text)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python使用websocket庫發(fā)送WSS請(qǐng)求

    python使用websocket庫發(fā)送WSS請(qǐng)求

    WebSocket是一種在客戶端和服務(wù)器之間進(jìn)行雙向通信的協(xié)議,Python中有許多WebSocket庫可供選擇,其中一個(gè)常用的是websocket庫,使用該庫可以輕松地發(fā)送WSS請(qǐng)求,需要的朋友可以參考下
    2023-10-10
  • Series和DataFrame使用簡(jiǎn)單入門

    Series和DataFrame使用簡(jiǎn)單入門

    這篇文章主要介紹了Series和DataFrame使用簡(jiǎn)單入門,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 零基礎(chǔ)學(xué)習(xí)Python中四大核心導(dǎo)包語法

    零基礎(chǔ)學(xué)習(xí)Python中四大核心導(dǎo)包語法

    這篇文章主要為大家詳細(xì)介紹了Python中四大核心導(dǎo)包語法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-04-04
  • python實(shí)現(xiàn)emoji對(duì)齊特殊字符對(duì)齊高級(jí)文本對(duì)齊

    python實(shí)現(xiàn)emoji對(duì)齊特殊字符對(duì)齊高級(jí)文本對(duì)齊

    這篇文章主要為大家介紹了python實(shí)現(xiàn)emoji對(duì)齊特殊字符對(duì)齊高級(jí)文本對(duì)齊方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python實(shí)現(xiàn)棋盤覆蓋問題及可視化

    python實(shí)現(xiàn)棋盤覆蓋問題及可視化

    這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)棋盤覆蓋問題及可視化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python如何提取chm數(shù)據(jù)

    Python如何提取chm數(shù)據(jù)

    這篇文章主要介紹了Python如何提取chm數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python如何實(shí)現(xiàn)全角半角的相互轉(zhuǎn)換

    python如何實(shí)現(xiàn)全角半角的相互轉(zhuǎn)換

    這篇文章主要介紹了python如何實(shí)現(xiàn)全角半角的相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python中MemoryError導(dǎo)致內(nèi)存溢出問題

    Python中MemoryError導(dǎo)致內(nèi)存溢出問題

    本文主要介紹了Python中MemoryError導(dǎo)致內(nèi)存溢出問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12

最新評(píng)論

保亭| 峨眉山市| 龙游县| 英德市| 华容县| 台南县| 饶河县| 抚州市| 凌源市| 永平县| 广汉市| 清水河县| 曲麻莱县| 万宁市| 厦门市| 天长市| 荣昌县| 长宁县| 景东| 横峰县| 台中市| 嘉黎县| 托克托县| 德庆县| 龙川县| 通海县| 溧阳市| 九寨沟县| 长阳| 博罗县| 辉南县| 鲁甸县| 富源县| 芮城县| 辽阳市| 光泽县| 嘉兴市| 崇仁县| 香河县| 镇宁| 洛扎县|