51uwb.cn

 找回密码
 立即注册
查看: 5195|回复: 1
打印 上一主题 下一主题

BPhero-UWB 跟踪原理代码实现分析

[复制链接]

3

主题

15

帖子

36

积分

新手上路

Rank: 1

积分
36
跳转到指定楼层
楼主
发表于 2019-9-10 19:44:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1.BPhero-UWB 基站 0 和上位机通过串口通信,基站 0 将距离信息通过串口发送给 PC ,这里的距离就是dis1和dis2以及dis3吧,那么这个数据有没有经过滤波和均值处理.



2.函数int filter(int input, int fliter_idx )里面的两个参数代表什么意思?后面那个fliter_idx代表的是要过滤的基站编号么?前面那个input参数代表什么呢?上一次的均值?


3.这下面的函数是什么功能呢?distance_mange()是求某个基站数据的均值?下面一部分是数据和数据个数清零,作用呢?逻辑看不懂.
  1. int Anchor_Index = 0;
  2.                             while(Anchor_Index < ANCHOR_MAX_NUM)
  3.                             {
  4.                                 if(Anthordistance_count[Anchor_Index] >=ANCHOR_REFRESH_COUNT )
  5.                                 {
  6.                                     distance_mange();
  7.                                     Anchor_Index = 0;
  8.                                                                         //clear all
  9.                                     while(Anchor_Index < ANCHOR_MAX_NUM)
  10.                                     {
  11.                                         Anthordistance_count[Anchor_Index] = 0;
  12.                                         Anthordistance[Anchor_Index] = 0;
  13.                                                                                                                                                                 Anchor_Index++;
  14.                                     }
  15.                                     break;
  16.                                 }
  17.                                                                 Anchor_Index++;
  18.                             }
复制代码


     


回复

使用道具 举报

73

主题

249

帖子

7065

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7065
沙发
发表于 2019-9-10 21:52:03 | 只看该作者
关于问题1
所有测距都会经过fliter 进行滤波,你说的这个在这个滤波后
  1.     {
  2.         int Anchor_Index = 0;
  3.         while(Anchor_Index < ANCHOR_MAX_NUM)
  4.         {
  5.             if(Anthordistance_count[Anchor_Index] > 0 )
  6.             {
  7.                 Anthordistance[Anchor_Index] =filter((int)(Anthordistance[Anchor_Index]/Anthordistance_count[Anchor_Index]),Anchor_Index);
  8.             }
  9.                             Anchor_Index++;
  10.         }
  11.     }
复制代码
2 .函数int filter(int input, int fliter_idx )
input 是输入数据,fliter_idx 标记了那个滤波器,一个基站对应一个滤波器,不能用混


3  标签每次和基站测距后,轮训查看与所有基站测距次数,如果大于阈值ANCHOR_REFRESH_COUNT 就进行处理, 处理完清零
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-11-23 19:06 , Processed in 0.010565 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表