我在(32 位)定点中实现状态空间过滤器时遇到了困难。这是因为系数具有很大的动态范围,例如(MATLAB 代码):
A = [0.989923894 -116924.375; 4.34027786e-10 1];
B = [1; 0];
C = [0.010076086 1];
D = 0;
转换为双二阶部分时:
[sos, gain] = ss2sos(A,B,C,D);
系数很正常:
sos = 0 1.0000 -1.0000 1.0000 -1.9899 0.9900
b0 = 0.0000
b1 = 1.0000
b2 = -1.0000
a0 = 1.0000
a1 = -1.9899
a2 = 0.9900
gain = 0.0101
我能做些什么来让我的生活更轻松吗?欢迎任何建议。