原文《Search-less algorithm for star pattern recognition》

https://link.springer.com/content/pdf/10.1007/BF03546375.pdf 引用数129

K矢量查找法

中文论文《基于导航星域和K矢量的快速星图识别算法》

《一种改进的基于K 矢量的星图识别算法》


《基于导航星域和K矢量的快速星图识别算法》

假设待排序的值为0.01到0.99,共有83363个数值,数列平均递增。

clear all ;close all;
n = 83363;
data=linspace(0.01,0.99,83363);
D = (data(n)-data(1))/(n-1);
a1 = n*D/(n-1);
a0 = data(1) - a1 -D/2;
k = 1: n;
costhe = a1 .* k + a0;
K=[0];

figure(1);
scatter(k,data,'blue');
hold on;
scatter(k,costhe,'r');

image-20220303085357833

image-20220303085450014

搭建完毕,现在开始使用。

假定范围为(0.55,0.59),假设theta=0.57,delta=0.02

ib=45935

it=49338

clear all ;close all;
tic
n = 83363;
data=linspace(0.01,0.99,83363);
D = (data(n)-data(1))/(n-1);
a1 = n*D/(n-1);
a0 = data(1) - a1 -D/2;
k = 1: n;
costhe = a1 .* k + a0;
K(1)=0;


for j = 2:n
K(j) = sum(sum(data < costhe(j)));
end

ib = fix((0.59-a0)/a1);
it = fix((0.55-a0)/a1)+1;
kstart = K(ib) +1 ;
kend = K(it) +1;

toc

kstar=45936

kend=49339

历时 5.060949 秒。


《一种改进的基于K 矢量的星图识别算法》

提到了该方法有问题

image-20220303171127111

image-20220303213921527