陰艷麗
(遼寧省盤(pán)錦市遼河油田通信公司,遼寧 盤(pán)錦 124010)
正弦交流信號(hào)與方波信號(hào)是兩種應(yīng)用極為廣泛的信號(hào),它們通常作振蕩電路產(chǎn)生的,然后將得到的正弦波經(jīng)過(guò)電壓比較器或積分電路,則可輸出一個(gè)方波信號(hào)。正弦波振蕩電路是一。在MATLAB 中,[y,fs,bits]=wavread('Blip',[N1 N2]);用于讀取語(yǔ)音,采樣值放在向量y 中,fs 表示采樣頻率(Hz),bits 表示采樣位數(shù)。[N1 N2]表示讀取從N1點(diǎn)到N2點(diǎn)的值(若只有一個(gè)N的點(diǎn)則表示讀取前N點(diǎn)的采樣值)。sound(x,fs,bits);用于對(duì)聲音的回放。向量y 則就代表了一個(gè)信號(hào)(也即一個(gè)復(fù)雜的“函數(shù)表達(dá)式”)也就是說(shuō)可以像處理一個(gè)信號(hào)表達(dá)式一樣處理這個(gè)聲音信號(hào)。
1.1 GUI設(shè)計(jì)模板
在MATLAB 主窗口中,選擇File 菜單中的New 菜單項(xiàng),再選擇其中的GUI 命令,就會(huì)顯示圖形用戶(hù)界面的設(shè)計(jì)模板。MATLAB為GUI設(shè)計(jì)一共準(zhǔn)備了4 種模板,分別是Blank GUI(默認(rèn))、GUI with Uicontrols(帶控件對(duì)象的GUI 模板)、GUI with Axes and Menu(帶坐標(biāo)軸與菜單的GUI 模板)與Modal Question Dialog(帶模式問(wèn)話(huà)對(duì)話(huà)框的GUI 模板)。當(dāng)用戶(hù)選擇不同的模板時(shí),在GUI設(shè)計(jì)模板界面的右邊就會(huì)顯示出與該模板對(duì)應(yīng)的GUI 圖形。
1.2 GUI設(shè)計(jì)窗口
在GUI設(shè)計(jì)模板中選中一個(gè)模板,然后單擊OK 按鈕,就會(huì)顯示GUI設(shè)計(jì)窗口。選擇不同的GUI設(shè)計(jì)模式時(shí),在GUI設(shè)計(jì)窗口中顯示的結(jié)果是不一樣的。GUI設(shè)計(jì)窗口由菜單欄、工具欄、控件工具欄以及圖形對(duì)象設(shè)計(jì)區(qū)等部分組成。GUI設(shè)計(jì)窗口的菜單欄有 File、Edit、View、Layout、Tools和Help 6個(gè)菜單項(xiàng),使用其中的命令可以完成圖形用戶(hù)界面的設(shè)計(jì)操作。
1.3 GUI設(shè)計(jì)窗口的基本操作
在GUI設(shè)計(jì)窗口創(chuàng)建圖形對(duì)象后,通過(guò)雙擊該對(duì)象,就會(huì)顯示該對(duì)象的屬性編輯器。例如,創(chuàng)建一個(gè)Push Button 對(duì)象,并設(shè)計(jì)該對(duì)象的屬性值。下面的一段程序是語(yǔ)音信號(hào)在MATLAB中的最簡(jiǎn)單表現(xiàn),它實(shí)現(xiàn)了語(yǔ)音的讀入打開(kāi),以及繪出了語(yǔ)音信號(hào)的波形頻譜圖。
下面的一段程序是語(yǔ)音信號(hào)在MATLAB中的最簡(jiǎn)單表現(xiàn),它實(shí)現(xiàn)了語(yǔ)音的讀入打開(kāi),以及繪出了語(yǔ)音信號(hào)的波形頻譜圖。
2.1 語(yǔ)音信號(hào)的讀入與打開(kāi)
[x,fs,bits]=wavread('ding.wav',[10245120]);
sound(x,fs,bits);
X=fft(x,4096);
magX=abs(X);
angX=angle(X);
subplot(221);plot(x);title('原始信號(hào)波形');
subplot(222);plot(X);title('原始信號(hào)頻譜');
subplot(223);plot(magX);title('原始信號(hào)幅值');
subplot(224);plot(angX);title('原始信號(hào)相位');
2.2 語(yǔ)音信號(hào)的定點(diǎn)分析
已知一個(gè)語(yǔ)音信號(hào),數(shù)據(jù)采樣頻率為100Hz,試分別繪制N=128點(diǎn)DFT的幅頻圖和N=1024點(diǎn)DFT 幅頻圖。編程如下:
MATLAB 中圖形用戶(hù)界面的制作有兩種方法:M 文件和GUIDE,本設(shè)計(jì)采用GUIDE的方法制作GUI。
3.1 新建一個(gè)空白GUI 模板:進(jìn)入MATLAB程序界面以后執(zhí)行File→New→GUI 過(guò)程,即可進(jìn)入
3.2 選擇空白模板選項(xiàng)條,單擊OK,一個(gè)空白GUI 模板生成
3.3 拖拉白色框的右下角調(diào)整界面大小,現(xiàn)在就可以開(kāi)始設(shè)計(jì)GUI 功能界面了。從左邊控件框選擇所需要的控件放置在GUI 面板中,然后對(duì)各個(gè)控件進(jìn)行編輯,包括位置、大小、顏色、名稱(chēng)以及編寫(xiě)回調(diào)函數(shù)等。本設(shè)計(jì)主要用到下拉菜單、坐標(biāo)系、框架和按鈕,現(xiàn)分別介紹。
3.4 按鈕設(shè)計(jì):按鈕鍵又稱(chēng)命令按鈕或按鈕,是小的長(zhǎng)方形屏幕對(duì)象,常常在對(duì)象本身標(biāo)有文本。將鼠標(biāo)指針移至對(duì)象,單擊鼠標(biāo)按鈕執(zhí)行由回調(diào)字符串所定義的動(dòng)作。單擊空間框左側(cè)的Push Button 按鈕,在圖形編輯框中確定其位置后單擊鼠標(biāo)左鍵即可放置現(xiàn)在開(kāi)始編寫(xiě)回調(diào)函數(shù),確定按鈕功能。在按鈕上單擊鼠標(biāo)右鍵,選擇view-callbacks→callback 即可在M 文件中找到該按鈕的回調(diào)函數(shù)位置。然后編寫(xiě)功能函數(shù),本設(shè)計(jì)中該按鈕的功能是繪制原始波形,那么只需要讀取語(yǔ)音信號(hào)并畫(huà)出波形。
3.5 坐標(biāo)系設(shè)計(jì):坐標(biāo)軸對(duì)象是許多圖形對(duì)象的父對(duì)象,每一個(gè)可視化顯示用戶(hù)數(shù)據(jù)的圖形窗口都包含一個(gè)或多個(gè)坐標(biāo)軸對(duì)象。坐標(biāo)軸對(duì)象確定了圖形窗口的坐標(biāo)系統(tǒng),所有繪圖函數(shù)都會(huì)使用當(dāng)前坐標(biāo)軸對(duì)象或創(chuàng)建一個(gè)新的坐標(biāo)軸對(duì)象,用于確定其繪圖數(shù)據(jù)點(diǎn)在圖形中的位置。單擊空間框左側(cè)的Axes 按鈕,在圖形編輯框中確定其位置后單擊鼠標(biāo)左鍵即可放置
3.6 框架設(shè)計(jì):框架對(duì)象僅是帶色彩的矩形區(qū)域,框架提供了視覺(jué)的分隔性,框架的style 屬性值是Frame。在其他對(duì)象放入框架之前,框架應(yīng)事先定義,否則框架可能覆蓋控制框使他們不可見(jiàn)。語(yǔ)音信號(hào)處理是語(yǔ)音學(xué)與數(shù)字信號(hào)處理技術(shù)相結(jié)合的交叉學(xué)科,課題在這里不討論語(yǔ)音學(xué),而是將語(yǔ)音當(dāng)做一種特殊的信號(hào),即一種“復(fù)雜向量”來(lái)看待。也就是說(shuō),課題更多的還是體現(xiàn)了數(shù)字信號(hào)處理技術(shù)。用到了處理數(shù)字信號(hào)的強(qiáng)有力工具M(jìn)ATLAB,通過(guò)MATLAB 里幾個(gè)命令函數(shù)的調(diào)用,很輕易的在實(shí)際化語(yǔ)音與數(shù)字信號(hào)的理論之間搭了一座橋。我們可以像給一般信號(hào)做頻譜分析一樣,來(lái)給語(yǔ)音信號(hào)做頻譜分析,也可以較容易的用數(shù)字濾波器來(lái)對(duì)語(yǔ)音進(jìn)行濾波處理。利用MATLAB的gui 界面設(shè)計(jì)。設(shè)計(jì)出了一個(gè)簡(jiǎn)易的用戶(hù)應(yīng)用界面,可以讓人實(shí)現(xiàn)界面操作。更加方便的進(jìn)行語(yǔ)音的頻譜分析與濾波處理。
[1] 王備戰(zhàn).基于KM的電子政務(wù)技術(shù)的研究與實(shí)現(xiàn)[D].西北工業(yè)大學(xué),2003.
[2] 付中華.說(shuō)話(huà)人識(shí)別系統(tǒng)魯棒性研究[D].西北工業(yè)大學(xué),2004.
[3] 蘇宏濤.基于統(tǒng)計(jì)特征的人臉識(shí)別技術(shù)研究[D].西北工業(yè)大學(xué),2004.