Re: [問題] 在TI DSP中使用Q format的方法?

看板Electronics作者 (joy)時間15年前 (2010/10/03 21:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《ke19721972 (幽默)》之銘言: : 我的IDE是用TI出的CCStudio : 要用來控制DC to DC的converter : 但在寫PI控制器的時候出現了一些問題 : 很多參數本來是用float來寫的 : 像是(float Kp = 0.7;)這樣 : 但是計算時間就會長一點 : 因為我切換頻率定在100kHz,怕會有所影響 : 所以想請教大家該怎麼定義Q format好進行小數點運算? : 手邊其實是有書上有寫PI控制器的寫法(by Q15) : 可惜他是用組語所以我看不懂QQ : 是不是還要另外再找標頭檔來放呢?? : 先感謝各位~~~ 一個東西是什麼 是看你從甚麼角度去看他 DSP大部分的數值都是以16 bits來定義 一般以Q15 form最多 其定義是最高的第15 bit是整數 不是1就是0 第14 bit~第0 bit 為小數 EX: 當有一個16 bits的數值是 1,010 1010 1010 1010 對應到是數字是 1*(1/2)^0 + 0*(1/2)^1 + 1*(1/2)^2 + 1*(1/2)^3 ......+ 0*(1/2)^15 那現在的問題就是 如何把所有的數值都轉為Q15 form? 以DSP數值都是16 bits來看 何數值是1? 2進制來看: 1000 0000 0000 0000 16進制來看: 0x8000 所以把所有讀到的數字 都化成16進制來看 就是把他相乘 讓他等比於1 當然如果整數部份比較大 你可以採用q12 q13 form 都可以 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.125.25
文章代碼(AID): #1Cg7wpGx (Electronics)
文章代碼(AID): #1Cg7wpGx (Electronics)