基于DSP的自動(dòng)代碼生成及應用
4. 1 ADC 轉換及F IR濾波器處理程序設計
用Embedded target for T I C2000 工具包設計ADC 轉換及F IR 濾波。在新建的S imulink文件中,放入C2000 Target Preference中的F2812 eZdsp, 并對其中參數進(jìn)行設置。
實(shí)現A /D 轉換的功能模塊是C28x ADC, A /D轉換模塊可以選擇模塊A、B 中的任意六個(gè)通道, 這里要注意數據格式的轉化。
FIR 濾波器設計有很多種, 利用M atlab 中的FDATooo l( F ilter DesiignAnalysis Too l)來(lái)設計是經(jīng)常使用的一種。FDATooo l是通過(guò)指定濾波器的性能指標來(lái)快速設計F IR 或者IIR 濾波器, 它是一種圖形設計界面, 如圖2所示。
指定FIR濾波器為低通濾波器( Low pass) , 指定采樣頻率為6kH z, 低通頻率為1kH z, 截止頻率為2kHz, 菜單Analysis用來(lái)選擇不同的分析顯示方式,如幅度響應、相位響應、脈沖響應、階躍響應、濾波系數等。指定完成設計參數后單擊Overw rite generated filter b lock, 完成濾波器的設計。
圖2 數字濾波器設置對話(huà)框
4. 2 擴展卡爾曼濾波器的設計
擴展卡爾曼濾波器是通過(guò)內嵌S 函數完成的。
在RTW 中一般可以直接應用非內嵌C MEX S 函數, 但是在實(shí)時(shí)情況下對時(shí)間要求比較嚴格, 而非內嵌S函數的S imstruct數據結構需要大量的存儲計算資源, 運行時(shí)調用S函數需要很大的系統開(kāi)支, 此時(shí)就需利用TLC 技術(shù)將S 函數內嵌。TLC 是RTW的一個(gè)內部組成部分, 利用它可以自定義從S imulink模型生成的C 代碼, 并為S imulink模型圖生成優(yōu)化的內嵌程序代碼。通過(guò)自定義, 可以將自定義算法和現存的例程結合起來(lái)形成一個(gè)整體式的程序, 提高代碼質(zhì)量, 減少代碼體積。
內嵌S函數的實(shí)現是通過(guò)生成一個(gè)TLC 文件mymode.l t lc完成的。當TLC 在閱讀mymode.l rtw時(shí), 如果發(fā)現有S函數block, 并且在TLC 文件的搜索路徑中有相應的TLC 文件, 則S函數被內嵌。
評論