真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python窗函數(shù),python 窗口

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

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

創(chuàng)新互聯(lián)建站主營共青城網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都app軟件開發(fā),共青城h5微信小程序開發(fā)搭建,共青城網(wǎng)站營銷推廣歡迎共青城等地區(qū)企業(yè)咨詢

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

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

Python科學計算——復雜信號FFT

FFT (Fast Fourier Transform, 快速傅里葉變換) 是離散傅里葉變換的快速算法,也是數(shù)字信號處理技術中經(jīng)常會提到的一個概念。用快速傅里葉變換能將時域的數(shù)字信號轉換為頻域信號,轉換為頻域信號后我們可以很方便地分析出信號的頻率成分。

當我們把雙頻信號FFT示例中的 fft_size 的值改為 2**12 時,這時,基頻為 16Hz,不能被 1kHz整除,所以 1kHz 處發(fā)生了頻譜泄露,而它能被 4kHz 整除,所以 4kHz 可以很好地被采樣。

由于波形的前后不是連續(xù)的,出現(xiàn)波形跳變,而跳變處有著非常廣泛的頻譜,因此FFT的結果中出現(xiàn)了頻譜泄漏。

為了減小FFT所截取的數(shù)據(jù)段前后的跳變,可以對數(shù)據(jù)先乘以一個窗函數(shù),使得其前后數(shù)據(jù)能平滑過渡。常用的hanning窗函數(shù)的定義如下:

50Hz 正弦波與hann窗函數(shù)乘積之后的重復波形如下:

我們對頻譜泄漏示例中的1kHz 和 4kHz 信號進行了 hann 窗函數(shù)處理,可以看出能量更加集中在 1kHz 和 4kHz,在一定程度上抑制了頻譜泄漏。

以 1kHz 三角波為例,我們知道三角波信號中含有豐富的頻率信息,它的傅里葉級數(shù)展開為:

當數(shù)字信號的頻率隨時間變化時,我們稱之為掃頻信號。以頻率隨時間線性變化的掃頻信號為例,其數(shù)學形式如下:

其頻率隨時間線性變化,當我們在 [0,1] 的時間窗口對其進行采樣時,其頻率范圍為 0~5kHz。當時間是連續(xù)時,掃頻信號的頻率也是連續(xù)的。但是在實際的處理中,是離散的點采樣,因此時間是不連續(xù)的,這就使掃頻信號的快速傅里葉變換問題退化為多點頻信號快速傅里葉變換問題。其快速傅里葉變換得到的頻譜圖如下所示:

以 50Hz 正弦信號相位調制到 1kHz 的信號為例,其信號形式如下:

它的時域波形,頻率響應和相位響應如下圖所示:

以掃頻信號為例,當我們要探究FFT中的能量守恒時,我們要回歸到信號最初的形式:

【小項目-1】用Python進行人聲伴奏分離和音樂特征提取

比如采樣率為22050,音頻文件有36s,那么x為長度為22050*36=793800的float。

用到了python庫 Spleeter

抽象地了解下原理吧

參考文章是這篇:Spleeter: a fast and efficient music source separation tool with pre-trained models

原理文章是這篇 SINGING VOICE SEPARATION: A STUDY ON TRAINING DATA

粗略掃了一眼,原理主要是用U-Net進行分割,然后這個Python工具主要是利用了一個pre-trained的model。

參考鏈接:機器之心的一篇文章

縱軸表示頻率(從0到10kHz),橫軸表示剪輯的時間。由于我們看到所有動作都發(fā)生在頻譜的底部,我們可以將頻率軸轉換為對數(shù)軸。

可以對頻率取對數(shù)。

感覺這個參數(shù)蠻有意思的

整個頻譜被投影到12個區(qū)間,代表音樂八度音的12個不同的半音(或色度), librosa.feature.chroma_stft 用于計算。

先對音頻進行短時傅里葉變換

其中每行存儲一個窗口的STFT,大小為1025*1551

這里要注意理解怎么基于stft的結果來畫頻譜圖

沒太了解,感覺就大概知道有這么個量可以用到就行。

librosa.feature.spectral_centroid 計算信號中每幀的光譜質心:

1. 先理解連續(xù)傅里葉變換

2. 再理解離散傅里葉變換

對連續(xù)函數(shù)進行離散采樣

3. 最后進入短時傅里葉變換

是先把一個函數(shù)和窗函數(shù)進行相乘,然后再進行一維的傅里葉變換。并通過窗函數(shù)的滑動得到一系列的傅里葉變換結果,將這些結果豎著排開得到一個二維的表象。

2020-01-18 python實現(xiàn)stft并繪制時頻譜

官方文檔中給出了非常詳細的安裝方法

函數(shù)聲明:

librosa.core.stft(y, n_fft=2048, hop_length=None, win_length=None, window='hann', center=True, dtype=class 'numpy.complex64', pad_mode='reflect')

常用參數(shù)說明:

y:輸入的numpy數(shù)組,要求都是實數(shù)

n_fft:fft的長度,默認2048

hop_length:stft中窗函數(shù)每次步進的單位

win_length:窗函數(shù)的長度

window:窗函數(shù)的類型

return:一個1+n_fft/2*1+len(y)/hop_length的二維復數(shù)矩陣,其實就是時頻譜

參考:

主要用這兩個

matplotlib.pyplot.pcolormesh()

matplotlib.pyplot.colorbar()


分享文章:python窗函數(shù),python 窗口
分享路徑:http://weahome.cn/article/dscshgo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部