sysmacro.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // 秒寻科技
  2. // 系统公共模块,定义全局需要用的数据结构
  3. // zt
  4. // 2023-02-27
  5. #ifndef __SYS_MACRO_H__
  6. #define __SYS_MACRO_H__
  7. // 软件型号APLM:audio phone locate module
  8. #define PUB_SOFTWARE_NAME_LEN 11
  9. #define PUB_SOFTWARE_NAME "APLM8000SDK" // 软件名称:基于音频的手机定位模块开发包
  10. // V2.1.00 2025-02-08 by zt 增加软件版本接口
  11. // V2.1.01 2025-04-14 by zt 修改代码缺陷(修复轨迹跳变,修改极小值选择方法、用运动方向二次校验极小值)
  12. // V2.1.02 2025-04-22 by zt 完善代码(完善手机移动方向预测代码,并将预测方向应用到二维定位中(利用预测方向修订第一径);
  13. // 修改信号同步模块中的设计缺陷,解决轨迹跳变问题,改善了定位效果)
  14. // V2.1.03 2025-04-25 by zt 增加基于toa计算第一径偏移量的代码(toa应用的代码还未写),修改代码中的缺陷(两处检查极小值点的错误)
  15. #define PUB_SOFTWARE_VERSION_LEN 7
  16. #define PUB_SOFTWARE_VERSION "V2.1.03" // 软件版本
  17. #define PUB_M_PI 3.14159265358979323846
  18. #define PUB_2PI (2 * 3.14159265358979323846)
  19. #define PUB_M_PI_2 1.57079632679489661923
  20. #define RET_OK 0 // 函数返回成功
  21. #define RET_FAIL 1 // 函数返回失败
  22. // 系统载波数量(最多9个载波)
  23. #define PUB_SYS_CARRIER_NUM 9
  24. // 系统时隙数
  25. #define PUB_SYS_SLOT_NUM 4
  26. // 声速,每秒343米
  27. #define PUB_AUDIO_SPEED 343
  28. // 信号采样率
  29. #define PUB_SIGNAL_SAMPLE_RATIO 48000
  30. // 信号同步向左偏移量,6000约42米(5000约35米)
  31. #define PUB_SYNC_INDEX_OFFSET_NUM 5600 // 40米
  32. // TODO 基站有效距离,单位米,28米
  33. #define PUB_BTS_VALID_DISTANCE ((PUB_SYNC_INDEX_OFFSET_NUM * PUB_AUDIO_SPEED) / PUB_SIGNAL_SAMPLE_RATIO)
  34. // 参与定位的基站,最多9个
  35. #define PUB_LCT_BTS_MAX_NUM PUB_SYS_CARRIER_NUM
  36. // FFT变换帧长(点数)
  37. #define PUB_FFT_FRAME_LEN 16384
  38. // 基站ID模块
  39. #define PUB_BTS_LCT_BTS_DATA_USE_MAX_TIMES 5 // 定位基站数据最多使用次数
  40. #define PUBLIC_BTS_ID_BITS_NUM 21 // 基站ID比特位数
  41. #define PUBLIC_BTS_ID_FRAMES (4 * PUBLIC_BTS_ID_BITS_NUM) // 基站ID比特帧数,4帧表征每比特
  42. #define PUBLIC_BTS_ID_JUDGEMENT_FACTOR 15 // 基站ID判决因子,放大100倍保存
  43. #define PUB_BTS_ID_NUM 1164
  44. // 定位相关
  45. #define PUB_SLOT_FRAME_LEN 12000 // 每次定位处理的信号长度
  46. #define PUB_LCT_DATA_LIST_LEN (6 * PUB_SLOT_FRAME_LEN) // 定位数据队列长度,缓存6帧数据
  47. // // 同步镜像
  48. #define PUBLIC_SYNC_FRAMES BTS_AMPL_MIRROR_FRAMES // 同步帧数(与最强幅度镜像帧数相同)
  49. // 定位模块
  50. #define PUB_TWO_BTS_MAX_NUM 6 // 与本站参与两站定位的基站最大数量
  51. #define PUBLIC_LCT_PEAK_LIST_LEN 256 // 峰值队列长度
  52. #define PUBLIC_LCT_MIN_VALUE_FRONT_LEN 1000 // 真内最小值前面的长度,用于选择帧内噪声值
  53. #define PUBLIC_LCT_CFAR_LEN 160 // cfar判决统计长度(单边)
  54. #define PUBLIC_LCT_TRACK_WINDOW_WIDTH 280 // 跟踪第一径窗口长度(单边)
  55. #define PUB_LCT_FP_OFFSET_VALID_THRES 350 // 第一径偏移门限
  56. // 路由模块
  57. #define PUB_MAC_ADDRESS_LEN 12 // MAC地址字节数
  58. // 测试宏定义
  59. #define PUB_DEBUG_ENABLE 1 // 打开调试开关
  60. // #define PUB_DEBUG_ENABLE 0 // 关闭调试开关
  61. #endif