国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾

這篇具有很好參考價值的文章主要介紹了【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

對于一個信號來說通常匯入工頻噪聲往往是因為交流電產生的電泳,影響了我們信號采集導致信號上存在工頻干擾。
那么matlab去除工頻干擾可以通過陷波濾波器實現。
在python中通常使用scipy.signal實現信號的處理。
Scipy的信號處理模塊(scipy.signal)來創(chuàng)建自定義的陷波濾波器。陷波濾波器通常用于去除特定頻率上的噪聲或干擾,比如電源線干擾。

import numpy as np
from scipy import signal
import matplotlib.pyplot as plt

# 生成示例數據,包括噪聲和帶有干擾的信號
fs = 1000  # 采樣頻率
t = np.arange(0, 1, 1/fs)
noise = 0.5 * np.sin(2 * np.pi * 50 * t)  # 50 Hz噪聲
signal_with_noise = np.sin(2 * np.pi * 5 * t) + noise  # 5 Hz信號 + 50 Hz噪聲

# 設計陷波濾波器來去除50 Hz干擾
f0 = 50.0  # 噪聲的中心頻率
Q = 30.0  # 帶寬
b, a = signal.iirnotch(f0, Q, fs)

# 使用濾波器來去除噪聲
filtered_signal = signal.lfilter(b, a, signal_with_noise)

# 繪制原始信號和去噪后的信號
plt.figure()
plt.subplot(2, 1, 1)
plt.plot(t, signal_with_noise, 'b', label='帶噪聲的信號')
plt.legend()
plt.subplot(2, 1, 2)
plt.plot(t, filtered_signal, 'g', label='去噪后的信號')
plt.legend()
plt.tight_layout()
plt.show()

上述示例中,signal.iirnotch函數用于設計陷波濾波器的系數,然后使用signal.lfilter來應用該濾波器。這可以幫助去除信號中指定頻率的噪聲或干擾。
【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
上圖中藍色的線條是,5Hz正弦波,和50Hz干擾正弦波的求和。

綠色的線,是我們規(guī)定去irrnotch函數中心頻率為50Hz,帶寬Q為30進行處理。

實際上說,原始信號有一個正弦信號5Hz。
【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
但是為什么濾波之后原始信號不是光滑的呢?
需要考慮陷波濾波器中心頻率的帶寬。

在陷波濾波器中,帶寬Q(Quality Factor)表示濾波器的調制深度或選擇性。它是一個無單位的參數,通常用于定義陷波濾波器的性能。

帶寬Q的值越大,濾波器的選擇性越高,也就是濾除特定頻率附近的信號時,對該頻率的抑制會更強。帶寬Q的值越小,濾波器的選擇性越低,也就是濾除特定頻率附近的信號時,對該頻率的抑制會較弱。

具體來說,對于陷波濾波器,Q的計算公式通常如下:

Q = f0 / Δf

Q是帶寬Q。
f0是你希望去除的頻率的中心點。
Δf是帶寬,表示你希望保留的頻率范圍。
Q的值越大,帶寬越小,濾波器越窄,抑制特定頻率的效果越強。Q的值越小,帶寬越大,濾波器越寬,抑制效果越弱。選擇Q值的大小通常取決于你的應用和數據中噪聲或干擾的性質。常見的Q值范圍通常在10到100之間。

在陷波濾波器設計中,選擇適當的Q值對于有效地去除特定頻率的干擾非常重要。你需要根據具體的應用和數據特點來調整Q值,以獲得最佳的濾波效果。

【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
通過對比四個不同的帶寬q=1,10,50,100。我們可以觀察波形得到結果。
當q=1的時候最接近原始期望得到的5Hz正弦波。但是產生了導數超調,在開始的位置有一個小翹起,那說明就是并不是理想的濾波器?;蛘哒f很難得到理想的濾波效果。信號的起始端和結束端都會產生該結果。
在信號處理中,濾波操作可能會引入一些邊界效應,特別是在信號的開始和結束段,這種現象通常被稱為"邊界效應"或"邊界偽像"。這是由于濾波器的有限長度以及信號的截斷所引起的。
那為什么濾波結束開始端會產生波動,但是信號的結尾段不會產生波動?
邊界效應的主要原因包括以下幾點:

信號截斷:通常,你對一個連續(xù)的信號進行離散采樣,然后在有限長度的窗口內進行濾波。這會導致信號在開始和結束時被截斷,因此,信號在這些邊界處可能不連續(xù)。

