2008年12月8日 星期一

如何利用MPLAB驗證程式

這是我如何將數學式,轉換成c語言程式,並如何交叉比對


首先,先用simulink建一個模型。將輸出值丟到workshop。



首先需將z轉換推導一次。


可以得到y(n)-0.3y(n-1)-0.54y(n-2)=u(n)-2.54u(n-1)。


y(n)為輸出的答案,u(n)為輸入的命令。


推導完後就可以寫程式了。


程式我寫的比較亂就沒有貼上來了。


最後只需要將答案用printf 印出來就好了。不過為何要用printf呢?原因是不需要接硬體就可以模擬了。



在編輯界面上的工具列上選擇Debugger→Settings。


會出現一個"Simulator Settings",選擇Rewind Input。可以選擇將資料建在一個資料夾裡。


或者是直接show出來。


這是直接show出來的答案。


最後將答案貼回matlab。再重劃一下圖。


這2個輸出的圖形非常像。


放大來看,其實是會有誤差的,不過誤差非常非常的小。


利用這個做法,可以非常快速的除錯,而且過程中可以不需要接硬體就可以了。


1 則留言:

  1. 可以得到y(n)-0.3y(n-1)-0.54y(n-2)=u(n)-2.54(n-1)。
    應該是y(n)-0.3y(n-1)-0.54y(n-2)=u(n)-2.4u(n-1)
    Great!  Expect to see your recursive least square (RLS) algorithm!
    [版主回覆12/08/2008 19:56:14]老大的眼力真好。

    回覆刪除