




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第9章 信號處理工程化的MATLAB工具9.1 信號處理工具(sptool)的介紹MATLAB信號處理工具箱還為信號處理的研究工作提供了一個集成開發(fā)環(huán)境和工具。這個信號處理工具的名稱為sptool(sigal processing tool)。大家知道,信號處理主要有兩大任務:一是對信號進行分析,就是在時域分析它的波形和在頻域分析它的頻譜;二是濾波器設計,也就是根據(jù)對輸入輸出信號的要求,設計實現(xiàn)這個要求的系統(tǒng)。在這兩個任務的進行工程中,經(jīng)常要做第三個任務,那就是進行檢驗,要把信號加到所設計的濾波器中, 看它的輸出是否滿足要求,sptool把這三個任務集成在一起,加上了適當?shù)墓芾砉δ?,配以良好?/p>
2、工作界面,利用它可以大大提高研究的工作效率。在MATLAB命令窗口中,鍵入sptool,得到如圖9.1.1所示界面,其中分為【Signals】、【Filters】和【Spectra】三個欄目,每個欄目中分別存入了系統(tǒng)中原來已保存的信號、濾波器和頻譜的名稱。下面先來看如何把所需的信號和濾波器輸入到這個環(huán)境中去。圖9.1.1 信號處理工具sptool的啟動界面(1) 信號的導入 先在MATLAB工作空間中放入所需的分析的信號和濾波器。設濾波器就是例9.2.1中設計并導入了工作空間的濾波器,再來建立一組信號。在命令窗中,鍵入:n=0:200;T=1;s1=sin(5*2*pi*n*T);s2=sin
3、(10*2*pi*n*T);s3=cos(15*2*pi*n*T);s=s1+s2+s3;單擊左上角的菜單項【File】及其下拉菜單中的【Import】出現(xiàn)的新視窗如圖9.1.2所示。它分為三個欄目,左邊一欄為【Source】,其中有【W(wǎng)orkspace】或【File】二選一圓圈,選定【W(wǎng)orkspace】時,中間欄的【W(wǎng)orkspace Contents】將顯示工作空間中的全部變量,如圖9.12所示,如果選擇【file】作為數(shù)據(jù)來源,則下方的框中應鍵入文件名及其路徑。右邊的欄指定導入的目標,即要說明導入的數(shù)據(jù)是作為信號、濾波器還是頻譜。在圖示狀態(tài),頂部的下拉選擇框中顯示的是【Signal】,
4、如果我們要把合成信號導入,就在直接的工作空間內(nèi)容欄中選定s,單擊按鈕,它就進入右邊的數(shù)據(jù)框中,右欄的下部有【Sampling Frequency】和【Name】兩個框需要用戶填寫。其中【Name】欄已寫上默認的變量名,它是在sig后面加上新的序號,當期它是sig7,用戶也可以另名稱改寫。圖9.1.2 sptool的數(shù)據(jù)導入界面要輸入濾波器參數(shù)時,首先在右欄的上方下拉菜單選擇框內(nèi)改選【Filer】,此時它的下方將出現(xiàn)【Form】框,它的下拉菜單中,有【Transfer Function】(傳遞函數(shù))、【2nd Ordr Section】(二階級聯(lián))等四種可選項。選擇【Transfer Funct
5、ion】時,下面就出現(xiàn)【Numerator】(分子)和【Denominator】(分母)兩個框,可以用前面說過的方法分別把工作空間變量Num1和Den1填入框中,然后在右下方的兩個框中分別鍵入采樣頻率和濾波器名稱后,單擊【OK】,就構(gòu)成了濾波器的導入。默認名是在filt后面加上新的序號,用戶也可以另起名稱填寫。選擇【2nd Ordr Section】時,下面就出現(xiàn)【Sos】框,將工作空間變量sos2填入,照樣辦理即可,這樣在例9.2.1中設計的FIR和IIR濾波器分別成為信號處理工具中的filt7和filt8。(2) 信號的時域和頻域觀測 在圖9.1.1上,選定合成信號sig4,單擊【View
6、】,進入【Signal Browser】(信號瀏覽器)視窗,如圖9.1.3所示。圖9.1.3 信號瀏覽器(signal Browser)的界面在這個界面上由許多幫助測量和輸出信號特性的菜單和按鈕。主菜單上【File】下主要是打印命令,【Markers】用來在圖上設置標志,下面【Vertical】(垂直標線)、【Horizontal】(水平標線)、【Track】(跟蹤點)和【Slope】(斜率線),還有峰點和谷點顯示,主菜單的下面一行圖標按鈕,從左到右的大體功能依次為:打印和預覽、把信號變?yōu)槁曇?、x和y方向的放大和縮小、標志點和線的設定和去除等。把鼠標移到按鈕上,它會出現(xiàn)英文名詞,界面最下方則給
7、出標志的讀數(shù)。在它的上方,是一個高度很小的圖形窗,它給出信號的全景,在主圖x方向放大時,它仍表示全部信號,而且用方框指明主圖形信號在全部信號中的位置。要想求得信號的頻譜,也選定sig4,然后在頻譜下單擊【creat】按鈕,此時出現(xiàn)頻譜觀測器的界面,見圖9.1.4。先要在左欄上部選定求頻譜的方法,目前我們學了一種,即選FFT。在下面的框中填入點數(shù),例如1024,然后單擊【Apply】按鈕,就出現(xiàn)了頻譜的曲線。它有三個峰值,恰好就對應了輸入的三個正余弦信號分量。此界面上的菜單與按鈕和信號觀測器相似。(3) 濾波器的觀測和修改 選定濾波器的名稱filt4,單擊其下方的【View】按鈕,就可以觀測它的
8、頻率響應,如果單擊其下方的【Edit】按鈕,那就不僅能觀測數(shù)據(jù)還能修改,它的功能不如濾波器設計工具箱那樣全,但大體接近。(4)讓信號通過濾波器求輸出信號在如圖9.1.1所示的界面,選定信號和濾波器名稱,單擊濾波器欄下的最下一個按鈕【Apply】,這就意味著將所選信號加到所選濾波器中,此時將產(chǎn)生一個小視窗,提示用戶輸入信號為sig4,濾波器的名稱為filt4,并提供輸出信號默認名稱sig5,,單擊【ok】按鈕,則輸出信號將自動生成并列寫在信號欄中。對它進行觀測就可以知道所設計的濾波器是否完成了各項指標。在本例中sig5基本上一個較純的10HZ正弦波,這是不難想象的。經(jīng)過仔細分析,入股不滿意,可以
9、修改濾波器后重新實驗。圖9.1.4頻譜觀測器(Spectrum Browser)的界面用這個工具,不難在很短的時間內(nèi)完成多個濾波器的設計,并分別觀測它們的輸出。所有的結(jié)果都存儲在案,可用于試驗報告,所以這是一個提高效率的有效工具。9.2 MATLAB中的濾波器設計工具由于濾波器設計在工程上常常用到,而它的設計相當復雜,于是提出了開發(fā)濾波器設計綜合性工具的需求,在MATLAB環(huán)境下,利用它已有的大量濾波器設計函數(shù),加上日益成熟而方便的界面技術(shù),已經(jīng)可以把所有的設計方法和過程集成在一起,構(gòu)成一個濾波器綜合設計的工具了。在信號處理工具箱中, 這個工具名稱為fdatool(Filter Design
10、and Analysis Tool)。在MATLAB命令窗口中,鍵入fdatool,就得到如圖9.2.1所示的界面。這個工具的界面包含了全部濾波器設計的函數(shù),大體介紹如下:界面最上面的一行是文字菜單,第二行是圖標按鈕菜單,下面是主畫面菜單區(qū),它大體分為上下兩部分,為了方便,我們分別稱之為上、下畫面菜單區(qū);最下面正中有一個【design】按鈕,那是在菜單中設定完全部參數(shù)后,指揮計算機進行設計的確認鈕。圖9.2.1 濾波器設計和分析工具(fdatool)的啟動界面圖標按鈕菜單中,【full view analysis】,它可以把界面中的圖形部分取出,單獨組成一個視窗。再向右的9個按鈕則用來確定圖形
11、的內(nèi)容,依次為【Filter Specification】上半畫面是來顯示設計的結(jié)果,其中,右半部分是圖形畫的,它的大小和顯示內(nèi)容受上述按鈕的控制。左半部分顯示當前濾波器的結(jié)構(gòu)。它還沒有一個【Convert Structure】按鈕,用于使用戶得到不同濾波器結(jié)構(gòu)下的系數(shù)。按下這個按鈕,將出現(xiàn)一個小視窗,其中的復選框提供了8種結(jié)構(gòu)可供選擇,確認后,從【Filter Coefficients】按鈕所得到的就是相應結(jié)構(gòu)下的濾波器系數(shù)。這些濾波器系數(shù)可以由【file】中的【Export】導出,輸出變量的名稱可以指定,它們的目標位置可以是MATLAB工作空間,或者是其他指定的文件。另外,它的下部還有一個
12、【Quantization】(量化)選擇框,在開始設計時,該選擇框的內(nèi)容總是空白的。一般是在濾波器初步設計已經(jīng)完成,要考察系數(shù)量化對濾波器性能的影響時,再把它打開,這時,圖形中將同時顯示量化前后濾波器的特性,用戶能夠方便地看出系數(shù)量化對濾波器性能的影響。但是在打開量化按鈕前應該輸入很多參數(shù),如果事先沒有設定參數(shù),那么用的是程序中缺省值,不符合用戶的實際,要設定這些參數(shù),先要在下面的頂部單擊【Set Quantization Parameters】頁標簽,這時整個下半畫面都會發(fā)生改變。下半畫面當前處在【Filter Design】頁面上,這個頁面是用來輸入濾波器的設計參數(shù)的,它分為4欄,從左到右
13、依次為【Filter type】、【Filter Order】、【Frequency Specifications】、【Magnitude Specifications】。在【Filter type】欄中,上面5個圓圈是“五選一”的選擇框,如果是簡單選頻類的濾波器,則在前四項中任取一項,如果是其他類,就要選定5項。然后在它右方的復選框中下拉菜單來選定具體類型,這里面有數(shù)字微分器等。IIR濾波器中4類,F(xiàn)IR中則有等波動法、最小二乘法和窗函數(shù)法三種。在【Filter Order】欄中,只有“兩選一”的兩個選擇圓圈,一個由用戶強制選擇,另一個有計算機在設計后自動選擇最小階數(shù)。在【Frequency
14、 Specifications】欄中,第1個復選項是選擇頻率的單位,其中有4個下拉菜單項,分別為Hz、kHz、MHz和歸一化頻率單位。其歸一化單位是,故奈奎斯特數(shù)字頻率歸一化為1。以下各框則填入濾波器的邊緣頻率??虻臄?shù)目會根據(jù)選定的濾波器類別自動變化。在【Magnitude Specifications】欄中,第1個復選項是選擇幅度的單位,其中只有兩個下拉菜單項,分別為分貝單位和線性單位。以下各框則填入通帶波紋和阻帶波紋的值。對于兩頻段以上的多頻段濾波器,邊緣頻率指標和對應的幅度指標都應分段標明,因此它們應按MATLAB的數(shù)組格式輸入。實際設計過程:先在下半面的各欄中,正確填寫濾波器的要求和指
15、標,然后按最下方正中的【design】按鈕,結(jié)果就會在上半畫面中顯示出來,需要看何種圖形,就可按相應的按鈕,取【full view Analysis】時,曲線被放在單獨的視窗內(nèi),就可以以圖形方式存儲。需要濾波器系數(shù)時,可以如前所述,用【Export】方式,把它導出到適當?shù)牡胤?。例:設濾波器要讓102HZ的有用調(diào)制信號通過,通帶的起伏不超過1分貝,要抑制頻帶小于6hz和大于15hz干擾,抑制要求達到40分貝以上,信號的采樣頻率為100hz,用fdatool工具設計此濾波器,濾波器的類型不限,可比較選擇。解:先選定帶通濾波器,在其頻率指標項中按Fs=100Hz,F(xiàn)s1=6hz,F(xiàn)p1=8Hz,F(xiàn)p
16、2=12hz,Fs2=15Hz填入,幅度欄中填入AP=1,As1=As2=40。在下半界面左邊兩欄中,先選FIR等波動濾波器,指定自動取最小階數(shù),單擊【design】按鈕,得到的濾波器是6階,同時給出了它的副特性,可以用放大圖形的方法檢驗它是滿足給定的指標要求。做法是先單擊【Zoom In】按鈕,再在畫面上關(guān)心的位置附近單擊一下,系統(tǒng)就會把該點附近的畫面放大,如果選IIR巴特沃斯濾波器,得到的濾波器階數(shù)是8階。在設計完成后,可以把屏幕左下方幾個方框中的量化開關(guān)激活,屏幕上將出現(xiàn)如圖9.2.2所示的界面,圖形框中會出現(xiàn)兩根曲線,其中綠色的就是濾波器量化后的幅頻特性,可以發(fā)現(xiàn),在FIR設計中,量化
17、前后的幅特性幾乎重疊,說明系數(shù)按系統(tǒng)的缺省設置進行量化對設計結(jié)果幾乎沒有影響,但對IIR設計,兩根曲線就“差之千里”了,本應該是通帶的區(qū)域,量化后濾波器的幅特性卻降到了-40分貝,而本該是阻帶的35hz附近,幅特性卻超過了0分貝,這樣的濾波器是根本不能用的。問題的關(guān)鍵在于濾波器的機構(gòu)設定,按下【Convert Structure】按鈕,可以發(fā)現(xiàn),在缺省狀態(tài)下的濾波器取的是直接II型結(jié)構(gòu),對于六階的切貝雪夫濾波器,分母上是一個6次多項式,從高等代數(shù)知道,高次多項式系數(shù)的微小變化會帶來根的很大誤差;它又處在傳遞函數(shù)的分母上,就是進行遞歸運算的部位,所以對系統(tǒng)傳遞函數(shù)影響很大。如果把結(jié)構(gòu)改成二階環(huán)節(jié)
18、級聯(lián)形式,重新計算,系數(shù)量化前后的幅特性就很相近了,這也說明了系數(shù)量化對二階環(huán)節(jié)的影響較小,所以濾波器實現(xiàn)時,特別是它的分母系數(shù),應該采用二階級聯(lián)形式。當需要把量化方式設置為實際系統(tǒng)的狀況時,應該單擊【Set Quantization Parameters】頁面標簽,并使【quantization】框處于選定狀態(tài)。此時的可變因素有量化內(nèi)容、量化方法和量化位數(shù)三類。量化內(nèi)容有系數(shù)量化、輸入量化、輸出量化、乘法量化、乘積量化、總和量化等,量化方法有四舍五入,向下取整、向上取整和溢出設定等,量化位數(shù)則可設定16位、8位或其他二進制位數(shù)。在設計完成后,可以單擊【file】中的【Export】,此時會彈
19、出一個小的視窗,其中給出存儲變量的缺省名稱,用戶可以把它修改為自己想取的任何名稱,假定我們?nèi)×炕暗脑O計結(jié)果,第一個是43階FIR濾波器的分子,分母系數(shù)向量,設其變量名為Num1和Den1;第二個是6階切貝雪夫II型IIR濾波器,用三個二階環(huán)節(jié)級聯(lián)方式導出,其變量名為SOS2和G2,這些變量可以都導出到MATLAB工作空間中,然后在命令窗口中鍵入whos,MATLAB會顯示下面幾個被導入的變量名稱。9.4 系統(tǒng)仿真(simulink)工具簡介Simulink的優(yōu)點是它不給出任何新的函數(shù)。對用戶來說,MATLAB原有的函數(shù)仍然有效,因此,讀者如果有MATLAB的基礎(chǔ),除了要學習圖形界面的使用方法
20、之外,不需要再學新的語法,馬上就會應用,這顯示了其對圖形的友好性。Simulink功能:(1) 用方框圖的繪制代替程序的編寫,構(gòu)成任何一個系統(tǒng)框圖有三個步驟,即選定典型模塊,相互聯(lián)系和給定模塊參數(shù),這三步可以在同一個圖形界面上用鼠標和鍵盤來完成。(2) 仿真的建立和運行是智能化的,首先,畫好了框圖并存起來,它就自動建立起了仿真的方程,其次,在運行時用戶可以只給出仿真精度,軟件會自動選擇計算的程序,使得系統(tǒng)仿真具有最快的速度。(3) 輸入輸出信號來源形式的多樣化,其輸入信號可以是各種信號發(fā)生器;也可以是來自一個設定的記錄文件,還可以是來自MATLAB的工作空間(workspace)。輸出信號則送
21、往多種多樣的觀測記錄設備。9.4.2 模塊庫及模型的建立1.模塊庫在命令窗口中,鍵入simulink,就可以進入仿真模塊庫,以simulink7.1為例,其界面如圖所示,其中列出的大類有simulink、控制工具箱(control system toolbox)、信號處理模塊庫(Signal processing Blockset)、實時工作站(Real Time Workshop)等。在simulink大類中,又分列了信號源(Sources)、信宿(sinks)、線性(Linear)、非線性(Nonlinear)、離散(Discrete)、邏輯和位運算(Logic and bit opera
22、tion)、數(shù)學運算(Math)、信號屬性(Singal Attribute)等各類子菜單圖標。打開這些圖標,右方將顯示其中包的各種模塊,例如打開Sinks,將看到數(shù)字顯示器,示波器、X-Y記錄儀、文件等各種記錄和顯示設備。打開信號處理模庫的大類,其中也有下一級的菜單,給出了信號處理常用的模塊,比如在其“DSP Sinks”中,有頻譜分析儀、向量示波器等,在“變換”中有FFT、DCT等。另外,用戶還以按自己的設計定義模塊,比如按9.2節(jié)的方法用fdatool設計好了示波器,單擊該設計界面左下方第4個按鈕(Realize Model),系統(tǒng)會自動生成該示波器的信號流圖,也就是仿真的框圖。在本例中
23、生成的模型是3個雙二階模塊的串接,每個模塊都如圖9.4.2所示,用戶可以把它存儲成自定義模塊,需要時就可以調(diào)出來仿真。2. 模型的建立 要開始建立模型,可單擊左上方的File菜單項中的子菜單New,屏幕上會出現(xiàn)一個供繪制框圖用的空白頁面,用鼠標完成連接,然后雙擊模塊填寫參數(shù),從而完成整個仿真模型的創(chuàng)建。9.4.3 仿真的運行現(xiàn)在用MATLAB中的一個演示程序來說明,在命令窗口中輸入fxpdemo_direct_form2,屏幕上將出現(xiàn)如圖9.4.3所示的仿真波形。不難算出,這些模塊組成了形式為數(shù)字濾波器。它的輸入是經(jīng)過浮點到定點轉(zhuǎn)換的定點信號Xq,輸出的定點信號yq再經(jīng)過轉(zhuǎn)換模塊而恢復為浮點信
24、號y,然后與信號源所產(chǎn)生的原始的浮點信號x一起送到示波器中觀測比較。上述兩個變換模塊是定點計算模塊庫(Fix Point Blockset)中的,其參數(shù)設定為雙精度到定點數(shù)(1、16、10)(即帶1個符號位和10位小數(shù)的16位定點數(shù))之間的轉(zhuǎn)換。先設定信號源參數(shù)和所有的模塊的參數(shù),雙擊選定的模塊,屏幕上將彈出此模塊的闡述設定視窗,由于各模塊均取演示程序中原設計的值,就不必一一設定了,信號是周期為200ns的方波。然后在仿真框圖菜單項“simulation”的下拉菜單中先選擇“configuration Parameters”項設定仿真參數(shù),再選“start”,系統(tǒng)就開始仿真,雙擊示波器,在其屏
25、幕上看到輸入和輸出兩根曲線。如果這里的定點仿真不只是對信號,也包括對參數(shù),則系數(shù)設定中也必須同時考慮取有限字長。Simulink可以解決MATLAB程序不好解決的非線性、變系數(shù)系統(tǒng)的問題。因此,許多領(lǐng)域都針對本身的特點,開發(fā)了各種仿真模塊或模塊庫加入到simulink中去,除了上面用到的數(shù)字信號處理模塊庫、定點處理模塊庫外,還有通信(comm)、控制系統(tǒng)(Control)、非線性系統(tǒng)(NCD Blockset),電力系統(tǒng)(Powersys Blockset)、狀態(tài)流(StateFlow)、系統(tǒng)辨識(System ID Blockset)、其他(Simulink Extras)等,有了這些庫,就
26、很容易用simulink來解決它們的問題,而且只畫框圖,無須編程。9.5 MATLAB與嵌入式代碼的銜接通過包含定點工具的仿真,設計出的系統(tǒng)必概念設計要靠近實際一步,因為它把計算機有限字長考慮在內(nèi)了,但離開以芯片為核心的嵌入式系統(tǒng)硬軟件相距還有相當距離,各種芯片的開發(fā)商通常把C語言或HDL語言的問題,但普通的MATLAB語言并不能直接與C兼容。比如MATLAB的數(shù)的格式就沒有C多,芯片上的數(shù)據(jù)格式更少,必須通過定點工具箱限定定點格式,以解決各種語言的銜接問題,但還有其他的問題,例如MATLAB的內(nèi)存空間是可以在程序運行過程中動態(tài)分配的,C語言也如此,但芯片上的變量比定放在固定的存儲器中,因此要
27、把定點MATLAB再進一步改造成為嵌入式MATLAB語言(EML)并轉(zhuǎn)換為嵌入式的C代碼。把MATLAB和simulink轉(zhuǎn)換為C代碼的MATLAB工具是Real-Time Workshop和Real-Time Workshop Embedded Coder。后者產(chǎn)生的是經(jīng)過優(yōu)化的能與嵌入式系統(tǒng)要求匹配的C代碼。此外實際系統(tǒng)中往往有許多離散事件,包括開關(guān)和狀態(tài)的條件切換等,simulink有專門的stateflow工具對離散事件建模仿真,它通過Stateflow Coder產(chǎn)生C代碼。MATLAB和simulink有關(guān)信號處理從概念設計到代碼實現(xiàn)的各主要工具的相互關(guān)系如圖9.5所示,在底部的是
28、從事概念設計的工具,愈往上愈接近于實際的系統(tǒng),頂部的工具則是用來產(chǎn)生目標芯片代碼生成器。由C代碼向芯片代碼轉(zhuǎn)換的工具一般由芯片生產(chǎn)商開發(fā),它用的c代碼也是有一定限制的嵌入式代碼。由于設計過程中不只是MATLAB語言向芯片代碼的單方向變換,還要在仿真中看到芯片中的數(shù)據(jù)和進行反復修改,所以需要雙向的數(shù)據(jù)通信、觀測和底層參數(shù)修改等操作。這些軟件都要復雜得多,必須由既精通MATLAB和C,又熟悉目標芯片特點的技術(shù)人員共同開發(fā)。以TI公司的數(shù)字信號處理芯片為例,Mathworks公司為它開發(fā)與之相聯(lián)軟件,叫做Embedded IDE LinkTM CC(for TIs Code Composer Stu
29、dio)。此外為每一類芯片分別開發(fā)出代碼生成工具Target Support Package TC2和Target Support Package TC6。9.6 基于模型的開發(fā)流程嵌入式系統(tǒng)的開發(fā)一般包括四個階段:需求與規(guī)范、設計、實現(xiàn)、測試與驗證,如圖9.6.1所示,傳統(tǒng)的開發(fā)過程中,這4個階段的界限相對比較清楚,而且多數(shù)由不同的部門或者不同的人員完成,由于不同的開發(fā)階段采用不同的工具,相互之間的交流缺乏統(tǒng)一的平臺,實現(xiàn)階段是比較繁瑣的而且工作量巨大。基于模塊的設計避免了繁瑣的過程,首先在需求與規(guī)范階段,規(guī)范是可以執(zhí)行的Simulink模型,有明確的輸出結(jié)果,不會存在理解的歧義;在設計階段
30、,根據(jù)實際的需求來做細化,例如考慮定點要求,采用更加符合實際要求的算法來設計,每一步的改動都要作仿真和驗證,確保保持最初的需求;在實現(xiàn)階段,采用商業(yè)工具的自動代碼生成功能,可以避免手工復雜的編寫代碼的工作,快速從設計到實現(xiàn),同時也避免了編寫代碼可能引入的錯誤,大大提高了實現(xiàn)的效率;由于測試和驗證貫穿了整個開發(fā)流程,而不是在最后階段才開始進行驗證,能夠及早發(fā)現(xiàn)并解決問題,以最小的代價得到最大的結(jié)果,這種流程,無論在時間上還是在金錢上,都會大大節(jié)約,是一種非常有效的設計流程。The MathWorks公司提供了完整的基于模型的設計流程,從算法的研究、開發(fā)設計,到C代碼和HDL代碼的自動產(chǎn)生,以及代
31、碼的驗證、聯(lián)合仿真、及硬件驗證,都能相應的工具來支持,如圖9.6.3所示,其他公司,包括芯片廠商也提供了相應的工具,作為Simulink的一個模塊庫,加快設計、開發(fā)的流程。下面把其中具體的工具作一個簡單介紹。自動C代碼和HDL代碼生成工具:從Simulink模型、Embedded MATLAB(MATLAB語言子集,包括若干面向嵌入式實現(xiàn)的操作符及函數(shù))及Stateflow產(chǎn)生標準的C代碼、嵌入式C代碼或者HDL代碼(VHDL和Verilog代碼),包括:Real-Time Workshop 產(chǎn)生標準的C代碼Real-Time Workshop Embedded Code 產(chǎn)生嵌入式優(yōu)化的C代
32、碼Stateflow Code從Simulink模型及Embedded MATLAB產(chǎn)生HDL代碼Filter Design HDL Coder產(chǎn)生所設計濾波器的HDL代碼,包括VHDL和Verilog代碼。目標支持包,支持特定的處理器及相應的板卡:Target Support Package IC1 (for Infineon C166)Target Support Package FM5 (for Freescale MPC5xx)Target Support Package TC2 (for TIs C2000 DSP)Target Support Package TC6(for TIs
33、 C6000 DSP)這些軟件工具可以產(chǎn)生針對特定處理器的優(yōu)化的匯編代碼,對于支持的板卡,可以產(chǎn)生包括算法及板卡外設驅(qū)動的整個工程文件。與嵌入式集成開發(fā)環(huán)境的連接工具:是MATLAB和Simulink與嵌入式集成開發(fā)環(huán)境聯(lián)合仿真接口,可以在MATLAB和Simulink環(huán)境下對嵌入式集成開發(fā)環(huán)境進行操作,包括設置中斷,編譯、調(diào)試等。Embedded IDE Link CC (for TIs Code Composer Studio-TI ccs)Embedded IDE Link VS (for Analog Devices Visua1DSP+)Embedded IDE Link TS (f
34、or Altium TASKING)Embedded IDE Link MU (for Green Hills MULTI)與HDL仿真工具的連接工具:EDA Simulink Link MQ (for Mentor Graphics Modelsim)EDA Simulink Link IN (for Cadence Incisive)EDA Simulink Link DS (for Synopsy Discovery)EDA Simulink Link 是MATLAB和Simulink與FPGA和ASIC硬件設計的聯(lián)合仿真接口,提供了MATLAB-Simulink與HDL仿真工具的高效、
35、雙向接口,對TRL級代碼做高級驗證,支持VHDL和Verilog,包括以下幾個仿真工具。Real-Time Workshop和Real-Time Workshop Embedded Coder為嵌入式系統(tǒng)生成最優(yōu)的C和C+代碼,其主要特點:(1) 從Simulink和stateflow模型中及Embedded MATLAB生成ANSI/ISO C和C+代碼及其可執(zhí)行文件,生成的代碼在內(nèi)存占用率,運行速度及可讀性等方面可同于寫代碼相媲美。(2) 擴展了Real-Time Workshophe Stateflow Coder,其在產(chǎn)品實現(xiàn)方面具有最優(yōu)化及代碼配置等特點;(3) 支持所有Simuli
36、nk數(shù)據(jù)對象和數(shù)據(jù)字典功能,包括用戶定義的存儲類,類型及別名;(4) 提供目標函數(shù)庫代碼的定制,從面為特定處理器生成機器代碼;(5) 無論有無RTOS,可對多速率代碼進行簡明分割以提高運行效率;(6) 包含可擴展的模塊封裝特性和自定義數(shù)據(jù)對象;(7) 提供詳盡的注釋,并使用超鏈接進行代碼到模型和需求之間的雙向跟蹤。(8) 自動將生成的代碼導入Simulink并進行軟件環(huán)路測試,從面對代碼進行驗證;(9) 使用Simulink報告生成功能,在Simulink Model Explorer中生成代碼幫助文件并以此作為獨立的報告。Embedded IDE Link CC和Target Support
37、 Package TC6:支持對TIC6000 DSP的自動代碼生成和調(diào)試,可以加快算法在DSP上的實現(xiàn),大大縮短了開發(fā)的進程,提高開發(fā)效率。Simulink HDL Coder:可以從Simulink模型,Stateflow框圖和Embedded MATLAB代碼產(chǎn)生bit-true的可綜合的Verilog和VHDL代碼。自動生成的代碼是與目標無關(guān)的。產(chǎn)生的Verilog代碼兼容TEEE1364-2001標準,VHDL代碼兼容TEEE 1076標準,這些代碼支持通用的功能驗證和綜合工具。Simulink HDL Coder同時可以產(chǎn)生HDL測試激勵,用于HDL仿真工具對產(chǎn)生的HDL代做驗證。
38、9.7 嵌入式代碼開發(fā)的一個實例例9.7.1 設計一個低通濾波器,要做以下的工作。(1) 按以下指標進行概念設計:采樣率Fs=48000Hz,通帶Fp=4000Hz,阻帶Fs=7000Hz:建立Simulink模型仿真,觀察其對3000Hz+8000Hz兩個線譜合成信號的濾波效果:用DSP芯片實現(xiàn)這個濾波器。(2) 設計低通濾波器:這個任務可以用濾波器設計工具Fdatool來完成,如圖9.7.1所示,前已指出,單擊其左下方的按鈕,可以對濾波器作定點化設計,并且可以生成Simulink的模塊,也可以產(chǎn)生C和HDL代碼(需要相應的授權(quán))。(3) 搭建Simulink模塊,構(gòu)造測試激勵,仿真驗證算法
39、,搭建好的模型如圖9.7.2所示。在圖9.7.2中,采用信號處理模塊庫里的信號源模塊Sin Wave,構(gòu)造了由兩個正弦信號作為測試的輸入信號,將這兩個信號經(jīng)過相加器疊成一個信號,使它經(jīng)過濾波器設計工具生成數(shù)字濾波器。在濾波器的前后都放置了頻譜分析儀和示波器,以觀察濾波的效果。該圖上所有的模塊在Simulink的模塊庫中都能找到,只要把它們用鼠標拖引到打開的空白文件上,并用鼠標將它們聯(lián)接起來即可。建立仿真框圖后,就可設置各模塊的參數(shù)。例如,雙擊兩個數(shù)字信號源之一,就會彈出如圖9.7.3所示的參數(shù)設置視窗,在其中填入本例的參數(shù)。比如采樣頻率48000Hz,頻率是3000Hz(另一個設成8000Hz),它能支持基于幀的設計,采用每幀1024個樣本。由于是基于幀的設計,就可以直接觀察時域與頻域的波形,否則需要對時域信號進行緩沖(Buffer),然后才能觀察頻域波形,而且基于幀的設計會有比基于采樣更快仿真速度。接下來要把設計好的濾波器加到測試信號上,看看是不是達到預期的設計效果,低頻信號通過,高頻信號濾掉。我們可以采用上一步產(chǎn)生的濾波器模塊,也可以直接采用信號處理模塊庫里Digital Filter Design模塊,該模塊會打開fdatool工具同樣的界面,進行濾波器設計,并且可以直接用于Sim
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程借用資質(zhì)協(xié)議范本
- 狙擊精英4 1.03版switch大氣層系統(tǒng)游戲修改代碼
- 年產(chǎn)100萬平方米玻璃生產(chǎn)加工基地建設項目環(huán)境影響報告表環(huán)評報告表
- 鄧州鋼結(jié)構(gòu)彩鋼棚施工方案
- 門店返利活動方案
- 2025北京石景山七年級(上)期末生物(教師版)
- 漢中庭院假山工程施工方案
- 四層樓房基礎(chǔ)施工方案
- 2024-2025學年下學期高二語文第三單元B卷
- 現(xiàn)代林木樟子松苗木的繁育造林技術(shù)與病蟲害防治措施探討
- 山地回憶-完整版獲獎課件
- 吸煙有害健康-完整版PPT
- 《結(jié)構(gòu)力學(2)》課程教學大綱(本科)
- 《中華傳統(tǒng)文化》第1課-炎黃始-華夏悠遠教學課件
- 國家體育館QC成果之提高鋼結(jié)構(gòu)現(xiàn)場焊縫的一次合格率
- 隊列訓練教程ppt課件(PPT 86頁)
- 國際商務(International Business)英文全套完整課件
- 《麻精藥品培訓》ppt課件
- JMP操作簡要培訓
- 立方智能停車場管理系統(tǒng)解決方案(課堂PPT)
- 員工廉潔協(xié)議
評論
0/150
提交評論