**濾波器的有限長度:**濾波器通常是有限長度的,而不是無限長度。這意味著濾波器本身在時間或頻率上也存在截斷。當你將有限長度的濾波器應用于信號時,它會影響信號的邊界處,引入額外的波動。

**初始條件和階躍響應:**在濾波器的應用過程中,初始條件和濾波器的階躍響應可能會導致邊界效應。這些效應在濾波器開始和結束時可能會更為顯著。

通常情況下,信號處理中的邊界效應是不可避免的,并且可能因濾波器類型、信號特性和截斷方式而異。為了減輕這些效應,你可以考慮以下方法:

使用合適的邊界處理:一種方法是在信號的開始和結束時應用邊界處理技術**,如零填充**、周期延拓或反射延拓,以減少邊界效應的影響。

使用長濾波器:使用更長的濾波器可以減少濾波器的有限長度效應,但也會增加計算成本。

謹慎選擇濾波器類型:不同類型的濾波器在邊界效應方面有不同的性質,因此根據具體應用的需要選擇適當的濾波器類型。

考慮后處理:在濾波后,對信號的邊界段進行后處理,以減小邊界效應的影響。
綜上所述,邊界效應是信號處理中的常見問題,可以通過適當的處理方法和濾波器選擇來減輕其影響。

為了最終得到完美的濾波器,我們可以考慮零相位濾波器,簡單來說就是這種濾波器進行雙向濾波一定程度上減少了邊界效應。

直接上代碼和結果

# 開發(fā)時間:2023/10/25 22:22
# 開發(fā)內容:
# 運行環(huán)境:
# 備注內容:
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt

# 生成示例數據,包括噪聲和帶有干擾的信號
fs = 1000  # 采樣頻率
t = np.arange(0, 1, 1/fs)
fs =1000
t =np.arange(0,1,1/fs)



noise = 0.5 * np.sin(2 * np.pi * 50 * t)  # 50 Hz噪聲
signal_with_noise = np.sin(2 * np.pi * 5 * t) + noise  # 5 Hz信號 + 50 Hz噪聲

# 設計陷波濾波器來去除50 Hz干擾
f0 = 50.0  # 噪聲的中心頻率
Q = 0.2# 帶寬-------------------------------------------修改之處
b, a = signal.iirnotch(f0, Q, fs)

# 使用濾波器來去除噪聲--------------------------------------修改之處
filtered_signal = signal.filtfilt(b, a, signal_with_noise)

# 繪制原始信號和去噪后的信號
plt.figure(1)
plt.subplot(2, 1, 1)
plt.plot(t, signal_with_noise, 'b', label='帶噪聲的信號')
plt.legend()
plt.subplot(2, 1, 2)
plt.plot(t, filtered_signal, 'g', label='q=100')
plt.legend()
plt.tight_layout()
plt.show()

fs=1000
t =np.arange(0,1,1/fs)

signalwave =np.sin(2*np.pi*5*t)
plt.figure(2)
plt.plot(signalwave,label="5Hz-sin")
plt.legend()
plt.show()


【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾,機器學習,數據處理,python,算法,信號處理
效果已經很好那么我們要是使用截斷法,可以截斷尾部的信號。而且我們這個濾波之后的信號不存在相位移動。。文章來源地址http://www.zghlxwxcb.cn/news/detail-716556.html

