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

Python利用FFT進(jìn)行簡單濾波的實(shí)現(xiàn)

 更新時(shí)間:2020年02月26日 10:13:21   作者:moge19  
今天小編就為大家分享一篇Python利用FFT進(jìn)行簡單濾波的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、流程

大體流程如下,無論圖像、聲音、ADC數(shù)據(jù)都是如下流程:

(1)將原信號進(jìn)行FFT;

(2)將進(jìn)行FFT得到的數(shù)據(jù)去掉需要濾波的頻率;

(3)進(jìn)行FFT逆變換得到信號數(shù)據(jù);

2、算法仿真

2.1 生成數(shù)據(jù):

#采樣點(diǎn)選擇1400個(gè),因?yàn)樵O(shè)置的信號頻率分量最高為600Hz,根據(jù)采樣定理知采樣頻率要大于信號頻率2倍,所以這里設(shè)置采樣頻率為1400Hz(即一秒內(nèi)有1400個(gè)采樣點(diǎn))
x=np.linspace(0,1,1400)
#設(shè)置需要采樣的信號,頻率分量有180,390和600
y=2*np.sin(2*np.pi*180*x) + 3*np.sin(2*np.pi*390*x)+4*np.sin(2*np.pi*600*x)

2.2 對生成的數(shù)據(jù)進(jìn)行FFT變換

yy=fft(y)           #快速傅里葉變換
yf=abs(fft(y))        # 取模
yf1=abs(fft(y))/((len(x)/2))      #歸一化處理
yf2 = yf1[range(int(len(x)/2))] #由于對稱性,只取一半?yún)^(qū)間

2.3顯示轉(zhuǎn)換結(jié)果:

顯示原始FFT模值:

#混合波的FFT(雙邊頻率范圍)
plt.figure(2)
plt.plot(xf,yf,'r') #顯示原始信號的FFT模值
plt.title('FFT of Mixed wave(two sides frequency range)',fontsize=7,color='#7A378B') #注意這里的顏色可以查詢顏色代碼表

顯示原始FFT歸一化后的模值:

#混合波的FFT(歸一化)
plt.figure(3)
plt.plot(xf1,yf1,'g')
plt.title('FFT of Mixed wave(normalization)',fontsize=9,color='r')

由于對稱,只取一半?yún)^(qū)間進(jìn)行顯示

plt.figure(4)
plt.plot(xf2,yf2,'b')
plt.title('FFT of Mixed wave)',fontsize=10,color='#F08080')

3、利用FFT進(jìn)行濾波

例如將頻率為600HZ的噪聲濾掉,這里直接將該頻段的數(shù)據(jù)置零:

yy=fft(y)           #快速傅里葉變換
yreal = yy.real        # 獲取實(shí)數(shù)部分
yimag = yy.imag        # 獲取虛數(shù)部分
test_y =yy
for i in range(len(yy)):
  if i <=900 and i>=500:
    test_y[i]=0

對置零后的數(shù)據(jù)進(jìn)行逆變換:

test = np.fft.ifft(test_y) #對變換后的結(jié)果應(yīng)用ifft函數(shù),應(yīng)該可以近似地還原初始信號。

對還原的數(shù)據(jù)進(jìn)行FFT變換的結(jié)果:

濾波后的數(shù)據(jù)和原數(shù)據(jù)相對比:

藍(lán)色的為原數(shù)據(jù),橙色的為濾波后的數(shù)據(jù)

假設(shè)將400Hz和600Hz的信號都濾掉得到的信號圖像如下:

4、對隨機(jī)噪聲進(jìn)行濾波

源碼:

noise_size = 1400
noise_array = np.random.normal(0, 2, noise_size)
  
    
adc_value=[]
  
for i in range(noise_size):
    
  adc_value.append(0)
 
y= np.array(adc_value) + noise_array

yy=fft(y)           #快速傅里葉變換
yf=abs(fft(y))        # 取模
yf1=abs(fft(y))/((len(y)/2))      #歸一化處理
yf2 = yf1[range(int(len(y)/2))] #由于對稱性,只取一半?yún)^(qū)間
#混合波的FFT(雙邊頻率范圍)
xf = np.arange(len(y)) 
plt.figure(1)
plt.plot(xf,yf,'r') #顯示原始信號的FFT模值
plt.title('FFT of Mixed wave(two sides frequency range)',fontsize=7,color='#7A378B') #注意這里的顏色可以查詢顏色代碼表

