※ 引述《ray0129 (Ray)》之銘言:
: 最近想要用MCU做一個濾波器,
: 所以想用MATLAB的FDATool產生所需的FIR係數,
: 我利用其Target->Generate C Header可以得到一系列的整數係數,
: 適合拿來在MCU上實現。
: 但在MATLAB上利用這些係數嘗試濾波的效果後發現,
: 雖然確實有濾波的效果,但訊號的振幅變大許多,
: 想請問是否哪裡有誤?
: 或是有其他的設計方法?
: 謝謝!
FIR 的係數不太可能是整數啊...
應該是有小數部分的 fixed-point吧,
如果整數是 x
實際的數值應該是 x * 2^(-n), n代表他的小數部分有幾個bit
如果你在MCU中是用整數乘法做的話, 乘完後要往右shift n個bit
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.217.134