python帶通濾波函數(shù) python 低通濾波器

python調(diào)用sac--參考SAC手冊(cè)

#this python file is used to read SAC file

站在用戶的角度思考問題,與客戶深入溝通,找到海門網(wǎng)站設(shè)計(jì)與海門網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋海門地區(qū)。

import os

import sys

import subprocess

import glob

from obspy.core import read

from PyQt5.QtWidgetsimport *

from PyQt5.QtGuiimport *

from PyQt5.QtCoreimport *

from PyQt5import QtCore, QtGui, QtWidgets

'''import os 是導(dǎo)入標(biāo)準(zhǔn)庫os,利用其中的API。

sys模塊包含了與Python解釋器和它的環(huán)境有關(guān)的函數(shù)。

glob是python自帶的一個(gè)文件操作模塊,用它查找符合目的的文件,類似于Windows下的文件搜索,支持通配符操作

subprocess允許創(chuàng)建一個(gè)新的進(jìn)程讓其執(zhí)行另外的程序,并與它進(jìn)行通信,獲取標(biāo)準(zhǔn)的輸入、標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤以及返回碼等

'''

def run(path):

# path = QtWidgets.QFileDialog.getExistingDirectory(None, "Select File Directory to Save File", "")

fileName = os.listdir(path)

os.chdir(path)

os.putenv("SAC_DISPLAY_COPYRIGHT", '0')

for namein fileName:

# name = i

#for file in glob.glob("*.SAC"):

#glob.glob是匹配所有符合條件的文件,并將其以list的形式返回

#os.putenv("SAC_DISPLAY_COPYRIGHT", '0') #os.putenv(‘環(huán)境變量名稱’, ‘環(huán)境變量值’)

#p = subprocess.Popen(['sac'], stdin=subprocess.PIPE)#Popen表示調(diào)用sac

#stdin指向鍵盤輸入,standard input

#Python 3 利用 subprocess 實(shí)現(xiàn)管道( pipe )交互操作讀/寫通信

# s = "r " + name + " \n"? ###這里應(yīng)該是傳入某個(gè)文件,所以應(yīng)該有個(gè)讀取文件的按鈕

# s += "qdp off\n"

# s += "ch allt (0 - 1,o) iztype IO \n"? #修改發(fā)震時(shí)刻為零

# s += "rmean; rtrend; taper \n"? #去均值,去線性趨勢(shì),去尖滅

# s += "bp c 0.05 10 n 4 p 2 \n"? #帶通濾波

# s += "w over\n"

# s += "r *BHN *BHE \n"? #分量旋轉(zhuǎn),讀入N、E分量,rot并修改頭段變量

# s += "rotate to gcp"

# s += "w .BHR .BHT"

# s += "r *.BHR\n"

# s += "ch KCMPNM BHR\n"

# s += "w over\n"

# s += "r *.BHT\n"

# s += "ch KCMPNM BHT\n"

# s += "w over\n"

# s += "p \n"

# s += "saveimg 2009.ps\n"

# s += "q\n"

? ? s ="r " + name +" \n"

? ? #s += "ppk p 3 a m\n"

? ? s +="w over\n"

? ? s +="q \n"

? ? # p.communicate(s.encode()) #通過p.communicate() 將命令s.encode() 傳遞給sac,實(shí)現(xiàn)sac的操作

? ? subprocess.Popen(['sac'], stdin=subprocess.PIPE).communicate(s.encode())

濾波方法及python實(shí)現(xiàn)

對(duì)濾波的 總結(jié) : 對(duì)特定頻率進(jìn)行有效提取,并對(duì)提取部分進(jìn)行特定的處理(增益,衰減,濾除)的動(dòng)作被叫做濾波。

最常用的濾波器類型有三種: 通過式(Pass),擱架式(Shelving)和參量式(Parametric)。 濾波器都有一個(gè)叫 參考頻率(Reference Frequency)的東西 ,在不同類型的濾波器中,具體的叫法會(huì)有所不同。

通過式濾波器可以讓參考頻率一側(cè)的頻率成分完全通過該濾波器,同時(shí)對(duì)另一側(cè)的頻率成分做線性的衰減,就是,一邊讓通過,一邊逐漸被濾除。在信號(hào)學(xué)中,通過的區(qū)域被稱為通帶,濾除的區(qū)域被叫做阻帶,在通過式濾波器中,參考頻率通常被稱為截止頻率。

高通濾波器(high-pass filters):讓截止頻率后的高頻區(qū)域通過,另一側(cè)濾除,低通濾波器(low-pass filters):讓截止頻率前的低頻區(qū)域通過,另一側(cè)濾除,通

以下是高通濾波器與低通濾波器的核心參數(shù):

截止頻率(Cut-off frequency) :決定了通帶(通過的頻率部分)與阻帶(阻止的頻率部分)的分界曲線,截止頻率的位置并非是在曲線開始彎曲的那個(gè)點(diǎn),而是在-3dB的位置。以圖2左側(cè)的高通濾波器為例,截止頻率點(diǎn)之上的部分頻率并沒有全部被通過,而是有個(gè)曲線,在曲線回歸平直后其頻率才被完全通過。至于為什么要將-3dB的位置設(shè)為截止頻率,是因?yàn)?3dB對(duì)于濾波器的設(shè)計(jì)而言是個(gè)非常重要的位置,如果設(shè)為其他位置,則會(huì)讓通過式濾波器的設(shè)計(jì)變得尤為復(fù)雜。

