资源简介
(2012年电子设计大赛 D题)二维平面TDOA算法实现,VC仿真通过精度;0.001mm,移植到 MSP430F149,算法精度:0.01mm。附带说明文档,详细注解, 方便大家继续研习
代码片段和文件信息
//******************************************************************
//(2012年电子设计大赛)D题:声音定位系统 (二维平面TDOA定位算法) 算法测试
// 描述: 以题目所标注的零点为坐标原点,四角各坐标则可分别标号并表示为
//
// 2.(0350)---------------------- 3.(500350)
//
// | |
// | |
// | 发生源(xy) |
// | |
// | |
// | |
//
// 1.(0 0)------------------------4.(5000)
// 参数:t1 表示声音传播到接受点12之间的时间差
// t2 表示声音传播到接受点13之间的时间差
// c 表示理论中的声速
// Q 宏定义为 π的值
// 调试验证环境: 运行仿真环境:VC++ 6.0 (精度0.01mm)
// 核心代码移植系统环境: IAR5.4 MSP430F149 (精度:0.1mm)
// 作者:小浣熊 qcxycwf@163.com
// 时间:2012.8.2 版本 V1.0 (验证通过)
// 参考文献:1.《基于到达时间差的平面声无源定位技术研究》
// 2.《基于TDOA定位技术的仿真研究》
// 3.《声源定位实验 —— 一个具有明确应用背景和前沿技术特点的综合性实验》
//*********************************************************************
#include “stdio.h“
#include “math.h“
#define c 340 //定义声速为340M/S
//测试点1(这里取点当声音传播到1.2点的时间差为0,且声音传播到1.4点的时间差为0)
#define t1 0//测试假设 这个发声部分在最特殊的中点
#define t2 0
//测试点 2 坐标点(110110),先算出时间差,然后验证算法
//(这里取点当声音传播到1.2点的时间差为0.000318930,且声音传播到1.4点的时间差为0.000733636)
//#define t1 0.000318930
//#define t2 0.000733636
#define Q 3.141592654
//坐标点定位系统(注意这里是以 内部基准坐标 而建立)
void main()
{
float x1y1x2y2temp;
//分别表示以1.(00)为原点建立的坐标系下,另外两个定位点基准点的坐标
float U; //计算声源 极坐标 角度的中间变量
float H; //声源的 极坐标 (角度)
float r; //声源距离坐标原点的距离
float ABD; //分别用来存放数据 ABD 对应各自的算法公式
x1 = 0;
y1 = 0.35; //(X1Y1)即 基准点2
x2 = 0.5; //(X2Y2)即 基准点4
y2 = 0;
A = x2*(x1*x1+y1*y1-c*t1*c*t1) - x1*(x2*x2+y2*y2-c*t2*c*t2);
B = y2*(x1*x1+y1*y1-c*t1*c*t1) - y1*(x2*x2+y2*y2-c*t2*c*t2);
D = c*t1*(x2*x2+y2*y2-c*t2*c*t2) - c*t2*(x1*x1+y1*y1-c*t1*c*t1);
U = atan(B/A);//求解U的角度(换算成度数了)
printf(“所求的中间变量 A 为:%f\n“A);
printf(“所求的中间变量 B 为:%f\n“B);
printf(“所求的中间变量 D 为:%f\n“D);
printf(“所求的角度 U 为:%f°\n“U*180/Q);//(换成了度数)
temp = D/sqrt(A*A+B*B);//把这个数据算出来
printf(“所求的中间变量 temp 为:%f\n “temp);
H = acos(D/sqrt(A*A+B*B))+U;//测得角度 H(也就是声源的角度)
r = fabs((x1*x1+y1*y1-c*t1*c*t1)/(2*(x1*cos(H)+y1*sin(H)+c*t1)));//绝对值函数(求解距离)
printf(“\n\n\n\n声源与坐标原点之间的距离r为:%f 米,与X轴缩成角度角度 H 为:%f°\n\n“rH*180/Q);
//显示坐标
printf(“声源的的横坐标X为:%f mm 纵坐标Y为: %f mm\n\n“r*cos(H)*1000r*sin(H)*1000);
printf(“声源坐标为(%f%f)\n\n“r*cos(H)*1000r*sin(H)*1000);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-08-09 16:55 2012年电子设计 D题算法\
目录 0 2012-08-06 09:41 2012年电子设计 D题算法\Debug\
文件 5787 2012-08-09 16:55 2012年电子设计 D题算法\Debug\TDOA.obj
文件 33792 2012-08-09 16:55 2012年电子设计 D题算法\Debug\vc60.idb
文件 45056 2012-08-09 16:55 2012年电子设计 D题算法\Debug\vc60.pdb
文件 204839 2012-08-09 16:55 2012年电子设计 D题算法\Debug\算法.exe
文件 247440 2012-08-09 16:55 2012年电子设计 D题算法\Debug\算法.ilk
文件 175516 2012-08-06 02:00 2012年电子设计 D题算法\Debug\算法.pch
文件 459776 2012-08-09 16:55 2012年电子设计 D题算法\Debug\算法.pdb
文件 411 2012-08-06 07:12 2012年电子设计 D题算法\resource.h
文件 16608 2012-08-06 07:25 2012年电子设计 D题算法\sc
文件 1447 2012-08-06 07:12 2012年电子设计 D题算法\sc
文件 3130 2012-08-09 16:55 2012年电子设计 D题算法\TDOA.c
文件 155131 2012-08-06 00:18 2012年电子设计 D题算法\基于TDOA定位技术的仿真研究.pdf
文件 80304 2012-08-06 00:06 2012年电子设计 D题算法\基于到达时间差的平面声无源定位技术研究(1).pdf
文件 128016 2012-08-06 01:45 2012年电子设计 D题算法\声源定位实验_一个具有明确应用背景和前沿技术特点的综合性实验.pdf
文件 4258 2012-08-06 07:12 2012年电子设计 D题算法\算法.dsp
文件 516 2012-08-06 01:58 2012年电子设计 D题算法\算法.dsw
文件 41984 2012-08-09 16:55 2012年电子设计 D题算法\算法.ncb
文件 48640 2012-08-09 16:55 2012年电子设计 D题算法\算法.opt
文件 1733 2012-08-09 16:55 2012年电子设计 D题算法\算法.plg
相关资源
- 电子设计大赛电阻精度测量仪.zip
- UWB中基于TDOA定位方法的Fang算法论文参
- Arduino电子设计实战指南.零基础篇_超
- 2018年TI杯大学生电子设计竞赛题F-无线
- 1994-2016全国大学生电子设计竞赛仪器
- 2010、2012、2014、2016年TI杯大学生电子
- 九九物联 AFM201T AT 指令集 V1.1 -AF
- 2018年湖南省大学生电子设计竞赛题
- ISO 16750 道路车辆—电气及电子设备的
- 2016年江苏省电子设计大赛-自动寻迹小
- 全国大学生电子设计竞赛_板球控制系
- 2018年电赛G题f103附带程序
- 2011-2018电子设计大赛通信类优秀设计
- 2015国赛A题满分作品PCB+原理图+程序
- 基于双目视觉的室内标签定位系统(
- msp430驱动fdc2214
- 2009年全国大学生电子设计竞赛优秀作
- 国际电联无线电规则-条款-2016年版
- 历年全国大学生电子设计竞赛控制类
- [完整版] 全国大学生电子设计竞赛常
- 2019年全国大学生电子设计竞赛 A题 程
- 扫描_2018年湖南省大学生电子设计竞赛
- 2018TI杯大学生电子设计竞赛G题可用资
- 电子设计大赛合集
- 电子技术课程设计报告.docx
- 2017年电子设计竞赛K题源代码单相用电
- 数字幅频均衡功率放大器 软件代码
- 2017年全国大学生电子设计竞赛自适应
- 典型仪器类赛题分析-赵茂泰(2018)
- 全国大学生电子设计大赛培训教程(
评论
共有 条评论