MATLAB輔助DSP設計的研究與實現_第1頁
MATLAB輔助DSP設計的研究與實現_第2頁
MATLAB輔助DSP設計的研究與實現_第3頁
MATLAB輔助DSP設計的研究與實現_第4頁
MATLAB輔助DSP設計的研究與實現_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、    MATLAB輔助DSP設計的研究與實現摘要:實現了一種全集成可變帶寬中頻寬帶低通濾波器,討論分析了跨導放大器-電容(OTAC)連續(xù)時間型濾波器的結構、設計和具體實現,使用外部可編程電路對所設計濾波器帶寬進行控制,并利用ADS軟件進行電路設計和仿真驗證。仿真結果表明,該濾波器帶寬的可調范圍為126 MHz,阻帶抑制率大于35 dB,帶內波紋小于05 dB,采用18 V電源,TSMC 018m CMOS工藝庫仿真,功耗小于21 mW,頻響曲線接近理想狀態(tài)。關鍵詞:Butte摘要:提出結合MATLAB來開發(fā)DSP系統的思想,闡述了實現該思想的兩種工具,

2、并詳細介紹了使用MATLAB Link for Code Composer Studio輔助DSP設計的相關內容,包括其功能特點、實現方式、工作原理等。最后結合典型的FIR濾波器實例,探討了使用該工具的方法,并設計了圖形用戶界面。結果表明應用MATLAB輔助開發(fā)DSP系統可以發(fā)揮二者的優(yōu)勢,縮短開發(fā)周期,降低開發(fā)門檻,優(yōu)化開發(fā)過程。關鍵字:MATLAB;數字信號處理器;CCSLink;CCS 1 引言數字信號處理器(Digital Signal Processor,DSP)是指一類具有專門為完成數字信號處理任務而優(yōu)化設計的系

3、統體系結構、硬件和軟件資源的單片可編程處理器件。數字信號處理器是實現數字信號處理任務的一個重要而有效的手段,隨著通信和信息技術的飛速發(fā)展,數字信號處理器件在最近20年得到了空前的發(fā)展和應用。MATLAB是美國MathWorks公司開發(fā)的一種科學計算軟件,專門以矩陣的形式處理數據,在科學計算、控制系統、信息處理等多種領域有著廣泛的應用。MATLAB具有強大的計算、分析和可視化功能,但MATLAB語言是解釋執(zhí)行的,執(zhí)行速度較慢;而DSP是為了完成實時數字信號處理任務而設計的,算法的高效實現是DSP器件的顯著特點,但是其開發(fā)門檻高。如果能把MATLAB和DSP開發(fā)工具結合在一起,取長補短,相輔相成,

4、將是DSP設計人員夢寐以求的一種新的開發(fā)思想。MathWorks公司和TI公司聯合開發(fā)的MATLAB Link for Code Composer Studio(簡稱CCSLink)和Embedded Target for TI TMS320C6000 DSP工具正是這一思想的完美實現。本文所作研究是以自行研制的DSP教學實驗箱為平臺進行的,其DSP采用TMS320VC5416芯片實現。本文內容安排如下:第1部分在介紹相關背景知識的基礎上,引入使用MATLAB輔助DSP設計的思想;第2部分介紹了MATALB中實現這一思想的兩種工具;第3部分介紹了工具之一CCSLink的實現方式及工作原理;第4

5、部分結合實驗平臺給出了CCSLink的應用實例。第五部分對本文作了總結。2  MATLAB輔助DSP設計的方法概述實現MATLAB輔助DSP設計的方法有兩種,即CCSLink和Embedded Target for TI TMS320C6000 DSP。前者可實現MATLAB與C2000/C5000/C6000 DSP之間的數據交互和程序控制;后者可實現從Simulink模型自動生成DSP目標代碼,但僅支持C6000系列的部分DSP器件??紤]到實驗平臺是以C5000 DSP為基礎的,并且第二種工具較容易操作等因素,下面主要研究利用CCSLink輔助DSP設計的方法。2.1 Embed

6、ded Target for TI TMS320C6000 DSPCode Composer Studio(CCS)是TI提供的DSP的集成開發(fā)環(huán)境。對于C6000系列而言,利用工具Embedded Target for TI TMS320C6000 DSP,用戶可以從Simulink模型直接生成針對DSP目標板的可執(zhí)行文件或者CCS工程文件,實現了MATLAB/Simulink與CCS集成開發(fā)環(huán)境(IDE)的無縫連接,從而把設計人員從繁雜的DSP編程中解脫出來,將主要的精力放在設計而不是DSP編程上,所以極大地縮短了系統的測試和開發(fā)周期,進而保證了所設計系統的高性能。2.2 MATLAB L

