SciPy提供了firwin用窗函數(shù)設(shè)計低通濾波器,firwin的調(diào)用形式如下:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了蘭西免費建站歡迎大家使用!
firwin(N, cutoff, width=None, window='hamming')
其中N為濾波器的長度;cutoff為以正規(guī)化的頻率;window為所使用的窗函數(shù)。
Python-for-data-移動窗口函數(shù)
本文中介紹的是 ,主要的算子是:
統(tǒng)計和通過其他移動窗口或者指數(shù)衰減而運行的函數(shù),稱之為 移動窗口函數(shù)
style scoped="".dataframe tbody tr th:only-of-type { vertical-align: middle; } precode.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } /code/pre/style
2292 rows × 3 columns
rolling算子,行為和resample和groupby類似
rolling可以在S或者DF上通過一個window進行調(diào)用
style scoped="".dataframe tbody tr th:only-of-type { vertical-align: middle; } precode.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } /code/pre/style
2292 rows × 3 columns
指定一個常數(shù)衰減因子為觀測值提供更多的權(quán)重。常用指定衰減因子的方法:使用span(跨度)
一些統(tǒng)計算子,例如相關(guān)度和協(xié)方差等需要同時操作兩個時間序列。
例如,金融分析中的股票和基準(zhǔn)指數(shù)的關(guān)聯(lián)性問題:計算時間序列的百分比變化pct_change()
style scoped="".dataframe tbody tr th:only-of-type { vertical-align: middle; } precode.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } /code/pre/style
在rolling及其相關(guān)方法上使用apply方法提供了一種在移動窗口中應(yīng)用自己設(shè)計的數(shù)組函數(shù)的方法。
唯一要求:該函數(shù)從每個數(shù)組中產(chǎn)生一個單值(縮聚),例如使用rolling()...quantile(q)計算樣本的中位數(shù)
漢明距離是以理查德·衛(wèi)斯里·漢明的名字命名的,漢明在誤差檢測與校正碼的基礎(chǔ)性論文中首次引入這個概念
這個所謂的距離,是指兩個等長字符串之間的漢明距離是兩個字符串對應(yīng)位置的不同字符的個數(shù)。
中文維基: 快戳我 ;
英文維基: 英文不好別戳我 。
漢明距離有一個最為鮮明的特點就是它比較的兩個字符串必須等長,否則距離不成立。
它的核心原理就是如何通過字符替換(最初應(yīng)用在通訊中實際上是二進制的0-1替換),能將一個字符串替換成另外一個字符串。
維基百科給定了幾個樣例。(字符下標(biāo)0為起始下標(biāo))
python3中已經(jīng)內(nèi)置漢明距離函數(shù)了,幾點說明:
FFT (Fast Fourier Transform, 快速傅里葉變換) 是離散傅里葉變換的快速算法,也是數(shù)字信號處理技術(shù)中經(jīng)常會提到的一個概念。用快速傅里葉變換能將時域的數(shù)字信號轉(zhuǎn)換為頻域信號,轉(zhuǎn)換為頻域信號后我們可以很方便地分析出信號的頻率成分。
當(dāng)我們把雙頻信號FFT示例中的 fft_size 的值改為 2**12 時,這時,基頻為 16Hz,不能被 1kHz整除,所以 1kHz 處發(fā)生了頻譜泄露,而它能被 4kHz 整除,所以 4kHz 可以很好地被采樣。
由于波形的前后不是連續(xù)的,出現(xiàn)波形跳變,而跳變處有著非常廣泛的頻譜,因此FFT的結(jié)果中出現(xiàn)了頻譜泄漏。
為了減小FFT所截取的數(shù)據(jù)段前后的跳變,可以對數(shù)據(jù)先乘以一個窗函數(shù),使得其前后數(shù)據(jù)能平滑過渡。常用的hanning窗函數(shù)的定義如下:
50Hz 正弦波與hann窗函數(shù)乘積之后的重復(fù)波形如下:
我們對頻譜泄漏示例中的1kHz 和 4kHz 信號進行了 hann 窗函數(shù)處理,可以看出能量更加集中在 1kHz 和 4kHz,在一定程度上抑制了頻譜泄漏。
以 1kHz 三角波為例,我們知道三角波信號中含有豐富的頻率信息,它的傅里葉級數(shù)展開為:
當(dāng)數(shù)字信號的頻率隨時間變化時,我們稱之為掃頻信號。以頻率隨時間線性變化的掃頻信號為例,其數(shù)學(xué)形式如下:
其頻率隨時間線性變化,當(dāng)我們在 [0,1] 的時間窗口對其進行采樣時,其頻率范圍為 0~5kHz。當(dāng)時間是連續(xù)時,掃頻信號的頻率也是連續(xù)的。但是在實際的處理中,是離散的點采樣,因此時間是不連續(xù)的,這就使掃頻信號的快速傅里葉變換問題退化為多點頻信號快速傅里葉變換問題。其快速傅里葉變換得到的頻譜圖如下所示:
以 50Hz 正弦信號相位調(diào)制到 1kHz 的信號為例,其信號形式如下:
它的時域波形,頻率響應(yīng)和相位響應(yīng)如下圖所示:
以掃頻信號為例,當(dāng)我們要探究FFT中的能量守恒時,我們要回歸到信號最初的形式: