




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、信號與系統(tǒng)課程設計報告課題五 基于FIR濾波的語音信號處理系統(tǒng)設計課題五 基于FIR濾波的語音信號處理系統(tǒng)設計摘要: 本課題研究數(shù)字語音信號的初步分析方法、FIR數(shù)字濾波器的設計及應用。Matlab中實現(xiàn)對語音信號進行采集(讀?。シ乓约爸夭蓸拥墓δ?。對于加入噪聲的語音信號設計合適的FIR數(shù)字濾波器進行濾波處理,并通過FFT變換對語音信號的頻譜進行分析。還通過enframe函數(shù)實現(xiàn)對語音信號的分幀,計算出短時能量和短時平均過零率等參數(shù),通過時域波形和自相關的處理可以看到清音幀和濁音幀的區(qū)別。本次設計中還采用LabVIEW進行仿真設計,實現(xiàn)了包括語音文件的讀取及播放、濾波前后語音信號時域波形及
2、頻譜的顯示、濾波器設計、濾波器幅頻特性的顯示等功能。最后,通過Express聲音采集VI實現(xiàn)采集語音信號的功能,并對采集的語音信號進行后續(xù)分析。本設計很好的完成了設計課題的要求,并在一定程度上進行了延伸。關鍵詞:語音信號采樣 FFT FIR濾波器 頻譜分析 LabVIEW仿真Abstract:This paper researches the initial analysis of the digital voice signal and the design and application of the digital filter.We use Matlab to achieve the
3、function,such as the acquisition of voice,play the voice and the resample of voice signal.We design the proper FIR digital filter to obtain the pure signal and analyze the voice spectrum by FFT transformation.We also use “enframe” to achieve the framing of voice signal and calculate the short-time e
4、nergy.We can see the distinguish between unvoiced speech frame and the voice frame through the voice transaction.Also,the paper introduce the LabVIEW simulation design.The design realize the functions such as read and play the audio files,display of the time domain waveform and the spectrum, filter
5、design,display of the filter amplitude-frequency characteristic.Finally,we use VI named sound acquisition to collect sound signal and analyze.The research completes the requirement of the task well and make more further study.Keywords: Voice signal sampling FFT FIR filter spectral analysis LabVIEW s
6、imulation1課程設計介紹 1.1 課程設計目的 本設計課題主要研究數(shù)字語音信號的初步分析方法、FIR數(shù)字濾波器的設計及應用。通過完成本課題的設計,擬主要達到以下幾個目的: (1)熟悉Matlab軟件的特點和使用方法。 (2)熟悉LabVIEW虛擬儀器的特點以及采用LabVIEW進行仿真的方法。 (3)掌握信號和系統(tǒng)時域、頻域特性分析方法。 (4)掌握FIR數(shù)字濾波器的設計方法(窗函數(shù)設計法、頻率采樣設計法)及應用。 (5)了解語音信號的特性及分析方法。 (6)通過本課題的設計,培養(yǎng)學生運用所學知識分析和解決實際問題的能力。1.2 課程設計任務1.2.1 簡單數(shù)字語音信號處理系統(tǒng)的Mat
7、lab設計。 使用GUI進行系統(tǒng)的圖形用戶界面設計,在該界面中包括對語音信號的讀取,對信號的時域,頻域分析,添加噪聲,設計FIR數(shù)字濾波器(利用窗函數(shù)設計法、頻率采樣設計法任選)實現(xiàn)噪聲濾除。具體任務如下: (1)對語音信號進行采集(讀取),對數(shù)字語音信號加入干擾噪聲,畫出原始信號及帶噪信號的時域波形,利用FFT進行頻域分析,畫出相應波形,并對語音進行播放。 (2)根據(jù)對語音信號及噪聲的實際情況分析,選擇適當?shù)腇IR數(shù)字濾波器進行設計,并對噪聲進行濾除。 (3)分析、對比噪聲濾除前后的語音時域、頻域特性,并對噪聲濾除前后語音進行播放比較。 (4)利用GUI設計圖形用戶界面(包含以上功能)。1.
8、2.2 利用LabVIEW進行仿真設計。 采用LabVIEW進行仿真設計,實現(xiàn)系統(tǒng)的功能,包括語音文件的讀取及播放、濾波前后語音信號時域波形及頻譜的顯示、濾波器設計、濾波器幅頻特性的顯示等功能,要求給出系統(tǒng)的前面板和程序框圖,并記錄仿真結果。1.2.3 選作部分。(1) 語音信號部分時域參數(shù)計算。對語音信號進行分幀(enframe函數(shù)),分別取濁音幀和清音幀計算短時能量和短時平均過零率等參數(shù),并對結果進行比較分析。(2) 利用LabVIEW錄制語音利用Labview實現(xiàn)采集語音信號的功能,可以錄音,播放等。2 設計原理2.1語音信號的采樣與恢復 對模擬語音信號進行采集,需要遵循時域信號的采樣定
9、理。采樣定理敘述如下:時域連續(xù)信號進行等間隔采樣,時域信號的最高頻率是,采樣間隔為,采樣頻率為,采樣信號的頻譜是原模擬信號頻譜沿頻率軸以為周期延拓而成的,并且要不失真地還原出模擬信號時,要滿足,即只有當時,采樣的時域離散信號才能正確地反映原始語音信號。對采樣語音信號進行恢復為模擬語音信號實際上就是內(nèi)插的過程,在任意兩點之間,根據(jù)端點值估計中間任意點的數(shù)值,采用的方法包括一階線性插值法,非線性差值法等。對16000hz采樣信號進行重采樣,重新采樣的頻率分別為2000hz,4000hz和8000hz,采樣間隔與原采樣間隔相比,相當于, ,。采樣得到的序列,,相當于對序列做尺度變換。2.2 FFT快
10、速傅里葉變換離散傅里葉變換(Discrete Fourier Transform,縮寫為DFT),是傅里葉變換在時域和頻域上都呈離散的形式,將信號的時域采樣變換為其DTFT的頻域采樣。在形式上,變換兩端(時域和頻域上)的序列是有限長的,而實際上這兩組序列都應當被認為是離散周期信號的主值序列。設是一個長度為M的有限長序列,則定義的N點離散傅里葉變換為 式中,稱為DFT的變換區(qū)間長度,。2.3語音信號特征參數(shù)提取2.3.1短時能量及短時平均幅度(1)定義 短時能量函數(shù)和短時平均幅度函數(shù)是基于語音信號幅度的變化。清音段幅度小,其能量集中于高頻段;濁音段幅度較大,其能量集中于低頻段。短時能量函數(shù)對信號
11、電平值過于敏感。由于需要計算信號樣值的平方和,在實際應用中(如定點設備)很容易溢出,所以可以用平均幅度函數(shù)來代替短時能量函數(shù)。短時能量函數(shù)定義: (2-1)短時平均幅度函數(shù)定義: (2-2)(2)作用(a) 區(qū)分清/濁音:En、Mn大,對應濁音; En、Mn小,對應清音。(b) 在信噪比高的情況下,能進行有聲/無聲判決:無聲時,背景噪聲的En、Mn??;有聲時,En、Mn顯著增大。判決時可設置一個門限。2.3.2短時平均過零率(1)過零率定義:信號跨越橫軸的情況。對于連續(xù)信號,觀察語音時域波形通過橫軸的情況;對于離散信號,相鄰的采樣值具有不同的代數(shù)符號,也就是樣點改變符號的次數(shù)。 (2)短時平均
12、過零率對于語音信號,是寬帶非平穩(wěn)信號,考察其短時平均過零率。 (2-3)其中sgn.為符號函數(shù), (2-4)(3)作用(a) 區(qū)分清/濁音:濁音平均過零率低,集中在低頻端;清音平均過零率高,集中在高頻端。(b) 從背景噪聲中找出是否有語音,以及語音的起點。2.3.3短時自相關函數(shù)相關函數(shù)用于確定兩個信號在時域內(nèi)的相似性。常用的物理量為自相關函數(shù)和互相關函數(shù)。當兩個信號的互相關函數(shù)大時,則說明一個信號可能是另一個信號的時間滯后或提前;當互相關函數(shù)為0時,則兩個信號完全不同。自相關函數(shù)用于研究信號本身,如波形的同步性和周期性。(1)自相關函數(shù)定義 (2-5)(2)自相關函數(shù)特點(a) 當時域信號為
13、周期信號時,自相關函數(shù)也是周期性函數(shù),兩者具有同樣的周期。(b)為偶函數(shù), 。(c)最大,,,對于確定信號,是信號能量;對于隨機信號或周期信號, 是平均功率。(3)作用(a) 區(qū)分清/濁音。濁音語音的自相關函數(shù)具有一定的周期性。清音語音的自相關函數(shù)不具有周期性,類似噪聲。(b) 估計濁音語音信號的周期,即估計基音周期。3 設計方案及論證3.1 利用Matlab設計基于FIR濾波的數(shù)字語音信號處理系統(tǒng)3.1.1 總體設計結構對語音信號進行錄制播放 內(nèi)插回復加入噪聲重采樣分幀濾波濾波器的設計圖設計框圖3.1.2 對語音信號進行采樣 使用matlab中自帶的函數(shù)audiorecorder函數(shù)可以實現(xiàn)
14、不同采樣頻率進行語音信號的采集,這里我們使用的語音信號的采樣頻率為16000hz。 采樣得到的語音信號的時域波形以及頻譜圖:圖采集語音信號的時域波形和頻譜圖 分析:對語音信號以16000hz的采樣頻率進行信號采集,并對其做快速傅立葉變換FFT,得到的時域波形圖和頻譜圖,由頻譜圖可以看到語音信號的頻率多集中在低頻區(qū),高頻成分很少。3.1.3 對語音信號進行內(nèi)插恢復對采樣得到的語音信號進行內(nèi)插恢復,得到恢復之后的連續(xù)信號,使用matlab工具箱中的interp1函數(shù)。 內(nèi)插恢復的語音信號的時域波形和頻譜圖:圖內(nèi)插恢復信號的時域波形和頻譜圖 分析:對語音信號進行內(nèi)插恢復,時域波形基本沒有變換,但是對
15、恢復后的信號做快速傅里葉變換可以看到頻率成分中的高頻成分更少了,多集中在低頻區(qū),而且低頻成分的幅度值更大了,內(nèi)插恢復后所得的信號更接近于連續(xù)信號,所以高頻成分更少了。3.1.4 對采樣信號重采樣對16000hz采樣得到的時域離散信號進行重采樣,重采樣的頻率分別為2000hz,4000hz和8000hz。相當于對于得到的離散信號的序列做尺度變換,這里使用的for循環(huán)實現(xiàn)的重采樣處理。重采樣得到的時域離散信號波形和頻譜圖:圖重采樣信號 分析:對16000Hz的采樣信號進行重采樣,重采樣的頻率分別為2000Hz,4000Hz,8000Hz。有重采樣得到的語音信號的頻譜圖可以看出采樣頻率越大,語音信號
16、的頻譜圖越接近于最初的采樣語音信號。通過播放語音也可以聽出來2000Hz所得的采樣信號的失真程度較大,4000Hz重采樣得到的語音信號的失真程度較小,8000Hz沖采樣的語音信號的失真程度更小。3.1.5 對采樣信號加入噪聲對采樣信號加入噪聲,即對在得到的信號的序列上,疊加一個噪聲信號,在這里給語音信號加入的噪聲為。加入噪聲后的語音信號的時域波形以及頻譜圖:圖加噪信號的時域波形和頻譜圖 分析:加入噪聲之后,對所得的序列做快速傅里葉變換得到加噪信號的頻譜圖,如上圖所以,可以看到在低頻部分基本沒什么變換,只是在頻譜圖的高頻成分增多。加入噪聲之后,為了出去該噪聲,根據(jù)頻譜圖可以得出我們可以設計合適的
17、數(shù)字低通濾波器,濾出高頻處的成分,保留低頻區(qū)的信號,就可以濾出噪聲信號。3.1.6 濾波器的設計對加入的噪聲的語音信號設計合適的濾波器并進行語音信號的濾波處理,這里我們選擇的是凱塞窗,設計的,.設計的FIR數(shù)字濾波器的窗函數(shù) 和頻譜圖為:圖濾波器窗函數(shù)()和幅度特性 分析:由設計結果可以看到所設計的FIR數(shù)字低通濾波器的階數(shù)為:。 對語音信號進行濾波處理所得到的語音信號的時域波形和頻譜圖為: 圖濾波之后的信號時域波形和頻譜圖 分析:通過FIR數(shù)字低通濾波器的濾波之后,由頻譜圖我們也可以看出原語音信號中的高頻成分已經(jīng)被濾出。通過播放濾波之后的語音序列也已經(jīng)聽不到所加入的噪聲信號了,也說明了噪聲已
18、經(jīng)被濾出。3.1.7 語音信號部分時域參數(shù)的計算 對語音信號進行分幀處理,并計算出每一幀的短時能量和短時平均過零率。這里分幀用到的是enframe函數(shù),設置的幀長為400點,偏移為100點,總共分為157幀。根據(jù)短時能量和平均過零率區(qū)分出清音幀和濁音幀,清音幀的短時能量較濁音幀的短時能量低,但清音幀的平均過零率較濁音幀的平均過零率高。對清音幀和濁音幀分別做作自相關分析。 每一幀的短時能量和平均過零率波形圖: 圖濾波之后的信號時域波形和頻譜圖 分析:對原始語音序列進行分幀之后計算每一幀的短時能量和短時平均過零率所得結果由波形圖的形式顯示為圖6,我們可以看到每一幀的短時能量和平均過零率,可以看到第
19、60幀的短時能量較小但是確由很大的短時平均過零率,第80的短時能量較大但是短時平均過零率卻比較小。由此可以判斷第60幀為清音幀,第80幀為濁音幀。根據(jù)清音幀和濁音幀短時能量和平均過零率的區(qū)別可以判斷第60幀為清音幀,第80幀為濁音幀。并分別畫出他們的時域波形圖:圖清音幀和濁音幀的時域波形 分析:由兩幀的時域波形圖我們可以看出清音幀的時域波形類似于白噪聲,沒什么規(guī)律。但是濁音幀的時域波形呈現(xiàn)有周期的震蕩,類似于周期信號。 對清音幀和濁音幀分別做自相關分析所得結果:圖對清音幀和濁音幀分別做自相關處理結果 分析:分別對濁音幀和清音幀做自相關處理,可以看到對濁音幀做自相關處理后的結果同濁音幀的時域波形
20、具有相同的周期,周期均為100點。該性質(zhì)符合濁音具備的性質(zhì)。但清音幀并不具有該性質(zhì)。3.1.8 GUI界面的設計 利用matlab中GUI設計友好的圖形界面。在這次的語音信號處理系統(tǒng)設計過程中,界面工分為四部分內(nèi)容:時域語音信號的采集、恢復、重采樣處理,對加入噪聲之后的語音信號設計合適的濾波器指標并進行濾波,時域語音信號部分時域參數(shù)(短時能量、短時平均過零率),圖形窗口的顯示等。本次GUI實現(xiàn)的功能有,對語音信號的錄制,語音信號時域波形以及頻譜圖的顯示,對語音信號重新播放,對語音信號進行恢復,采樣語音信號的重新采樣之后的時域波形和頻譜圖的顯示,對語音信號進行加噪處理,所得信號的時域波形和頻譜圖
21、的顯示。設計不同指標的數(shù)字濾波器,可以選擇的濾波器類型有四種,哈明窗、凱塞窗、布萊克曼窗以及頻率采樣設計法,對語音信號進行濾波處理,可以顯示所設計的濾波器的窗函數(shù)、濾波器的幅度特性、濾波之后語音信號的時域波形以及頻譜圖。還可以實現(xiàn)語音信號的分幀處理,計算語音信號的時域參數(shù),包括短時能量和短時平均過零率,可以顯示清音幀和濁音幀的時域波形。同時也設置了GUI界面的關閉選項,包含在file中。圖清音幀和濁音幀的時域波形3.2 LibVIEW仿真設計 播放及FFT變換讀?。ú杉┱Z音信號3.2.1 總體設計結構 播放及FFT變換和功率譜分析 加入噪聲語音信號播放及FFT變換 濾波后語音信號圖9 設計流
22、程圖 整個系統(tǒng)分為兩大模塊:采集并播放實時語音信號,讀取歷史語音信號。兩模塊功能分時實現(xiàn),獨立控制其運行、停止,同時由下拉選擇菜單控制切換。系統(tǒng)的兩功能模塊的切換,是通過條件選擇結構來實現(xiàn)的。運行程序后選擇相應的功能選項,條件結構做出判斷,進入讀取語音信號程序或采集語音信號程序,從而進行后續(xù)的信號處理與分析。 語音信號讀取或采集后,通過條件選擇結構顯示FFT變換后幅度和相位特性,同時對讀取或采集的語音信號加入幅值為0.1,頻率為40000Hz的正弦噪聲信號,同樣進行FFT變換以及功率譜分析,并通過條件選擇結構在一張波形圖上進行顯示。在對加入噪聲的語音信號進行濾波處理后即可得到去噪的信號。濾波器
23、使用數(shù)字FIR濾波器,通過創(chuàng)建FIR濾波器規(guī)范和可選FIR濾波器規(guī)范對濾波器的參數(shù)進行設置以得到符合要求的濾波器。 程序的前面板主要由濾波器的參數(shù)控件、波形顯示控件、功能切換控件、確認(讀取、采集)控件、語音播放控件等組成。圖10 前面板設計 分析:前面板左上角部分為濾波器信息,下面分別為FIR濾波器規(guī)范和可選FIR濾波器規(guī)范,可在運行時實時對濾波器的參數(shù)進行改變,通過濾波器幅度和相位特性的波形顯示可觀察濾波器的信息,而最后的兩幅圖用來顯示濾波后語音的時域頻譜和FFT變換波形。3.2.2 讀取語音信號 選擇讀取語音信號功能時,在處理語音信號之前,需要在路徑控件輸入讀取語音文件的路徑,濾波器參數(shù)
24、則在FIR濾波器規(guī)范控件里設置。 圖 11 讀取語音信號程序框圖 運行程序后,修改濾波器參數(shù),觀察得到的濾除噪音后的語音信號,可判斷出濾除噪音效果較好的低通濾波器參數(shù)為最低通帶2000Hz,最高通帶2100Hz,阻帶增益為-40dB,窗函數(shù)的選擇差別不是很大,可以通過觀察不同窗函數(shù)濾波器的幅度相位特性和濾波后信號的FFT變換圖來進行對比觀察,下面的程序中選擇的是Kaiser-Bessel窗。因為所選擇的語音信號為自己錄制的,其中夾雜一些錄制時比較接近語音信號的頻率的信號,選擇Kaiser-Bessel窗是為了更好的濾除噪聲。如果所讀取的聲音信號比較純凈,則可選用成本比較低的Hanning窗。圖
25、12 讀取語音信號前面板 點擊下拉菜單可觀察到語音信號及加噪語音信號的FFT變換的相位特性。圖13 語音信號及加噪語音信號的FFT變換的相位特性 分析:前面板的波形圖中,可以很清晰的看到加入高頻噪聲的時域波形和頻譜圖。通過觀察濾波器的幅度和相位顯示波形圖,可以看到所設計濾波器的特點。通帶增益為-3dB,阻帶增益為-40dB,抽頭數(shù)N為50。濾波器符合第一類線性相位。濾波后的語音信號也和原信號基本相同。播放時會發(fā)現(xiàn)只有聲音大小的差別,說明噪聲濾除效果比較好。3.2.2 采集語音信號 采集語音信號時,將下拉菜單選擇“采集語音信號”,即可開始錄制語音。 圖14 語音采集部分框圖錄制“你好”,前面板結
26、果如圖:圖15 錄制語音前面板 分析:從圖中我們可以看到,由于錄制語音的存儲格式與“FFT”的格式不一致,所以錄制語音信號的時域顯示還可以,但是語音信號FFT和加噪語音FFT的波形顯示出現(xiàn)問題,為了更好的展示出采集語音特點,將程序框圖加以改變,得出合理的結果。圖16 采集語音程序框圖 經(jīng)過分析,我在語音采集模塊改用了FFT頻譜VI,得出了符合要求的設計圖。圖17 改進后錄制語音前面板 因為錄制的為正常的語音信號,加入的是幅值為0.1,頻率40000Hz的噪聲信號,所以濾波器參數(shù)設計和讀取語音時一致即可。設計的第一類線性相位FIR濾波器濾除噪音效果很好。4 結論 在基于FIR數(shù)字濾波器的語音信號
27、處理系統(tǒng)設計的matlab設計模塊,該系統(tǒng)實現(xiàn)了對語音信號的錄制和語音信號的播放,以及對錄制所得的原始信號的重采樣,加入噪聲等功能。在對于噪聲信號,可以實現(xiàn)設置不同的濾波器指標,設計合適的FIR數(shù)字濾波器,并對含有噪聲的語音信號進行濾波處理,除去語音中的噪聲。本次系統(tǒng)的設計缺陷也有很多。比如不同設置語音信號的錄音時間,只要在GUI界面設置一個參數(shù)調(diào)用即可,還可以設置一個窗口選擇不同的語音文件進行播放。還可以在做時域語音信號的分幀時,可以設定提取出的哪一幀信號進行分析。采用LabVIEW進行仿真設計模塊,很好的實現(xiàn)了系統(tǒng)的功能,前面板中包括語音文件的讀取及播放、濾波前后語音信號時域波形及頻譜的顯
28、示、濾波器設計、濾波器幅頻特性的顯示等功能。另外,利用條件選擇結構可以實現(xiàn)語音信號的采集。通過前面板的FIR濾波器規(guī)范和可選FIR濾波器規(guī)范可是設計不同類型的濾波器,在濾波器幅度和相位特性波形圖中可觀察濾波器特性以選擇合適的濾波器。但是,本設計中也存在一些不足,錄制語音時,并沒有將語音存儲到固定的路徑以備以后的利用,而是只能進行語音的實時處理,這將是改進的一個方向。同時,前面板的設計距離實際儀表還有一定距離,也可進行更好的設計??偟脕碚f,設計任務中要求的所有功能,該系統(tǒng)基本都可以實現(xiàn)。后續(xù)的完善可以做到更好。六、參考文獻1 章佳榮 王璨 張國宇.精通LabVIEW虛擬儀器程序設計與案例實現(xiàn).人
29、民郵電出版社,2013.42 鄭對元. 精通LabVIEW虛擬儀器程序設計. 清華大學出版社,2012.53 陳垚光. 精通MATLAB GUI設計(第二版)電子工業(yè)出版社, 2011.14 高西全 丁玉美. 數(shù)字信號處理(第三版). 西安電子科技大學出版社,2008.85附錄:程序清單:%以16000hz頻率對語音信號采樣并保存為wav文件fs=16000;duration=1;fprintf('Press any key to start %g seconds of recording.n',duration);pause;disp('Recording.n'
30、;);rec=audiorecorder(fs,8,1);recordblocking(rec,duration);y=getaudiodata(rec);fprintf('Finished recording.n');audiowrite('myvoice.wav',y,fs);fprintf('Press any key to play the recording.n');pause;sound(y,fs);.%讀取保存的語音信號文件并畫出它的時域波形和頻譜圖y=wavread('myvoice.wav',16000);Y=f
31、ft(y);N=length(Y);w=0:2*pi/N:2*pi*(N-1)/N;t=1/16000:1/16000:1;subplot(2,1,1),plot(t,y),xlabel('t'),ylabel('y'),title('16000hz采樣得到的時域語音信號')subplot(2,1,2),plot(w/pi,abs(Y),xlabel('w'),ylabel('Y'),title('16000hz采樣信號的頻譜圖').%對采集的語音信號進行內(nèi)插恢復m=1:0.1:16000;y1=i
32、nterp1(y,m);t1=m;Y1=fft(y1);N1=length(Y1);w1=0:2*pi/N1:2*pi*(N1-1)/N1;Y2=abs(Y1);subplot(2,1,1),plot(t1,y1),xlabel('t'),ylabel('y1'),title('內(nèi)插恢復的語音信號')subplot(2,1,2),plot(w1/pi,Y2),xlabel('w'),ylabel('Y1'),title('恢復信號的頻譜圖').%對采集的語音信號進行重采樣,采樣頻率分別為2000hz
33、,4000hz,8000hz.for i=1:2000 x_2(i)=y(i*8);endX_2=fft(x_2);N3=length(X_2);w_2=0:2*pi/N3:2*pi*(N3-1)/N3;t_2=1/2000:1/2000:1;for i=1:4000 x_4(i)=y(i*4);endX_4=fft(x_4);N4=length(X_4);w_4=0:2*pi/N4:2*pi*(N4-1)/N4;t_4=1/4000:1/4000:1;for i=1:8000 x_8(i)=y(i*2);endX_8=fft(x_8);N5=length(X_8);w_8=0:2*pi/N5
34、:2*pi*(N5-1)/N5;t_8=1/8000:1/8000:1;subplot(2,3,1),plot(t_2,x_2),xlabel('t'),ylabel('x_2'),title('2000hz重采樣')subplot(2,3,4),plot(w_2,abs(X_2),xlabel('w'),ylabel('X_2'),title('2000hz重采樣頻譜圖')subplot(2,3,2),plot(t_4,x_4),xlabel('t'),ylabel('x_
35、4'),title('4000hz重采樣')subplot(2,3,5),plot(w_4,abs(X_4),xlabel('w'),ylabel('X_4'),title('4000hz重采樣頻譜圖')subplot(2,3,3),plot(t_8,x_8),xlabel('t'),ylabel('x_8'),title('8000hz重采樣')subplot(2,3,6),plot(w_8,abs(X_8),xlabel('w'),ylabel('
36、X_8'),title('8000hz重采樣頻譜圖').%對采集的語音信號加入噪聲t=1/16000:1/16000:1;z=0.02*cos(4*109*t);y_z=y'+z;Y_z=fft(y_z);N6=length(Y_z);w_z=0:2*pi/N6:2*pi*(N6-1)/N6;figuresubplot(2,1,1),plot(t,y_z),xlabel('t'),ylabel('y_z'),title('加入噪聲之后的信號時域波形')subplot(2,1,2),plot(w_z/pi,abs(Y
37、_z),xlabel('w/pi'),ylabel('Y_z'),title('加入噪聲之后信號的頻譜圖').%FIR濾波器的設計,以及濾波信號的時域和頻譜分析wp=1.25;ws=1.5;rs=40;Bt=ws-wp;alph=0.5842*(rs-21)0.4+0.07886*(rs-21);M=ceil(rs-8)/2.285/Bt);wc=(wp+ws)/2/pi;hn=fir1(M,wc,kaiser(M+1,alph);n=0:length(hn)-1;H,w=freqz(hn,1);subplot(2,1,1),stem(n,hn,
38、'.'),title('h(n)')subplot(2,1,2),plot(w,abs(H),title('濾波器的幅度特性')ywt=fftfilt(hn,y_z);figureH1,w1=freqz(ywt,1);subplot(2,1,1),plot(t,ywt),title('濾波信號的時域波形')subplot(2,1,2),plot(w1/pi,H1),title('濾波信號的頻譜圖').%enframe函數(shù)定義function f=enframe(x,win,inc)nx=length(x(:);nw
39、in=length(win);if(nwin=1) len=win;else len=nwin;endif(nargin<3) inc=len;endnf=fix(nx-len+inc)/inc);f=zeros(nf,len);indf=inc*(0:(nf-1).'inds=(1:len);f(:)=x(indf(:,ones(1,len)+inds(ones(nf,1),:);if(nwin>1) w=win(:)' f=f.*w(ones(nf,1),:);end.%對原始語音信號進行分幀y=wavread('myvoice.wav',160
40、00);t=1/16000:1/16000:1;f=enframe(y,400,100);subplot(2,1,1),plot(f(60,:);subplot(2,1,2),plot(f(80,:); %取出濁音幀和清音幀并作圖figureamp2=sum(f.*f,2); %計算每幀信號的短時能量subplot(2,1,1)plot(amp2),title('短時能量') zcr=zeros(size(f,1),1); delta=0.02; for i=1:size(f,1) x = f(i,:); for j = 1:length(x)-1 if x(j) *x(j+1
41、)<0 & abs(x(j)-x(j+1)>delta zcr(i) = zcr(i)+1; end endendsubplot(2,1,2)plot(zcr),title('平均過零率') %計算每幀信號的平均過零率并作圖an=f(60,:);bn=f(80,:);at=xcorr(an);bt=xcorr(bn);figuresubplot(2,1,1),plot(at),title('清音')subplot(2,1,2),plot(bt),title('濁音') %取出濁音幀和清音幀并做自相關處理.%GUI設置程序fun
42、ction varargout = GUI(varargin) gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', GUI_OpeningFcn, . 'gui_OutputFcn', GUI_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin &
43、& ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end function GUI_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); fu
44、nction varargout = GUI_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; %實現(xiàn)語音信號的錄制function pushbutton1_Callback(hObject, eventdata, handles)fs=16000;duration=1;fprintf('Press any key to start %g seconds of recording.n',duration);pause;rec=audiorecorder(fs,8,1);recordblocki
45、ng(rec,duration);y=getaudiodata(rec);audiowrite('myvoice.wav',y,fs);Y=fft(y);N=length(Y);w=0:2*pi/N:2*pi*(N-1)/N;t=1/16000:1/16000:1;axes(handles.axes1)plot(t,y),xlabel('t'),ylabel('y'),title('16000hz采樣得到的時域語音信號')axes(handles.axes2)plot(w,abs(Y),xlabel('w'),yl
46、abel('Y'),title('16000hz采樣信號的頻譜圖')%播放所錄制的原始語音信號 function pushbutton2_Callback(hObject, eventdata, handles)y=wavread('myvoice.wav',16000);Y=fft(y);N=length(Y);w=0:2*pi/N:2*pi*(N-1)/N;t=1/16000:1/16000:1;axes(handles.axes1)plot(t,y),xlabel('t'),ylabel('y'),title
47、('16000hz采樣得到的時域語音信號')axes(handles.axes2)plot(w,abs(Y),xlabel('w'),ylabel('Y'),title('16000hz采樣信號的頻譜圖')sound(y,16000); %對原始信號加入高頻單音噪聲function pushbutton3_Callback(hObject, eventdata, handles)y=wavread('myvoice.wav',16000);Y=fft(y);N=length(Y);w=0:2*pi/N:2*pi*(
48、N-1)/N;t=1/16000:1/16000:1;axes(handles.axes1)plot(t,y),xlabel('t'),ylabel('y'),title('16000hz采樣得到的時域語音信號')axes(handles.axes2)plot(w,abs(Y),xlabel('w'),ylabel('Y'),title('16000hz采樣信號的頻譜圖')t=1/16000:1/16000:1;z=0.02*cos(4*109*t);y_z=y'+z;Y_z=fft(y_z
49、);N6=length(Y_z);w_z=0:2*pi/N6:2*pi*(N6-1)/N6;axes(handles.axes3)plot(t,y_z),xlabel('t'),ylabel('y_z'),title('加入噪聲之后的信號時域波形')axes(handles.axes5)plot(w_z/pi,abs(Y_z),xlabel('w/pi'),ylabel('Y_z'),title('加入噪聲之后信號的頻譜圖') %對原始語音信號重采樣function pushbutton4_Call
50、back(hObject, eventdata, handles)y=wavread('myvoice.wav',16000);f=str2double(get(handles.f_input,'String');for i=1:f x(i)=y(16000*i/f);endX=fft(x);N=length(X);w=0:2*pi/N:2*pi*(N-1)/N;t=1/f:1/f:1;axes(handles.axes4)plot(t,x),xlabel('t'),ylabel('x'),title('重采樣得到的時域語
51、音信號')axes(handles.axes6)plot(w/pi,abs(X),xlabel('w'),ylabel('X'),title('重采樣信號的頻譜圖') function f_input_Callback(hObject, eventdata, handles) %設置重采樣是的采樣頻率function f_input_CreateFcn(hObject, eventdata, handles)set(gcbo,'String','2000');if ispc && isequ
52、al(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');end %設計哈明窗函數(shù)法設計FIR數(shù)字低通濾波器并對含有噪聲的語音信號濾波處理function pushbutton5_Callback(hObject, eventdata, handles)wp=str2double(get(handles.wp_input,'String');ws=str2double(get(handles.ws_input,'String
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北交所科技成長產(chǎn)業(yè)跟蹤第二十八期:小馬智行與廣州公交集團合作推動自駕技術商業(yè)化應用關注北交所無人車概念企業(yè)
- 基于2025年農(nóng)村人居環(huán)境整治的社會穩(wěn)定風險評估與城鄉(xiāng)融合發(fā)展報告
- 智能化改造對城市污水處理廠運營效率提升的影響報告
- 線下演出市場2025年演出市場政策法規(guī)解讀與合規(guī)報告
- 商業(yè)地產(chǎn)項目數(shù)字化運營策略與客戶體驗反饋機制優(yōu)化報告
- 食品行業(yè)食品安全追溯體系與RFID技術應用現(xiàn)狀與發(fā)展趨勢報告
- 工業(yè)互聯(lián)網(wǎng)平臺2025年異構數(shù)據(jù)庫融合技術在化工行業(yè)中的化工行業(yè)市場前景分析報告
- 智慧養(yǎng)老服務平臺項目投資回報率分析與可行性報告
- 答題萬能公式概要1
- 2025年二手電商平臺信用體系建設與信用教育普及報告
- 2024新滬教版英語(五四學制)七年級上單詞表 (英譯漢)
- 金蝶KIS專業(yè)版完整操作手冊
- 2025年社區(qū)工作者考試試題庫及答案
- 2024工貿(mào)企業(yè)重大事故隱患判定標準解讀
- 省級示范幼兒園評估細則解讀 辦園管理部分解讀課件
- (新平臺)國家開放大學《經(jīng)濟法學》形考任務(計分作業(yè))1-4參考答案
- HSE作業(yè)指導書資料
- 2024年新北師大版七年級上冊數(shù)學教學課件 第一章 1.2 第2課時 棱柱、圓柱、圓錐的展開與折疊
- 淺析火災延伸調(diào)查工作指引
- 2024精麻藥品培訓知識試題庫及答案(完整版)
- 2024年吉林長春市中考地理試卷真題(含答案解析)
評論
0/150
提交評論