【摘要】Matlab信號(hào)處理系統(tǒng)的廣泛應(yīng)用,為傳統(tǒng)信號(hào)處理方式帶來(lái)了很大的改變。本文首先介紹了Matlab以及在信號(hào)處理方面的特點(diǎn),在此基礎(chǔ)上,按照信號(hào)處理的流程,從信號(hào)產(chǎn)生、處理兩個(gè)方面,分析了Matlab在濾波、頻域變換和圖像顯示三個(gè)環(huán)節(jié)的實(shí)際應(yīng)用,這不僅有利于通過(guò)Matlab進(jìn)行信號(hào)處理的系統(tǒng)的改造升級(jí),還實(shí)現(xiàn)數(shù)字信號(hào)處理的簡(jiǎn)便可靠。
【關(guān)鍵詞】Matlab;信號(hào)處理;濾波
眾所周知,信號(hào)作為信息的基本載體,是信息最基本的一種物理表現(xiàn),信號(hào)處理主要指通過(guò)采集、變換、估計(jì)和識(shí)別等加工方式獲取有用的信息。
隨著信息時(shí)代的到來(lái),信號(hào)處理的方法變得越來(lái)越豐富,已經(jīng)變成了一門單獨(dú)的學(xué)科被廣泛的加以研究。其中,Matlab軟件處理平臺(tái)的出現(xiàn),能夠在信號(hào)處理的檢測(cè)、變換、濾波、識(shí)別等各個(gè)過(guò)程中發(fā)揮出色的作用,成為一個(gè)值得深入研究的新領(lǐng)域。
1.Matlab簡(jiǎn)介及其特點(diǎn)
Matlab又名“矩陣實(shí)驗(yàn)室”,它作為一種廣受科學(xué)家和工程技術(shù)人員喜愛(ài)的研究工具,憑借其強(qiáng)大的運(yùn)算功能、數(shù)據(jù)可視化以及豐富的專業(yè)箱等優(yōu)勢(shì),已經(jīng)在圖像處理、通訊、建模等領(lǐng)域得到了廣泛的應(yīng)用。Matlab最早是用于數(shù)學(xué)的一種商業(yè)性軟件,目前已經(jīng)成為一種高層次研究人才所必須掌握的技能,可以方便的利用這種標(biāo)準(zhǔn)性軟件來(lái)解決各種科學(xué)計(jì)算問(wèn)題。Matlab軟件平臺(tái)的兩大組件為Matlab和Simulink,每個(gè)組件都有各自的功能和特點(diǎn),總體來(lái)說(shuō),Matlab軟件用于數(shù)字信號(hào)的處理具有靈活性程度高、精度和穩(wěn)定性較好、便于開發(fā)和升級(jí)、功能強(qiáng)大等優(yōu)點(diǎn),在解決相同問(wèn)題時(shí)候,Matlab的性能要遠(yuǎn)遠(yuǎn)超過(guò)用其它編程語(yǔ)言所編制的計(jì)算機(jī)程序。
2.Matlab的信號(hào)處理系統(tǒng)分析
Matlab信號(hào)處理的工具箱提供了豐富而簡(jiǎn)單的設(shè)計(jì),可以實(shí)現(xiàn)IIR和FIR濾波器,使原本程序設(shè)計(jì)簡(jiǎn)化成函數(shù)進(jìn)行調(diào)用。 Matlab的信號(hào)處理系統(tǒng),通常是按照信號(hào)的處理流程為主線進(jìn)行設(shè)計(jì),信號(hào)在進(jìn)入系統(tǒng)之后,先要對(duì)對(duì)其是否含有噪聲狀況進(jìn)行甄別,如果有噪聲則要進(jìn)行相應(yīng)的濾波后,才能進(jìn)入信號(hào)頻譜分析階段,最后則通過(guò)仿真步驟進(jìn)行波形顯示。
2.1 信號(hào)產(chǎn)生過(guò)程中的Matlab分析
信號(hào)產(chǎn)生有兩種類方式:第一種是通過(guò)Matlab的數(shù)據(jù)采集工具箱,實(shí)現(xiàn)了軟件與采集硬件之間的數(shù)據(jù)通信。由于Matlab具備了實(shí)用的程序接口和發(fā)布平臺(tái),Matlab已經(jīng)能夠與外部的數(shù)據(jù)和程序進(jìn)行交互,不僅擴(kuò)充了軟件強(qiáng)大的數(shù)值計(jì)算與圖形顯示功能,還能避開在進(jìn)行信息好處理中效率低的缺點(diǎn)。所以,信號(hào)通過(guò)各種標(biāo)準(zhǔn)接口進(jìn)入信號(hào)處理系統(tǒng)之后,先將各種數(shù)據(jù)信息封存于系統(tǒng)的開放性存儲(chǔ)空間之內(nèi),然后調(diào)用一定的命令或函數(shù)將其轉(zhuǎn)換為矩陣形式,以滿足后續(xù)的信號(hào)分析。整個(gè)過(guò)程中,系統(tǒng)使用者只需依據(jù)圖形用戶界面的提示進(jìn)行相關(guān)數(shù)據(jù)的采集操作,完成對(duì)數(shù)據(jù)采樣的開始、暫停、停止控制,這是信號(hào)輸入的一種重要來(lái)源;第二種方式為,在信號(hào)處理系統(tǒng)的程序設(shè)計(jì)階段,Matlab就能夠提供一些波形產(chǎn)生函數(shù),比如正弦波、方波、三角波等,可以根據(jù)用戶的需求的波形和參數(shù),直接產(chǎn)生相應(yīng)的數(shù)字信號(hào),比如常見(jiàn)的數(shù)字電子琴就是通過(guò)這樣的方式實(shí)現(xiàn)。
2.2 信號(hào)處理過(guò)程中的Matlab分析
Matlab豐富的可定制模塊庫(kù),如按功能劃分的子庫(kù)有Discrete(離散模塊)、Signals&Systems(信號(hào)和系統(tǒng)模塊)等,能夠?qū)π盘?hào)進(jìn)行采集、濾波、輸出進(jìn)行仿真與測(cè)試,為信號(hào)的處理帶來(lái)了極大便利。從Matlab信號(hào)處理的組件來(lái)看,信號(hào)處理被可以又分為信號(hào)的濾波、頻譜分析兩個(gè)步驟,具體表現(xiàn)為以下幾個(gè)方面:
2.2.1 Matlab的濾波器
數(shù)字濾波器可以利用一定的算法對(duì)信號(hào)進(jìn)行處理,從而得到一組新的數(shù)字信號(hào)。這是信息處理至關(guān)重要的一個(gè)環(huán)節(jié),比如在人體心電圖信號(hào)處理過(guò)程中,必須要通過(guò)低通濾波排除相應(yīng)的干擾之后,才能獲得判斷心臟有用的信息。
鑒于此,Matlab工具箱提供濾波器設(shè)計(jì)的每一步驟的函數(shù),包含原型函數(shù)、轉(zhuǎn)變函數(shù)和直接涉及函數(shù)等,Matlab信號(hào)處理工具箱的一個(gè)重要功能為,通過(guò)濾波器來(lái)消除輸入信號(hào)中的無(wú)用信號(hào)和噪聲干擾,也可以實(shí)現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)變。比如以帶通濾波器的設(shè)計(jì)為例進(jìn)行分析,在Matlab系統(tǒng)中,帶通濾波器的仿真設(shè)計(jì)思路如下:
(1)利用cheblord函數(shù)來(lái)確定濾波器的階數(shù)和截至頻率;
(2)通過(guò)[num den]=cheby1(N Wn)和[num den]=cheby2(N Wn)來(lái)完成濾波器的設(shè)計(jì);
(3)調(diào)用impinvar函數(shù)實(shí)現(xiàn)脈沖序列不變的模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)變過(guò)程。
2.2.2 Matlab的頻域變換
因?yàn)镸atlab具備將一個(gè)信號(hào)變換到頻域,這也是進(jìn)行Matlab仿真信號(hào)處理的一個(gè)重要環(huán)節(jié),通過(guò)快速傅氏變換為信號(hào)處理的頻譜分析提供了一種算法,可以計(jì)算各個(gè)采樣點(diǎn)的幅度值、相位、頻率等,在傅里葉變化中如果頻譜的動(dòng)態(tài)范圍較廣,則需要進(jìn)一步進(jìn)行對(duì)數(shù)變換,以獲取可視化頻譜圖,這可以為下一步的波形顯示提供數(shù)值依據(jù),具有精確、快速、實(shí)時(shí)處理等多種優(yōu)點(diǎn)。其中,采樣頻率對(duì)波形的影響最顯著,通過(guò)定義好采樣間隔的時(shí)和采樣頻率來(lái)控制波形,能夠使得到的圖形更加光滑,以防止因?yàn)殚g隔過(guò)大而出現(xiàn)的明顯的波動(dòng),尤其是在斜率較大的地方,將會(huì)影響后續(xù)信號(hào)的分析。
2.2.3 Matlab的圖像顯示
對(duì)于信號(hào)處理來(lái)說(shuō),Matlab中的 Simulink組件能實(shí)現(xiàn)信號(hào)處理的動(dòng)態(tài)建模、仿真和綜合分析,在Simulink進(jìn)行仿真計(jì)算之后,點(diǎn)擊示波器按鈕,調(diào)用相關(guān)的繪圖函數(shù),則會(huì)得到經(jīng)過(guò)信號(hào)處理以后的波形圖像,它能夠很好的還原原始信號(hào)的真實(shí)情況,這一環(huán)節(jié)主要是采用面向?qū)ο蟮拈_發(fā)方式,這就使得這種環(huán)境運(yùn)行之下的信號(hào)處理,不需要編程大量的程序,使用者只需依據(jù)自己的需求輕點(diǎn)鼠標(biāo),就能呈現(xiàn)出復(fù)雜的信息處理全過(guò)程,為信號(hào)處理提供了一種快捷、方便、高效的途徑,已經(jīng)被廣泛應(yīng)用于語(yǔ)音識(shí)別、圖像處理、雷達(dá)探測(cè)等多個(gè)領(lǐng)域。
值得注意的是,信號(hào)處理是一個(gè)復(fù)雜的過(guò)程,當(dāng)采樣頻率變化或者系統(tǒng)運(yùn)行不夠穩(wěn)定時(shí),都會(huì)給最后的結(jié)果帶來(lái)較大的誤差,還需要進(jìn)一步改善Matlab信號(hào)處理系統(tǒng)的性能,保證信號(hào)處理過(guò)程的可靠性、有效性。
3.結(jié)束語(yǔ)
綜上所述,Matlab信號(hào)處理系統(tǒng)的出現(xiàn),既能夠?qū)崿F(xiàn)傳統(tǒng)分析儀器的功能,又可以大大減少信號(hào)處理的成本,是一個(gè)非常優(yōu)秀的信號(hào)處理輔助工具。盡管如此,Matlab信號(hào)處理系統(tǒng)依舊具有一定的缺陷,比如還需要一定的編程來(lái)完成相應(yīng)信號(hào)的處理過(guò)程,對(duì)使用者的專業(yè)素質(zhì)也要求較高等,這就需要在日后,加大對(duì)Matlab信號(hào)處理系統(tǒng)的研究工作,在提高本軟件的適用性的同時(shí),也要拓展系統(tǒng)的通用性,使得它能夠更好的為科學(xué)研究和工程建設(shè)服務(wù)。
參考文獻(xiàn)
[1]姜衍猛.基于MATLAB的數(shù)據(jù)采集與分析系統(tǒng)的研究及設(shè)計(jì)[D].山東大學(xué),2012.
[2]劉勤讓,羅小武.基于MATLAB的信號(hào)處理仿真[J].信息工程大學(xué)學(xué)報(bào),2000(01).
[3]羅大鵬,葉敦范,王勇.基于Matlab的信號(hào)處理系統(tǒng)[J].現(xiàn)代電子技術(shù),2004(19).
[4]任競(jìng)穎.基于MATLAB的信號(hào)處理實(shí)驗(yàn)系統(tǒng)的開發(fā)[D].電子科技大學(xué),2011.
作者簡(jiǎn)介:于洋(1992—),男,山東棗莊人,大學(xué)本科,現(xiàn)就讀于山東科技大學(xué),研究方向:數(shù)字信號(hào)處理。