7、ink for Code Composer Studio集成在MATLAB6.5或更高版本中的CCSLink工具把MATLAB、TI DSP及其集成開發(fā)環(huán)境CCS連接在一起,使得我們可以在MATLAB環(huán)境下就可以完成對CCS和DSP目標板的操作,包括與目標內存之間的數據交互,檢測處理器的狀態(tài),控制DSP程序的運行等。它提供了MATLAB、CCS和目標DSP板的雙向連接,開發(fā)者可以利用MATLAB中強大的可視化、數據處理和分析工具對DSP中的數據進行分析和再處理,以輔助DSP系統設計,這樣就極大地降低了開發(fā)人員編寫DSP代碼的難度和工作量,提高了整個DSP系統的性能和可行性。我們利用CCSLin

8、k提供的相關函數能夠實現MATLAB與目標DSP的存儲器及寄存器間的信息交互,如同操作MATLAB變量一樣來讀、寫TI DSP中的存儲器或寄存器,即整個目標DSP對于MATLAB而言是透明的。CCSLink支持TI的C2000/C5000/C6000等多系列DSP,應用廣泛。3  CCSLink的實現方式及工作原理3.1 CCSLink的實現方式利用CCSLink即可實現MATLAB、CCS和目標DSP之間的信息交互。CCSLink共提供了3種實現方式:1)使用與CCS IDE的連接對象。利用此對象來創(chuàng)建CCS IDE和MATLAB的連接,從MATLAB命令窗中即可運行CCS IDE

9、中的應用程序,查詢目標DSP的狀態(tài)信息,修改或讀取目標DSP的存儲器或寄存器中的數據,甚至可以調試DSP程序。其工作原理見3.2節(jié)。2)使用與RTDX(Real-Time Data Exchange)的連接對象。提供MATLAB和硬件DSP 之間的實時通信通道。利用此連接對象,可以打開、使能、關閉或禁止DSP的RTDX通道,利用此通道可以實時地向硬件目標DSP發(fā)送和取出數據而不必停止DSP上運行的程序。例如把原始數據發(fā)送給程序進行處理,并把處理結果取回到MATLAB空間中進行分析。RTDX連接對象實際上是CCS連接對象的一個子類,在創(chuàng)建CCS連接對象的同時創(chuàng)建RTDX連接對象,它們不能分別創(chuàng)建

10、。3)使用嵌入式對象。在MATLAB環(huán)境中創(chuàng)建一個可以代表嵌入在目標C程序中的變量的對象。利用嵌入式對象可直接訪問嵌入在目標DSP中的存儲器和寄存器中的變量,即把目標C程序中的變量作為MATLAB的一個變量對待。3.2 CCSLink的工作原理上面的三種方式在具體實現時略有不同,但是其原理相似,不失一般性,我們通過第一種方式與CCS IDE的連接對象,來介紹CCSLink的工作機理。1)選擇目標DSP并創(chuàng)建CCS IDE連接對象在MATLAB環(huán)境下使用函數ccsdsp并配置相應的屬性名和屬性值即可創(chuàng)建一個CCS IDE連接對象cc:cc=ccsdsp(boardnum, x, procnum,

11、 y, timeout, z);其中,boardnum、procnum、timeout都是屬性名。分別表示創(chuàng)建連接對象時所使用的目標板編號、DSP處理器編號及全局超時值。2)在MATLAB環(huán)境下加載CCS工程文件projfile=fullfile(matlabroot, toolbox, tiddk, , ccsproject.pjt);   %取得工程文件projpath = fileparts(projfile);  %取得工程文件路徑open(cc, projfile);   %加載工程文件,該函數實現把文件filename加載在CCS

12、IDE中cd(cc, projpath);    %改變CCS的工作路徑3)在MATLAB環(huán)境下編譯、連接并下載可執(zhí)行文件創(chuàng)建了CCS IDE連接對象并加載工程文件后,即可通過函數build()編譯和鏈接工程文件,以生成針對目標DSP的可執(zhí)行文件(.out文件);通過函數load()下載可執(zhí)行文件到目標DSP中。具體方法如下:build(cc);              %編譯、鏈接工程文件,生成目標DSP可執(zhí)行文件 loa