yy=fft(y)           #快速傅里葉變換
yreal = yy.real        # 獲取實(shí)數(shù)部分
yimag = yy.imag        # 獲取虛數(shù)部分
test_y =yy
for i in range(len(yy)):
  if i <=1200 and i>=200:
    test_y[i]=0
test = np.fft.ifft(test_y) #對變換后的結(jié)果應(yīng)用ifft函數(shù),應(yīng)該可以近似地還原初始信號。
y=test
yy=fft(y)           #快速傅里葉變換
yf=abs(fft(y))        # 取模
yf1=abs(fft(y))/((len(y)/2))      #歸一化處理
yf2 = yf1[range(int(len(y)/2))] #由于對稱性,只取一半?yún)^(qū)間
#混合波的FFT(雙邊頻率范圍)
xf = np.arange(len(y)) 
plt.figure(2)
plt.plot(xf,yf,'r') #顯示原始信號的FFT模值
plt.title('FFT of Mixed wave(two sides frequency range)',fontsize=7,color='#7A378B') #注意這里的顏色可以查詢顏色代碼表

運(yùn)行結(jié)果:

原數(shù)據(jù)頻譜圖:

濾波后的頻譜圖:

濾波后(藍(lán)色線)與原數(shù)據(jù)(紅色線)對比:

以上這篇Python利用FFT進(jìn)行簡單濾波的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python如何查看系統(tǒng)網(wǎng)絡(luò)流量的信息

    python如何查看系統(tǒng)網(wǎng)絡(luò)流量的信息

    這篇文章給大家介紹了如何了利用Python查看系統(tǒng)網(wǎng)絡(luò)流量的信息,有需要的朋友們可以參考借鑒。下面來一起看看吧。
    2016-09-09
  • python cv2截取不規(guī)則區(qū)域圖片實(shí)例

    python cv2截取不規(guī)則區(qū)域圖片實(shí)例

    今天小編就為大家分享一篇python cv2截取不規(guī)則區(qū)域圖片實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Django MTV和MVC的區(qū)別詳解

    Django MTV和MVC的區(qū)別詳解

    這篇文章主要介紹了Django MTV和MVC的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python簡單實(shí)現(xiàn)控制電腦的方法

    Python簡單實(shí)現(xiàn)控制電腦的方法

    這篇文章主要介紹了Python簡單實(shí)現(xiàn)控制電腦的方法,涉及Python基于os及win32api等模塊調(diào)用系統(tǒng)命令操作電腦的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • Python字符串的全排列算法實(shí)例詳解

    Python字符串的全排列算法實(shí)例詳解

    這篇文章主要介紹了Python字符串的全排列算法,結(jié)合實(shí)例形式較為詳細(xì)的總結(jié)分析了Python字符串全排列的常見操作技巧,需要的朋友可以參考下
    2019-01-01
  • Restful_framework視圖組件代碼實(shí)例解析

    Restful_framework視圖組件代碼實(shí)例解析

    這篇文章主要介紹了Restful_framework視圖組件代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 基于Python和MoviePy開發(fā)一個(gè)視頻管理工具

    基于Python和MoviePy開發(fā)一個(gè)視頻管理工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Python和MoviePy開發(fā)一個(gè)視頻管理工具,該工具提供了視頻播放,元數(shù)據(jù)提取,格式轉(zhuǎn)換等功能,有需要的小伙伴可以了解下
    2025-04-04
  • 使用Python測試Ping主機(jī)IP和某端口是否開放的實(shí)例

    使用Python測試Ping主機(jī)IP和某端口是否開放的實(shí)例

    今天小編就為大家分享一篇使用Python測試Ping主機(jī)IP和某端口是否開放的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • django的model操作匯整詳解

    django的model操作匯整詳解

    這篇文章主要介紹了django的model操作匯整詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python文本文件的合并操作方法代碼實(shí)例

    Python文本文件的合并操作方法代碼實(shí)例

    這篇文章主要介紹了Python文本文件的合并操作方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評論

冷水江市| 博白县| 文水县| 潞西市| 十堰市| 博客| 延吉市| 诸城市| 东明县| 安多县| 伽师县| 河津市| 平和县| 南丰县| 河曲县| 东乡| 阿荣旗| 晋州市| 岗巴县| 谢通门县| 温泉县| 玉龙| 焉耆| 洛南县| 班玛县| 台中市| 永宁县| 平潭县| 建平县| 宜宾市| 盐城市| 福海县| 壤塘县| 南昌市| 榆社县| 平武县| 邯郸县| 栾川县| 芜湖县| 广州市| 泾阳县|