国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

語音信號頻譜的獲取

2022-06-15 03:15羅海濤
電腦與電信 2022年4期
關(guān)鍵詞:頻域時(shí)域頻譜

羅海濤

(廣東外語外貿(mào)大學(xué)信息學(xué)院,廣東 廣州 510420)

1 引言

語言是人類特有的能力,是人類信息交流最方便、最快捷的一種方式。[1]信息技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,為人們用計(jì)算機(jī)處理語音信號提供了方便。通過聲音傳感器,人們把人類語音轉(zhuǎn)換為連續(xù)的語音信號,這是一種電信號。再通過采樣技術(shù),對連續(xù)的語音信號采樣,得到時(shí)間和幅度都離散的采樣數(shù)據(jù)。采樣數(shù)據(jù)是離散的數(shù)據(jù),便于計(jì)算機(jī)保存、傳輸和加工處理。wav文件格式是一種重要的數(shù)字音頻文件格式,是目前應(yīng)用很廣泛的一種音頻格式。相比于其他格式如MP3、MP4、RAM等壓縮效率更高的音頻文件格式,wav文件沒有采用壓縮技術(shù),因而其文件要大很多,一般都在幾兆字節(jié),甚至更大。[2]本文處理的語音信號采樣文件都是wav格式。語音信號的處理包括語音信號的特征分析、語音信號的線性預(yù)測分析、語音信號的編碼、語音的合成、語音的識別。[3]

語音信號的特征可以應(yīng)用于語音的基音周期估計(jì)、語音共振峰估計(jì)、語音識別、說話人識別等領(lǐng)域。語音信號分析包括時(shí)域特征分析、頻域特征分析。時(shí)域特征包括短時(shí)能量、短時(shí)過零率、短時(shí)自相關(guān)。時(shí)域特征應(yīng)用于語音的端點(diǎn)檢測、語音的分割等。語音信號的頻域特征包括語音信號的頻譜、相位譜、復(fù)倒譜。這些頻域特征參數(shù)同樣可應(yīng)用于語音的識別、處理、分割等領(lǐng)域。[4]

本文采用快速傅里葉(FFT)算法,計(jì)算語音采樣數(shù)據(jù)的頻譜和相位譜,為下一步的語音信號處理做準(zhǔn)備。

2 語音信號的頻譜和相位譜

語音信號的頻譜是語音信號在各頻率的幅度譜。如果是連續(xù)時(shí)間信號,則通過傅里葉變換可以得到該信號的頻譜,其頻譜也是連續(xù)的函數(shù)。為了用計(jì)算機(jī)處理語音信號的頻譜,只能對語音信號進(jìn)行采樣。采樣就是離散化,在時(shí)間上離散,在幅度上也離散。離散化后再進(jìn)行傅里葉變換得到信號的頻譜。離散傅里葉變換DFT正是這樣一種在時(shí)域和頻域都離散的變換,其結(jié)果是信號的離散的頻譜。

上式中,x(n)是離散化的語音信號,長度為稱為旋轉(zhuǎn)因子。該式是N個(gè)點(diǎn)的離散傅里葉變換,得到N點(diǎn)的離散頻譜[5]。

WN是復(fù)數(shù),因此由式(1)計(jì)算每個(gè)X(k)都需要做N次復(fù)數(shù)乘法和N- 1次復(fù)數(shù)加法運(yùn)算,總共需要計(jì)算N個(gè)點(diǎn),因此,完成一次DFT變換總共需要N2次復(fù)數(shù)乘法和N(N- 1)次復(fù)數(shù)加法運(yùn)算,運(yùn)算量非常巨大。特別是在語音信號處理時(shí),其離散點(diǎn)數(shù)通常很多,例如,一個(gè)英文單詞“important”,按照正常語速朗讀,當(dāng)采樣頻率為44100Hz時(shí),如果沒有進(jìn)行端點(diǎn)檢測,采樣數(shù)據(jù)可超過46700;即使通過端點(diǎn)檢測,把開始和結(jié)束端點(diǎn)以外的采樣數(shù)據(jù)去除,剩余的有效語音采樣數(shù)據(jù)也超過39000。這樣大的數(shù)據(jù)量和運(yùn)算量,很難進(jìn)行實(shí)時(shí)處理,所以通常采用快速傅里葉算法FFT來計(jì)算語音信號的頻譜。

3 FFT算法

FFT算法分為按時(shí)間抽取的基-2算法和按頻率抽取的基-2算法兩種,這兩種算法思路類似,運(yùn)算量相同。本文采取按時(shí)間抽取的基-2算法,在Visual C++環(huán)境下編程實(shí)現(xiàn)。

按時(shí)間抽取的基-2FFT算法的基本原理是在時(shí)間域把采樣數(shù)據(jù)平均分為兩組,分別是偶數(shù)組和奇數(shù)組,每組分別進(jìn)行DFT運(yùn)算,再合并為最終的結(jié)果。而實(shí)際做的時(shí)候,這兩組進(jìn)一步平均分為4組,4組再進(jìn)一步平均分為8組,這樣一直分下去,直到每一組只有兩個(gè)采樣數(shù)據(jù)為止。這里有個(gè)前提條件是,原始采樣數(shù)據(jù)個(gè)數(shù)必須是2的冪,即N= 2M,否則需要通過補(bǔ)零的辦法,湊夠2的冪。

從分解過程可以看出,最后分解到每組只有2個(gè)采樣數(shù)據(jù),這兩個(gè)數(shù)據(jù)進(jìn)行所謂的蝶形運(yùn)算,生成下一步需要的蝶形運(yùn)算數(shù)據(jù)。以8個(gè)采樣數(shù)據(jù)的FFT運(yùn)算為例,其計(jì)算路徑如圖1所示。

圖1 八點(diǎn)采樣數(shù)據(jù)的FFT運(yùn)算路徑

圖中,左邊輸入的是8個(gè)采樣數(shù)據(jù),經(jīng)過FFT運(yùn)算,右邊得到8個(gè)結(jié)果數(shù)據(jù)。其中的兩點(diǎn)DFT,以最上面的為例,它的輸入x(0)和x(4) ,其上面的輸出為:

下面的輸出為:

從圖中可以看出,輸出的運(yùn)算結(jié)果按照十進(jìn)制順序X(0)、X(1)、X(2)……X(7) ,但是輸入采樣數(shù)據(jù)的次序不是按照x(0)、x(1)、x(2)……x(7)的順序,而是看上去很“亂”的一個(gè)次序。其實(shí)把這個(gè)輸入數(shù)據(jù)的次序轉(zhuǎn)換為二進(jìn)制,就可以發(fā)現(xiàn)它不僅不“亂”,而且是有規(guī)律的。這個(gè)規(guī)律就是所謂的“倒位序”。

十進(jìn)制數(shù)0到7的二進(jìn)制數(shù),及其相應(yīng)的倒位序如表1所示。

表1 0—7的二進(jìn)制數(shù)及其倒位序

實(shí)際的采樣數(shù)據(jù)個(gè)數(shù)往往很多,一般取2的冪,但獲得倒位序的方法是相同的。有了倒位序,進(jìn)行FFT的另一個(gè)重要的參數(shù)是蝶形運(yùn)算上下兩個(gè)節(jié)點(diǎn)的間距以及旋轉(zhuǎn)因子WN的變化規(guī)律。從圖1可以看出來,第1級蝶形運(yùn)算(圖中的2點(diǎn)DFT框)旋轉(zhuǎn)因子只有一個(gè),上下兩個(gè)節(jié)點(diǎn)之間的間距為1。第2級蝶形運(yùn)算旋轉(zhuǎn)因子有和兩個(gè),上下兩個(gè)節(jié)點(diǎn)之間的間距為2。第3級蝶形運(yùn)算旋轉(zhuǎn)因子有、、和共4個(gè),上下兩個(gè)節(jié)點(diǎn)之間的間距為4。從中可以總結(jié)出來規(guī)律,設(shè)參與運(yùn)算的采樣數(shù)據(jù)個(gè)數(shù)總共有N= 2M,則蝶形運(yùn)算的級數(shù)為M級。第M級(最后一級)的旋轉(zhuǎn)因子為、、……以及共M個(gè),上下兩個(gè)節(jié)點(diǎn)之間的間距為N/2 。第M- 1級的旋轉(zhuǎn)因子為第M級的偶數(shù)序號的旋轉(zhuǎn)因子,上下兩個(gè)節(jié)點(diǎn)之間的間距為N/4 。依此類推,第1級的旋轉(zhuǎn)因子只有一個(gè),上下兩個(gè)節(jié)點(diǎn)之間的間距為1。

考慮到語音信號的采樣數(shù)據(jù)量很大,一個(gè)單詞的數(shù)據(jù)量都接近4萬,因此,為了獲得語音的頻譜,先對語音信號分幀,把采樣數(shù)據(jù)等分為多幀,每幀數(shù)據(jù)個(gè)數(shù)相同,這樣便于處理。分幀相當(dāng)于在時(shí)域給語音信號施加一個(gè)矩形窗。分幀后再計(jì)算每一幀數(shù)據(jù)的FFT變換,這樣得到每一幀的頻譜。

綜上所述,由FFT計(jì)算語音信號頻譜的運(yùn)算過程如下:

(1)采樣數(shù)據(jù)分幀,每幀長度相同,幀長取2的整數(shù)次方;

(2)根據(jù)幀長確定倒位序;

(3)取得第一幀采樣數(shù)據(jù),加窗,補(bǔ)零使幀長為2的整數(shù)次方;

