




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、淺談MATLAB輔助DSP設(shè)計的研究與實現(xiàn)1 引言數(shù)字信號處理是將信號以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號處理與模擬信號處理是信號處理的子集。數(shù)字信號處理的目的是對真實世界的連續(xù)模擬信號進(jìn)行測量或濾波。因此在進(jìn)行數(shù)字信號處理之前需要將信號從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過模數(shù)轉(zhuǎn)換器實現(xiàn)。而數(shù)字信號處理的輸出經(jīng)常也要變換到模擬域,這是通過數(shù)模轉(zhuǎn)換器實現(xiàn)的。內(nèi)置數(shù)字信號處理器(DSP,DigitalSignalProcessor)是車載主機(jī)內(nèi)以邏輯電路對音視頻數(shù)字信號進(jìn)行再加工處理的專用元件,是一個統(tǒng)稱名詞,包括數(shù)字效果器、EQ、3D環(huán)繞等等。數(shù)字信號處理器(DSP,即DigitalSigna
2、lProcessor)是進(jìn)行數(shù)字信號處理的專用芯片,是伴隨著微電子學(xué)、數(shù)字信號處理技術(shù)、計算機(jī)技術(shù)的發(fā)展而產(chǎn)生的新器件。MATLAB是矩陣實驗室(Matrix Laboratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工
3、程設(shè)計以及必須進(jìn)行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進(jìn)水平。本文所作研究是以自行研制的DSP教學(xué)實驗箱為平臺進(jìn)行的,其DSP采用TMS320VC5416芯片實現(xiàn)。本文內(nèi)容安排如下:第 1部分在介紹相關(guān)背景知識的基礎(chǔ)上,引入使用MATLAB輔助DSP設(shè)計的思想;第2部分介紹了MATALB中實現(xiàn)這一思想的兩種工具;第3部分介紹了工具之一 CCSLink的實現(xiàn)方式及工作原理;第4部分結(jié)合實驗平臺給出了CCSLink的應(yīng)用實例。2 MATLAB輔助DSP設(shè)計的方法概述實現(xiàn)MA
4、TLAB輔助DSP設(shè)計的方法有兩種,即CCSLink和Embedded Target for TI TMS320C6000 DSP。前者可實現(xiàn)MATLAB與C2000/C5000/C6000 DSP之間的數(shù)據(jù)交互和程序控制;后者可實現(xiàn)從Simulink模型自動生成DSP目標(biāo)代碼,但僅支持C6000系列的部分DSP器件。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)O
5、RTRAN,C+ ,JAVA的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。考慮到實驗平臺是以C5000 DSP為基礎(chǔ)的,并且第二種工具較容易操作等因素,下面主要研究利用CCSLink輔助DSP設(shè)計的方法。2.1 Embedded Target for TI TMS320C6000 DSPCode Composer Studio(CCS)是TI提供的DSP的集成開發(fā)環(huán)境。對于C6000系列而言,利用工具Embedded Target for TI TMS320C60
6、00 DSP,用戶可以從Simulink模型直接生成針對DSP目標(biāo)板的可執(zhí)行文件或者CCS工程文件,實現(xiàn)了MATLAB/Simulink與CCS集成開發(fā)環(huán)境(IDE)的無縫連接,從而把設(shè)計人員從繁雜的DSP編程中解脫出來,將主要的精力放在設(shè)計而不是DSP編程上。2.2 MATLAB Link for Code Composer Studio集成在MATLAB6.5或更高版本中的CCSLink工具把MATLAB、TI DSP及其集成開發(fā)環(huán)境CCS連接在一起,使得我們可以在MATLAB環(huán)境下就可以完成對CCS和DSP目標(biāo)板的操作,包括與目標(biāo)內(nèi)存之間的數(shù)據(jù)交互,檢測處理器的狀態(tài),控制DSP程序的運行
7、等。它提供了MATLAB、CCS和目標(biāo)DSP板的雙向連接,開發(fā)者可以利用MATLAB中強(qiáng)大的可視化、數(shù)據(jù)處理和分析工具對DSP中的數(shù)據(jù)進(jìn)行分析和再處理,以輔助DSP系統(tǒng)設(shè)計。我們利用CCSLink提供的相關(guān)函數(shù)能夠?qū)崿F(xiàn)MATLAB與目標(biāo)DSP的存儲器及寄存器間的信息交互,如同操作MATLAB變量一樣來讀、寫TI DSP中的存儲器或寄存器,即整個目標(biāo)DSP對于MATLAB而言是透明的。3 CCSLink的實現(xiàn)方式及工作原理3.1 CCSLink的實現(xiàn)方式利用CCSLink即可實現(xiàn)MATLAB、CCS和目標(biāo)DSP之間的信息交互。CCSLink共提供了3種實現(xiàn)方式:1)使用與CCS IDE的連接對象
8、。利用此對象來創(chuàng)建CCS IDE和MATLAB的連接,從MATLAB命令窗中即可運行CCS IDE中的應(yīng)用程序,查詢目標(biāo)DSP的狀態(tài)信息,修改或讀取目標(biāo)DSP的存儲器或寄存器中的數(shù)據(jù),甚至可以調(diào)試DSP程序。2)使用與RTDX(Real-Time Data Exchange)的連接對象。提供MATLAB和硬件DSP 之間的實時通信通道。利用此連接對象,可以打開、使能、關(guān)閉或禁止DSP的RTDX通道,利用此通道可以實時地向硬件目標(biāo)DSP發(fā)送和取出數(shù)據(jù)而不必停止 DSP上運行的程序。RTDX連接對象實際上是CCS連接對象的一個子類,在創(chuàng)建CCS連接對象的同時創(chuàng)建RTDX連接對象,它們不能分別創(chuàng)建。
9、3)使用嵌入式對象。在MATLAB環(huán)境中創(chuàng)建一個可以代表嵌入在目標(biāo)C程序中的變量的對象。利用嵌入式對象可直接訪問嵌入在目標(biāo) DSP中的存儲器和寄存器中的變量,即把目標(biāo)C程序中的變量作為MATLAB的一個變量對待。3.2 CCSLink的工作原理上面的三種方式在具體實現(xiàn)時略有不同,但是其原理相似,不失一般性,我們通過第一種方式與CCS IDE的連接對象,來介紹CCSLink的工作機(jī)理。1)選擇目標(biāo)DSP并創(chuàng)建CCS IDE連接對象在MATLAB環(huán)境下使用函數(shù)ccsdsp并配置相應(yīng)的屬性名和屬性值即可創(chuàng)建一個CCS IDE連接對象cc:cc=ccsdsp(boardnum, x, procnum,
10、 y, timeout, z);其中,boardnum、procnum、timeout都是屬性名。分別表示創(chuàng)建連接對象時所使用的目標(biāo)板編號、DSP處理器編號及全局超時值。2)在MATLAB環(huán)境下加載CCS工程文件projfile=fullfile(matlabroot, toolbox, tiddk, , ccsproject.pjt); %取得工程文件projpath = fileparts(projfile); %取得工程文件路徑open(cc, projfile); %加載工程文件,該函數(shù)實現(xiàn)把文件filename加載在CCS IDE中cd(cc, projpath); %改變CCS的工
11、作路徑3)在MATLAB環(huán)境下編譯、連接并下載可執(zhí)行文件創(chuàng)建了CCS IDE連接對象并加載工程文件后,即可通過函數(shù)build()編譯和鏈接工程文件,以生成針對目標(biāo)DSP的可執(zhí)行文件(。out文件);通過函數(shù) load()下載可執(zhí)行文件到目標(biāo)DSP中。具體方法如下:build(cc); %編譯、鏈接工程文件,生成目標(biāo)DSP可執(zhí)行文件load(cc, ccsproject.out); %下載可執(zhí)行文件到目標(biāo)DSP,可執(zhí)行文件名與工程名相同4)在MATLAB環(huán)境下控制程序運行CCSLink提供了3個函數(shù)用于控制目標(biāo)DSP的運行狀態(tài)。通過這些函數(shù),在MATLAB下對DSP的控制操作就像在CCS IDE
12、中一樣方便,實際上也確實是這樣進(jìn)行的。halt(cc); %中斷處理器的運行restart(cc); %復(fù)位程序計數(shù)器PC,重新執(zhí)行程序run(cc, runtohalt, 30); %執(zhí)行程序到斷點處,最后一個參數(shù)表示超時時間,此處為30s5)在MATLAB環(huán)境下對CCS IDE連接對象進(jìn)行操作在MATLAB中可以方便的操作DSP存儲器和寄存器中的數(shù)據(jù),包括讀操作和寫操作。下面以讀寫目標(biāo)DSP存儲器和寄存器中的數(shù)據(jù)來說明。date=read(cc, 256,0, double, 100); %從目標(biāo)存儲器目的地址100H(即十進(jìn)制數(shù)256)處開始,讀取100個雙精度數(shù)并賦給MATLAB對象d
13、atereg=regread(cc, A0, 2scomp); %讀取DSP寄存器A0中的數(shù)據(jù),并轉(zhuǎn)化成雙精度數(shù)分配給MATLAB對象regwrite(cc, 256,0, double(1.0 2.0 3.0);%向目標(biāo)存儲器100H開始的地址處,寫入三個雙精度數(shù)據(jù)6)關(guān)閉CC S IDE連接對象當(dāng)一切操作執(zhí)行完成后,需要刪除CCSDSP對象,以收回系統(tǒng)資源。clear cc; %關(guān)閉CCS IDE連接對象4 CCSLink應(yīng)用實例通過CCSLink工具,可以使用MATLAB來進(jìn)行DSP的輔助設(shè)計。在該實例中,F(xiàn)IR濾波的核心內(nèi)容由DSP實現(xiàn),而算法仿真、系數(shù)產(chǎn)生、用戶界面、結(jié)果驗證等部分由
14、MATLAB輔助完成。4.1 FIR濾波器設(shè)計FIR(Finite Impulse Response)濾波器:有限長單位沖激響應(yīng)濾波器,是數(shù)字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴(yán)格的線性相頻特性,同時其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用。設(shè)輸入信號為x(n),輸出信號為y(n),則FIR濾波器對應(yīng)的差分方程可表示為:其中,h(k)(k=0,1,2,,N-1)表示濾波器系數(shù)序列,是濾波器設(shè)計的關(guān)鍵。h(k)可以通過MATLAB工具箱提供的濾波器函數(shù) fir1()和fir2()來獲?。菏紫韧?/p>
15、過建立MATLAB/Simulink模型,根據(jù)所需設(shè)計低通濾波器的性能要求來確定濾波器的階數(shù)和截止頻率等參數(shù)。本例所設(shè)計的FIR低通濾波器參數(shù)為:截止頻率(Fc)2kHz,采樣頻率(Fs)8kHz,階數(shù)(N)40。然后借助函數(shù) fir1(N, WN)即可返回對應(yīng)濾波器的系數(shù)矩陣,其中N為階數(shù),WN為濾波器的歸一化截止頻率,即WN= 2Fc/Fs,且0WN1。4.2 DSP濾波算法實現(xiàn)結(jié)合MATLAB產(chǎn)生的濾波器系數(shù),就可以編寫DSP濾波主程序了,關(guān)鍵代碼如下:FIR_TASK:STM #K_FIR_BFFR, BK ; 設(shè)置FIR循環(huán)緩沖區(qū)的大小LD *INBUF_P+, -1, A ; 數(shù)據(jù)
16、輸入FIR_FILTER:STL A, *FIR_DATA_P+% ; 最新數(shù)據(jù)替代最舊數(shù)據(jù)RPTZ A, (K_FIR_BFFR-1)MAC *FIR_DATA_P+0%, *FIR_COFF_P+0%, A ; 乘累加STH A,*OUTBUF_P ; 數(shù)據(jù)輸出4.3 MATLAB輔助設(shè)計本設(shè)計中,算法仿真、系數(shù)產(chǎn)生、用戶界面等部分由MATLAB輔助完成。算法仿真、系數(shù)產(chǎn)生方法在4.1中已詳細(xì)介紹,本節(jié)重點介紹用戶界面部分。本圖形用戶界面可以實現(xiàn)如下功能:修改參數(shù),如濾波參數(shù)n和Wn,這種參數(shù)選取方法避免了反復(fù)修改DSP程序的弊端,可以滿足不同層次使用者的使用;控制操作過程,如加載工程文件
17、、下載可執(zhí)行文件、運行程序等;繪制 DSP輸入數(shù)據(jù)的時域及頻域信號;繪制濾波后DSP輸出數(shù)據(jù)的時域及頻域信。用戶界面的流程圖如圖1所示,主要由圖形界面和回調(diào)函數(shù)兩大部分組成。其中,圖形界面由文件FIR_BPF.m實現(xiàn);回調(diào)函數(shù)總共由6個文件實現(xiàn),分別是input.m,input2.m,output.m,output2.m,lvbopin.m和 lvbohou.m。當(dāng)輸入帶有干擾的方波信號后,分別查看輸入波形、MATLAB濾波輸出信號、DSP濾波輸出信號,結(jié)果如圖2所示。比較 MATLAB濾波輸出信號和DSP濾波輸出信號,據(jù)此可以采用修改濾波器系數(shù)或DSP程序等措施來改進(jìn)DSP濾波算法。5 結(jié)束語本文探索并實現(xiàn)了利用CCSLink輔助DSP設(shè)計的完整過程。同時以FIR濾
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市政工程實踐運用試題及答案
- 小學(xué)數(shù)學(xué)教學(xué)由“1”到多 由多返“1”
- 合作經(jīng)濟(jì)與可持續(xù)發(fā)展試題及答案
- 藝術(shù)創(chuàng)作與批評技能測試卷
- 工程經(jīng)濟(jì)的創(chuàng)新思維探討試題及答案
- 網(wǎng)絡(luò)教育在線教育平臺與課程資源開發(fā)
- 心理學(xué)社會認(rèn)知專題知識梳理
- 村民合作參與農(nóng)田養(yǎng)殖項目協(xié)議書
- 化學(xué)工程與工藝實踐應(yīng)用題
- 干貨滿滿的中級經(jīng)濟(jì)師試題和答案
- 上海高一數(shù)學(xué)教材電子版
- GB 17675-2021汽車轉(zhuǎn)向系基本要求
- 2020年7月遼寧省普通高中學(xué)業(yè)水平合格性考試生物試卷
- 危大工程巡視檢查記錄表施工電梯
- 麥當(dāng)勞標(biāo)準(zhǔn)化管理手冊 課件
- “危大工程”驗收標(biāo)識牌
- 人民幣的故事(課堂PPT)
- 生產(chǎn)異常及停線管理規(guī)范(1)
- 學(xué)生英語讀寫情況調(diào)查分析報告(二)
- 河北工業(yè)大學(xué)本科生體育課程考核管理辦法-河北工業(yè)大學(xué)本科生院
- 病房發(fā)生火災(zāi)應(yīng)急預(yù)案
評論
0/150
提交評論