作者joy830 (joy)
看板Electronics
标题Re: [问题] 在TI DSP中使用Q format的方法?
时间Sun Oct 3 21:01:36 2010
※ 引述《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