基於MATLAB的個人語音頻號處理

2022-10-22 07:54:03 字數 4026 閱讀 6950

目錄一、實驗目的 1

二、實驗原理 1

三、.主要實驗儀器及材料 1

四.掌握要點 1

五、實驗內容 1

六、 語音頻號的採集 1

七、 語音頻號的頻譜分析 3

八、 fir濾波器的分析與設計 4

1、窗函式法設計fir濾波器 4

2、程式設計及流程圖 5

3、輸出結果** 6

4、程式設計及流程圖 (fir高通濾波器) 6

5、輸出結果** 7

九、 聲音頻號的濾波 7

十、 對訊號進行濾波的流程 8

十一、 對訊號進行濾波的** 8

1、濾波前後的時域對比 9

2、濾波前後的頻域對比 10

十二、 總結及心得體會 10

附錄:(聲音頻號的濾波部分程式) 11

參考文獻 14

綜合運用數字訊號處理課程的理論知識進行頻譜分析以及濾波器設計,通過理論推

導得出相應結論,並進行計算機**,從而複習鞏固了課堂所學的理論知識,提高了對所學

知識的綜合應用能力。

參考《數字訊號處理》教材。

微型計算機、matlab6.5 教學版、tc 程式設計環境。

初步掌握實現了對數碼訊號的處理。

(1)錄製一段個人自己的語音頻號,並對錄製的訊號進行取樣,對取樣後的語音頻號

進行頻譜分析;給定濾波器的效能指標,採用窗函式法和雙線性變換設計濾波器,得出濾波

器的頻率響應;然後用自己設計的濾波器對採集的訊號進行濾波,得出濾波後訊號的時域波

形和頻譜,並對濾波前後的訊號進行對比,分析訊號的變化;回放語音頻號。

首先利用windows下的錄音機,錄製一段自己的話音,時間在1 s內,存為檔案:然後在matlab軟體平台下,利用函式w**read對語音頻號進行取樣,記下取樣頻率和取樣點數為:pcm 44.

100 khz, 16 位。通過w**read函式的使用,我們能很快理解取樣頻率、取樣位數等概念。

利用函式w**read對語音頻號的採集的程式如下:

close all;

i=1;

[x,fs,bits]=w**read(''); %x:語音資料;fs:取樣頻率;bits:取樣點數

sound(x,fs,bits); %話音回放

n=length(x);

n=0:n-1;

figure(i);

subplot(2,1,1);

plot(n,x); %畫出原始語音頻號的波形