13、d(cc, ccsproject.out);     %下載可執(zhí)行文件到目標DSP,可執(zhí)行文件名與工程名相同4)在MATLAB環(huán)境下控制程序運行CCSLink提供了3個函數用于控制目標DSP的運行狀態(tài)。通過這些函數,在MATLAB下對DSP的控制操作就像在CCS IDE中一樣方便,實際上也確實是這樣進行的。halt(cc);         %中斷處理器的運行restart(cc);     %復位程序計數器PC,重新執(zhí)行程序run(c

14、c, runtohalt, 30); %執(zhí)行程序到斷點處,最后一個參數表示超時時間,此處為30s5)在MATLAB環(huán)境下對CCS IDE連接對象進行操作在MATLAB中可以方便的操作DSP存儲器和寄存器中的數據,包括讀操作和寫操作。下面以讀寫目標DSP存儲器和寄存器中的數據來說明。date=read(cc, 256,0, double, 100);  %從目標存儲器目的地址100H(即十進制數256)處開始,讀取100個雙精度數并賦給MATLAB對象datereg=regread(cc, A0, 2scomp);       

15、; %讀取DSP寄存器A0中的數據,并轉化成雙精度數分配給MATLAB對象regwrite(cc, 256,0, double(1.0 2.0 3.0);%向目標存儲器100H開始的地址處,寫入三個雙精度數據6)關閉CCS IDE連接對象當一切操作執(zhí)行完成后,需要刪除ccsdsp對象,以收回系統資源。clear cc;         %關閉CCS IDE連接對象4  CCSLink應用實例通過CCSLink工具,可以使用MATLAB來進行DSP的輔助設計。在此以FIR濾波器為例,介紹CCSLink在DS

16、P設計中的應用。在該實例中,FIR濾波的核心內容由DSP實現,而算法仿真、系數產生、用戶界面、結果驗證等部分由MATLAB輔助完成。4.1 FIR濾波器設計設輸入信號為x(n),輸出信號為y(n),則FIR濾波器對應的差分方程可表示為:其中,h(k)(k=0,1,2,N-1)表示濾波器系數序列,是濾波器設計的關鍵。h(k)可以通過MATLAB工具箱提供的濾波器函數fir1()和fir2()來獲?。菏紫韧ㄟ^建立MATLAB/Simulink模型,根據所需設計低通濾波器的性能要求來確定濾波器的階數和截止頻率等參數。本例所設計的FIR低通濾波器參數為:截止頻率(Fc)2kHz,采樣頻率(Fs)8kH

17、z,階數(N)40。然后借助函數fir1(N, WN)即可返回對應濾波器的系數矩陣,其中N為階數,WN為濾波器的歸一化截止頻率,即WN= 2Fc/Fs,且0WN1。4.2 DSP濾波算法實現結合MATLAB產生的濾波器系數,就可以編寫DSP濾波主程序了,關鍵代碼如下:FIR_TASK:STM              #K_FIR_BFFR, BK        ; 設置FIR循環(huán)緩沖區(qū)的大小&#

18、160;  LD          *INBUF_P+, -1, A         ; 數據輸入FIR_FILTER:STL        A, *FIR_DATA_P+%     ; 最新數據替代最舊數據RPTZ      A, (K_FIR_B

19、FFR-1)MAC       *FIR_DATA_P+0%, *FIR_COFF_P+0%, A ; 乘累加STH        A,*OUTBUF_P             ; 數據輸出4.3 MATLAB輔助設計本設計中,算法仿真、系數產生、用戶界面等部分由MATLAB輔助完成。算法仿真、系數產生方法在4.1中已詳細介紹,本節(jié)重點介紹用戶界

20、面部分。本圖形用戶界面可以實現如下功能:修改參數,如濾波參數n和Wn,這種參數選取方法避免了反復修改DSP程序的弊端,可以滿足不同層次使用者的使用;控制操作過程,如加載工程文件、下載可執(zhí)行文件、運行程序等;繪制DSP輸入數據的時域及頻域信號;繪制濾波后DSP輸出數據的時域及頻域信號;使用MATLAB提供的濾波函數對輸入數據進行濾波計算,并把所得結果與DSP輸出信號進行比較,以驗證或改良DSP算法。當輸入帶有干擾的方波信號后,分別查看輸入波形、MATLAB濾波輸出信號、DSP濾波輸出信號,結果如圖2所示。比較MATLAB濾波輸出信號和DSP濾波輸出信號,據此可以采用修改濾波器系數或DSP程序等措

21、施來改進DSP濾波算法。圖1 用戶圖形界面流程圖                             圖2 實驗結果         5 結束語本文探索并實現了利用CCSLink輔助DSP設計的完整過程。同時以FIR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論