(4)按照倒位序調(diào)換該幀采樣數(shù)據(jù)的次序,注意第1個(gè)和最后一個(gè)采樣數(shù)據(jù)位置不變;

(5)計(jì)算幀數(shù)據(jù)的第1級蝶形,即圖(1)中的兩點(diǎn)DFT框,旋轉(zhuǎn)因子取為;

(6)由該級蝶形的輸入數(shù)據(jù),計(jì)算該級蝶形輸出數(shù)據(jù),分別計(jì)算實(shí)部和虛部;

(7)蝶形的級數(shù)加1;

(8)判斷級數(shù)是否等于M,若等于M,轉(zhuǎn)第(10)步;

(9)計(jì)算本級蝶形的旋轉(zhuǎn)因子,轉(zhuǎn)第(6)步;

(10)數(shù)據(jù)幀序號加1;

(11)判斷幀序號是否達(dá)到最大,若是,表明所有幀數(shù)據(jù)處理完畢,結(jié)束;

(12)轉(zhuǎn)第(3)步。

上述運(yùn)算過程完成了一個(gè)語音文件的所有幀的FFT運(yùn)算,得到了每一幀數(shù)據(jù)的頻譜。

4 運(yùn)算結(jié)果

本文在VC++環(huán)境下,編程對英文單詞進(jìn)行分幀以及FFT變換,得到相應(yīng)的幀頻譜和相位譜。

第一個(gè)對單詞“dictionary”的音頻文件進(jìn)行處理,首先進(jìn)行端點(diǎn)檢測,去除起始端點(diǎn)和結(jié)束端點(diǎn)之外的采樣數(shù)據(jù),以減少需要處理的數(shù)據(jù)量。再分幀并進(jìn)行FFT變換,以獲得每幀的頻譜和相位譜,分幀結(jié)果如下:

Total # of samples: 33547

Bits per sample: 16

Sample Rate: 44100

Frame length: 20.58(ms).= 907(points)

Frame shift: 0.7529 = 682(points)

Total # of frames: 49

Last frame, # of speech data (iNLast=): 811(points)

data window style: Rectangle(default) iWinStyl= 1

Frame length for FFT : 1024 = 2 ^ 10

分幀后畫出語音波形、選中第一幀并畫出該幀語音波形,再進(jìn)行FFT變換得到頻譜及相位譜如圖2所示。

圖2 “dictionary”語音及其第1幀波形及頻譜和相位譜

第2幀運(yùn)算結(jié)果如圖3所示。

圖3 “dictionary”第2幀波形及頻譜和相位譜

第30幀運(yùn)算結(jié)果如圖4所示。

圖4 “dictionary”第30幀波形及頻譜和相位譜

其他語音音頻文件的運(yùn)算結(jié)果不再一一列舉。

5 結(jié)語

計(jì)算機(jī)處理語音信號,必須采用時(shí)域和頻域都離散的形式。而語音信號離散化后,實(shí)際上就是一些采樣數(shù)據(jù),其處理方式需要采用數(shù)字信號處理技術(shù)。時(shí)域處理可以獲得信號的時(shí)域特征,例如幀能量、幀過零率等等。而頻域處理獲得頻域參數(shù),例如頻譜、相位譜,這些頻域參數(shù)可以用在語音信號數(shù)字濾波器的設(shè)計(jì)、語音語譜圖的形成等領(lǐng)域。

猜你喜歡
頻域時(shí)域頻譜
電機(jī)在60Hz運(yùn)行過程中的故障頻譜分析
晚霞淺淡少年糖
一種海上浮式風(fēng)電基礎(chǔ)頻域動(dòng)力響應(yīng)分析新技術(shù)
FCC啟動(dòng) 首次高頻段5G頻譜拍賣
動(dòng)態(tài)頻譜共享簡述
智慧農(nóng)業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)故障處理分析
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)在電子信息工程中的運(yùn)用
基于MATLAB 的信號時(shí)域采樣及頻率混疊現(xiàn)象分析
兩種常用漂浮式風(fēng)力機(jī)平臺動(dòng)態(tài)特性分析
不同入射角風(fēng)波流海上漂浮式風(fēng)力機(jī)頻域與時(shí)域動(dòng)態(tài)特性
射洪县| 哈尔滨市| 湟中县| 全椒县| 香港| 安多县| 平南县| 和林格尔县| 喀什市| 诸暨市| 罗田县| 新疆| 桂林市| 西和县| 沙湾县| 高台县| 上蔡县| 临桂县| 余江县| 如皋市| 射阳县| 灌云县| 昌平区| 安多县| 洪雅县| 剑阁县| 唐海县| 揭东县| 沧源| 呼玛县| 房产| 乡城县| 奈曼旗| 南郑县| 锦州市| 波密县| 泽州县| 石台县| 龙井市| 莆田市| 奉化市|