xlabel('n

ylabel('x(n)');

title('原始語音頻號');

subplot(2,1,2);

[h,f]=freqz(x,1,512,fs);

plot(f,20*log10(abs(h))); %畫出原始語音頻號的頻譜

xlabel('n');

ylabel('x(n)');

title('原始語音頻號的頻譜');

檔名yw**read

執行結果:fs = 22.050 khz

bits =16

圖1 原始語音頻號及其頻譜

先畫出語音頻號的時域波形,然後對語音號進行快速傅利葉變換,得到訊號的頻譜特性。語音頻號的fft頻譜分析程式如下:

f=fft(x,n); %對語音號進行快速傅利葉變換,得出頻譜

i=i+1;

figure(i);

plot(abs(n),abs(f

xlabel('k

ylabel('|y(k

title('fft後的波形');

執行結果:

圖2 傅利葉變換後的頻譜

iir濾波器的最大缺點是不容易實現線性相位,而在語音、影象、資料通訊等系統中普遍都要求數字濾波器具有線性相位特性,fir濾波器正是因為具有線性相位特性因而在各個科技領域都獲得了廣泛的應用。設計fir常用方法有窗函式法、頻率取樣法等,本次課程設計採用的是窗函式法。

fir濾波器的設計目標就是通過傅利葉變換,得到理想濾波器與近似數字濾波器在頻域上的對應關係為就稱為窗函式。用實際的系統函式逼近理想的系統函式時,其精確程度取決於窗函式的頻率特性。經過擷取後,會帶來誤差,在頻域上引起截斷效應,稱為吉布斯效應(gibbs)。

為了改善這種情況,需要窗函式的主瓣寬度盡可能窄,以獲得最小的過渡帶;旁瓣相對值盡可能小,以使通帶波紋小,並且阻帶衰減大。實際上,這兩個要求並不能同時滿足,如何設計盡量滿足這兩個條件的窗函式就是用窗函式的關鍵所在。用窗函式設計fir濾波器,需要根據給定的濾波器指標選擇適當的窗函式和窗函式的寬度n。

利用窗函式法設計fir濾波器的步驟為:

(1)根據設計的技術要求確定待求濾波器的單位脈衝響應或頻域響應。

(2)根據實際中對過渡帶和阻帶衰減的要求,選擇窗函式的形式,並估計窗長度n。

(3)計算濾波器的單位脈衝響應。

(4)檢驗所設計的濾波器的效能,根據是否達到設計指標重複上述步驟。

(1)程式設計

fp=1000;fs=1200;as=120;fs=22050確定技術指標

wp=2*pi*fp/fs; ws=2*pi*fs/fs求歸一化頻率

wo=ws-wp求過渡帶

beta=0.1102*(as-0.87求凱澤窗函式引數

n=ceil((as-8)/2.285/wo由過渡帶決定n的值

wc=(wp+ws)/2/pi

b=fir1(n,wc,kaiser(n+1,beta));

[hw,w]=freqz(b,1);

figure(1);

plot(w*fs/2/pi,20*log10(abs(hw繪製頻率響應曲線

grid ;

title('fir低通濾波器');

(2)程式流程圖(低通濾波器 )

凱澤窗低通濾波器設計流程圖如圖3所示:

圖3 凱澤窗低通濾波器設計流程圖

圖4 凱澤窗低通濾波器的幅頻特性

(1)程式設計

fp=5000;fs=4800;fs=22050;as=135確定技術指標

wp=2*pi*fp/fs;ws=2*pi*fs/fs求歸一化頻率

wo=wp-ws求過渡帶

beta=0.1102*(as-0.87求凱澤窗函式引數

n=ceil((as-8)/2.285/wo由過渡帶決定n的值

wc=(wp+ws)/2/pi;

b=fir1(n,wc,'high',kaiser(n+1,beta));

[hw,w]=freqz(b,1);

figure(1);

plot(w*fs/2/pi,20*log10(abs(hw)));grid ;

title('fir高通濾波器的幅頻特性');

(2)程式流程圖

凱澤窗高通濾波器設計流程圖如圖5所示:

圖5 凱澤窗高通濾波器設計流程圖

圖6 凱澤窗高通濾波器的幅頻特性

濾波是把訊號的某些頻率分量分離出來或去掉的過程,能完成這種功能的器件就稱為濾波器。利用前面設計好的各種濾波器來實現對某些聲音頻號的濾波,從而改變輸入訊號所包含的頻率成分的相對比例或濾出某些頻率成分。

(1)利用w**read函式把指定路徑下的w**格式的聲音檔案讀入向量中,採用自己錄製的**,取樣率是22050hz。

x=w**read('f:\ewb512\');

(2)利用sound函式對原始語音頻號進行回放。

sound(x,22050);

(3)利用filter函式對樣本訊號進行濾波處理,以設計好的iir濾波器為例,

y=filter(bz,az,x);

(4) 利用sound函式對原始語音頻號進行回放。

sound(y,fs);

(5)利用plot函式分別作出訊號在濾波前後的時域波形圖並比較。

plot(x); plot(y)

(6)利用fft函式對濾波前後的訊號進行1024點的快速傅利葉變換fft,採用一次基2按時間抽取。

x=fft(x,1024);y=fft(y,1024);

f=fs*(0:511)/1024;

基於 MATLAB 的函式的插值方法

6.1 插值問題及其誤差 6.1.2 與插值有關的matlab 函式 一 poly2sym 函式 呼叫格式一 poly2sym c 呼叫格式二 f1 poly2sym c,v 或 f2 poly2sym c,sym v 二 polyval 函式 呼叫格式 y polyval p,x 三 poly 函...

基於TDA2019的音訊功放設計報告

院 系 名稱資訊工程學院 專業班級 09 普本電信一班 學號學生姓名 指導教師 2012年5月25日 1整體設計思路 音訊功率放大器主要由前置級 音調級 功率放大級3部分組成。前置級要求輸入阻抗高 輸出阻抗小 頻帶寬 雜訊小 音調級對輸入訊號主要起到提公升 衰減作用 功率放大級是音訊功率放大器的主要...

基於eSRVCC的VoLTE語音解決方案

csfb方案 終端開機駐留在lte網路,進行語音業務時回落到2 3g網路,待通話結束後再重選返回lte網路駐留。該方案通過在mme和msc建立sgs介面,處理lte域和cs域之間的移動性管理和尋呼流程。缺點在於回落導致的切換時延過長 最多達15秒 而且終端在lte網路下的資料業務會中斷,影響使用者感...