多边定位算法用c语言实现,UWB 定位_三边定位位置解析算法-C

本文介绍了一个使用C语言实现的UWB多边定位算法,特别是三边定位。通过最小二乘法,根据已知基站坐标和距离解析未知点坐标。代码包括头文件和实现文件,适用于STM32等平台,可以方便地整合到项目中。
摘要由CSDN通过智能技术生成

一、用途

1、解析未知点的坐标。

二、、基本原理

3f86170d76518ec54076030000e6cc7d.png

已知三点位置 (x1, y1), (x2, y2), (x3, y3)

已知未知点 (x0, y0) 到三点距离 d1, d2, d3

通过最小二乘法算法来解析出坐标。

三、代码

该代码是需要输入四个基站坐标和四个基站到未知点的距离的, 如果需要改成三个 直接引用 trilateration(AX, AY, d1, BX, BY, d2, CX, CY, d3);即可。4个基站只是在三个基站的基础上来解析的,多了一步对4种不同的三个基站的定位位置数据平均化。

.h文件代码:

#ifndef __MY_LOCATION_H

#define __MY_LOCATION_H

static int AX,BX,CX,DX,AY,BY,CY,DY;

void MY_location_Init(int X1, int Y1, int X2, int Y2, int X3, int Y3,int X4,int Y4);

double* trilateration(double x1, double y1, double d1, double x2, double y2, double d2, double x3, double y3, double d3);

double* Printf(double d1, double d2, double d3, double d4);

int P(int x, int n);

#end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值