[求助]椭圆的跟踪拟合
图中的小黑点表示数据点,这些数据点是角度编码器在转动过程中依次得到(可以理解为这些数据点表示转轴当时的角度位置),理想情况下编码器转动一圈得到的数据点应组成一个圆(圆心为原点,半径R)。但由于数据存在噪声,并且在转动过程中有直流偏差,而且x轴和y轴的增益大小不同,所以数据点形成如图所示的椭圆状。我的目的是求出由这些数据点拟合出的最佳椭圆(即椭圆的长轴a,短轴b以及圆心位置)。
导师建议的思路:从一个单位圆开始(如图),根据不断得到的数据将单位圆进行调整(不断变化圆心位置及半径大小,每次的变化量都很小,所谓的跟踪算法),使得单位圆在编码器转动时不断逼近最佳椭圆,经过转动若干圈后得到这个椭圆。数据点存储个数越少越好(因为片上存储器很小)。因为每一圈得到的数据值都不同,所以这种方法可以实时计算出比较精确的直流偏差和增益。如果有更好的解决方法也欢迎指教。
小弟之前从来没有类似的经验,拜托各位大哥大姐给点建议,先谢过!
[此贴子已经被作者于2006-11-15 23:05:56编辑过]