到了這里,關于【Python 算法】信號處理通過陷波濾波器準確去除工頻干擾的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 數字信號處理實驗:數字濾波器的設計與應用

    數字信號處理實驗:數字濾波器的設計與應用

    一. 實驗目的 ????????1.掌握模擬濾波器的設計方法,以及脈沖響應不變法和雙線性變換法設計IIR數字濾波 器的方法,針對實際信號能設計相應的 IIR 數字濾波器,并按要求進行濾波。 ????????2.掌握用窗函數法設計FIR數字濾波器的方法,并通過實驗了解各種窗函數對濾

    2024年02月03日
    瀏覽(25)
  • 現代信號處理——自適應濾波器(LMS自適應濾波器)

    現代信號處理——自適應濾波器(LMS自適應濾波器)

    一、自適應濾波簡介 維納濾波存在的問題: 適用于平穩(wěn)隨機信號的最佳濾波,對于非平穩(wěn)的隨機信號,其統(tǒng)計特性(相關函數)是隨機的,因此無法估計其相關函數,此時的維納濾波不適用; 維納濾波器的參數是固定的,就不可能根據輸入信號的變換去自動調整濾波器的參

    2024年02月01日
    瀏覽(28)
  • FPGA信號處理系列文章——深入淺出理解多相濾波器

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 多相濾波是,按照相位均勻劃分把數字濾波器的系統(tǒng)函數H(z)分解成若干個具有不同相位的組,形成多個分支,在每個分支上實現濾波。 采用多相濾波結構,可利用多個階數較低的濾波來實現原本階數較

    2024年02月05日
    瀏覽(57)
  • 數字信號處理實驗:IIR數字濾波器設計及軟件實現

    數字信號處理實驗:IIR數字濾波器設計及軟件實現

    目錄 一、實驗目的 二、實驗原理 三、實驗設備 四、實驗內容及步驟 五、實驗結果及分析 六、實驗主程序框圖及程序清單 七、實驗總結 熟悉用雙線性變換法設計IIR數字濾波器的原理與方法; 學會調用MATLAB信號處理工具箱中濾波器設計函數(或濾波器設計分析工具FDATool)設

    2024年02月12日
    瀏覽(26)
  • 數字信號處理-10-并行FIR濾波器MATLAB與FPGA實現

    數字信號處理-10-并行FIR濾波器MATLAB與FPGA實現

    本文介紹了設計濾波器的FPGA實現步驟,并結合杜勇老師的書籍中的并行FIR濾波器部分進行一步步實現硬件設計,對書中的架構做了復現以及解讀,并進行了仿真驗證。 FIR濾波器的結構形式時,介紹了直接型、級聯型、頻率取樣型和快速卷積型4種。在FPGA實現時,最常用的是最

    2023年04月09日
    瀏覽(37)
  • FPGA 的數字信號處理:Verilog 實現簡單的 FIR 濾波器

    FPGA 的數字信號處理:Verilog 實現簡單的 FIR 濾波器

    該項目介紹了如何使用 Verilog 實現具有預生成系數的簡單 FIR 濾波器。 不起眼的 FIR 濾波器是 FPGA 數字信號處理中最基本的模塊之一,因此了解如何將具有給定抽頭數及其相應系數值的基本模塊組合在一起非常重要。因此,在這個關于 FPGA 上 DSP 基礎實用入門的教程中,將從一

    2024年02月09日
    瀏覽(27)
  • 數字信號處理音頻FIR去噪濾波器(基于MATLAB GUI的開發(fā))

    數字信號處理音頻FIR去噪濾波器(基于MATLAB GUI的開發(fā))

    利用MATLAB GUI設計平臺,用窗函數法設計FIR數字濾波器,對所給出的含有噪聲的聲音信號進行數字濾波處理,得到降噪的聲音信號,進行時域頻域分析,同時分析不同窗函數的效果。將文件解壓至一個目錄下,運行m文件即可使用。 讀取.wav音頻文件函數 :audioread();(老版

    2024年02月08日
    瀏覽(26)
  • 數字信號處理第四次試驗:IIR數字濾波器設計及軟件實現

    數字信號處理第四次試驗:IIR數字濾波器設計及軟件實現

    為了幫助同學們完成痛苦的實驗課程設計,本作者將其作出的實驗結果及代碼貼至CSDN中,供同學們學習參考。如有不足或描述不完善之處,敬請各位指出,歡迎各位的斧正! (1)熟悉用雙線性變換法設計IIR數字濾波器的原理與方法; (2)學會調用MATLAB信號處理工具箱中濾

    2024年02月08日
    瀏覽(27)
  • 數字信號處理翻轉課堂筆記17——窗函數法設計FIR濾波器及matlab實現

    數字信號處理翻轉課堂筆記17——窗函數法設計FIR濾波器及matlab實現

    對應教材:《數字信號處理(第五版)》西安電子科技大學出版社,丁玉美、高西全著 (1)窗函數法設計FIR線性相位濾波器的原理; (2)加窗效應:加窗對濾波器特性的影響(難點); (3)典型窗函數及其主要特性和參數(重點); (4)窗函數法設計FIR濾波器的步驟(

    2024年01月16日
    瀏覽(29)
  • 數字信號處理|Matlab設計巴特沃斯低通濾波器(沖激響應不變法和雙線性變換法)

    數字信號處理|Matlab設計巴特沃斯低通濾波器(沖激響應不變法和雙線性變換法)

    2.1頻響圖 系統(tǒng)函數 H 是一個復數,其圖譜分為:幅度譜、相位譜 幅度譜 x軸:模擬頻率f(數字頻率w轉化來)【 單位:赫茲Hz 】 y軸:|H1|幅度【一般用:20 * log10|H1|】【 單位:分貝dB 】 ?相位譜 x軸:模擬頻率f(數字頻率w轉化來)【 單位:赫茲Hz 】 y軸:H1 的相位 2.2 各個頻

    2023年04月08日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包