斜率(Slope) :表示的是通帶與阻帶的分界曲線的傾斜程度,也就是說斜率決定了分界曲線是偏向平緩的,還是偏向垂直的,斜率越大(更陡峭),人工處理的痕跡就越明顯。斜率的單位為dB/oct,中文稱為分貝每倍頻程。雖然繞口,但其實(shí)很簡(jiǎn)單,如6dB/oct,意思為一個(gè)倍頻程的距離會(huì)產(chǎn)生6dB的衰減,數(shù)字濾波器常見的斜率選擇有6dB/oct,12dB/oct,18dB/oct,24dB/oct,30dB/oct等等(圖3)。

scipy.signal.filtfilt(b, a, x, axis=-1, padtype='odd', padlen=None, method='pad', irlen=None)

scipy.signal.butter(N, Wn, btype='low', analog=False, output='ba')

這里假設(shè)采樣頻率為1000hz,信號(hào)本身最大的頻率為500hz,要濾除10hz以下和400hz以上頻率成分,即截至頻率為10hz和400hz,則wn1=2*10/1000=0.02,wn2=2*400/1000=0.8。Wn=[0.02,0.8]

python 中一維數(shù)據(jù)中值濾波函數(shù),在matlab中有 medfilt1函數(shù),Python中有嗎,只找到了圖像2維的,

有的,在numpy包中

import?numpy?as?np

dat?=?[1,3,5,6,7,2,4]

med?=?np.median(dat)?#?med=4.0

python中怎么生成基于窗函數(shù)的fir濾波器

SciPy提供了firwin用窗函數(shù)設(shè)計(jì)低通濾波器,firwin的調(diào)用形式如下:

firwin(N, cutoff, width=None, window='hamming')

其中N為濾波器的長度;cutoff為以正規(guī)化的頻率;window為所使用的窗函數(shù)。

python如何實(shí)現(xiàn)類似matlab的小波濾波?

T=wpdec(y,5,'db40');

%信號(hào)y進(jìn)行波包解層數(shù)5T波樹plot看

a10=wprcoef(T,[1,0]);

%a10節(jié)點(diǎn)[1,0]進(jìn)行重構(gòu)信號(hào)貌似沒層重構(gòu)說吧能某層某節(jié)點(diǎn)進(jìn)行重構(gòu)節(jié)點(diǎn)編號(hào)波樹

%以下為濾波程序(主要調(diào)節(jié)參數(shù)c的大小)

c=10;

wn=0.1;

fs=50000; %采樣頻率;

b=fir1(c,wn/(fs/2),hamming(c+1));

y1=filtfilt(b,1,y);%對(duì)y濾波。

2021-02-08 Python OpenCV GaussianBlur()函數(shù)

borderType= None)函數(shù)

此函數(shù)利用高斯濾波器平滑一張圖像。該函數(shù)將源圖像與指定的高斯核進(jìn)行卷積。

src:輸入圖像

ksize:(核的寬度,核的高度),輸入高斯核的尺寸,核的寬高都必須是正奇數(shù)。否則,將會(huì)從參數(shù)sigma中計(jì)算得到。

dst:輸出圖像,尺寸與輸入圖像一致。

sigmaX:高斯核在X方向上的標(biāo)準(zhǔn)差。

sigmaY:高斯核在Y方向上的標(biāo)準(zhǔn)差。默認(rèn)為None,如果sigmaY=0,則它將被設(shè)置為與sigmaX相等的值。如果這兩者都為0,則它們的值會(huì)從ksize中計(jì)算得到。計(jì)算公式為:

borderType:像素外推法,默認(rèn)為None(參考官方文檔 BorderTypes

)

在圖像處理中,高斯濾波主要有兩種方式:

1.窗口滑動(dòng)卷積

2.傅里葉變換

在此主要利用窗口滑動(dòng)卷積。其中二維高斯函數(shù)公式為:

根據(jù)上述公式,生成一個(gè)3x3的高斯核,其中最重要的參數(shù)就是標(biāo)準(zhǔn)差 ,標(biāo)準(zhǔn)差 越大,核中心的值與周圍的值差距越小,曲線越平滑。標(biāo)準(zhǔn)差 越小,核中心的值與周圍的值差距越大,曲線越陡峭。

從圖像的角度來說,高斯核的標(biāo)準(zhǔn)差 越大,平滑效果越不明顯。高斯核的標(biāo)準(zhǔn)差 越小,平滑效果越明顯。

可見,標(biāo)準(zhǔn)差 越大,圖像平滑程度越大

參考博客1:關(guān)于GaussianBlur函數(shù)

參考博客2:關(guān)于高斯核運(yùn)算

分享題目:python帶通濾波函數(shù) python 低通濾波器
URL標(biāo)題:http://muchs.cn/article16/dossogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、動(dòng)態(tài)網(wǎng)站品牌網(wǎng)站制作、域名注冊(cè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)