本帖最后由 叶春勇 于 2022-5-18 18:00 编辑
不知不觉封城5天了。
今天没事看了下郑君里版的《信号与系统》,下册第七章第七节,讲了“解卷积”。
具体的意思,都是根据输入x,传递函数h,计算输出y。
实际上还有:
1、根据输出y和传递函数h,计算x。
2、根据输出y和输入x,计算传递函数h。
其中给出了离散卷积的矩阵方法,如下:
借此矩阵根据输出y反求x
x(0)=y(0)/h(0)
x(1)=[y(1)-x(0)h(1)]/h(0)
x(2)=[y(2)-x(0)h(2)-x(1)h(1)]/h(0)
可惜没讲根据输出y和输入x,计算传递函数h,也没给出例子。自己摸索了下
用输出y和输入输入x得出传递序列,如下
正好在 https://bbs.21ic.com/icview-3101468-1-1.html 的帖子中有个一阶系统的例子,尝试用反卷积的方法试验了下
其中输入为单位阶跃序列时(step)x0,x1,x2均为1
网友给出的原始测量数据已经编辑掉了,我保存了,这里不贴出来了。
其中h序列结果:
hn =
Columns 1 through 20
-80 -90 -88 -80 -80 -80 -72 -72 -74 -70 -66 -62 -56 -60 -52 -56 -56 -54 -52 -46
Columns 21 through 40
-46 -42 -43 -43 -44 -36 -30 -44 -40 -35 -35 -36 -32 -26 -34 -26 -26 -24 -29 -33
Columns 41 through 60
-24 -20 -24 -23 -24 -25 -21 -19 -22 -18 -18 -23 -13 -18 -16 -15 -17 -18 -15 -11
传递函数图像
经拟合后
离散反卷积的方法
求得:22.5℃时10次测量
[-31.667446907408994,
-31.738251044409139,
-31.464242770572163,
-31.537594978300579,
-31.878277064560248,
-31.033163824328984,
-32.092994283813418,
-31.275413054576664,
-31.826903918023184,
-31.629791512427254]
标准差为 0.306127298951621,最大精度0.009683157741650。
总结:
1、反卷积算法与直接拟合相比,反卷积计算有去直流的作用不需要正则化,直接拟合需考虑直流偏置。
2、网友提供的数据,把adc的值过于关注,由于计算结果关心的是系统的延时tao,对采样率比较敏感,不应该把数据分成四块求平均。降低了时间分辨率。
|