根据位置指纹室内定位算法的理念,提出了一种旨在减小计算量的定位方法,并将此方法应用于KNN算法中。以KNN算法为例,理论上分析了其计算量优化的情况,并在此优化算法的基础上,通过仿真比较了K的取值、AP节点的位置及数量对定位精度的影响。结果表明该算法不但能够保证位置指纹室内定位的精度,而且还能有效的减小定位过程中的计算量。该方法同样可以推广到其他位置指纹定位算法中,能在理论上解决位置指纹定位算法的计算量问题。
上传时间: 2013-10-20
上传用户:wuchunwu
基于信号到达角度(AOA)的定位算法是一种常见的无线传感器网络节点自定位算法,算法通信开销低,定位精度较高。由于各种原因,估测的多个节点位置可能存在不可靠位置,提出了一种改进的基于信号到达角的定位方法,通过过滤误差较大的估计位置,来提高定位的精度。仿真结果表明,本文提出的改进算法很好地提高了定位精度。
上传时间: 2013-12-19
上传用户:jennyzai
本文探讨了GPS精密单点定位的基本原理、方法和一些关键技术,给出了精密单点定位的精度!
上传时间: 2013-12-21
上传用户:lxm
在充分研究了超宽带无线传输技术特性的基础上, 对超宽带无线定位的原理进行了探讨。首先详细介绍了超宽带测距和定位的原理, 对超宽带定位的精度进行了仿真分析。然后, 针对超宽带 Ad Hoc 网络实际应用中节点数目比较多的情况, 引入了节点的相关性来提高超宽带的定位精度, 并进行了仿真分析。仿真结果显示了此算法在网络节点数比较多的情况下对定位精度有比较好的提高效果。
标签: UWB定位算法
上传时间: 2015-04-19
上传用户:hyc77
超声波电机(Ultrasonic motors,简称USM)是一种全新原理的直接驱动电机,它利用压电陶瓷逆压电效应激发的超声振动作为驱动力,通过定转子间的摩擦力来驱动转子运动。与传统的电磁电机相比,它具有低速大转矩、无电磁干扰、动作响应快、运行无噪声、无输入自锁等卓越特性,在非连续运动领域、精密控制领域比传统的电磁电机性能优越得多。超声波电机在工业控制系统、汽车专用电器、精密仪器仪表、办公自动化设备、智能机器人等领域有广阔的应用前景,近年来倍受科技界和工业界的重视,成为当前机电控制领域的一个研究热点。 本文主要以行波型超声波电机的驱动控制技术为研究对象,引入嵌入式系统理念,设计并制作了超声波电机的驱动控制系统,并对超声波电机的速度与定位控制做了深入的研究。本文主要研究内容及成果如下: 介绍了超声波电机的工作原理、特点及其应用前景,总结了国内外超声波电机驱动控制技术的发展历史和研究现状,以及今后我国超声波电机驱动控制技术的发展方向,明确了本文的研究内容。 结合嵌入式系统特点及其开发方法,详细介绍了超声波电机嵌入式驱动控制系统的硬件和软件设计过程,并总结了硬件、软件的调试过程。最后,对所设计系统性能进行了实验测试和数据分析。 采用DDS技术解决超声波电机所需要的高频驱动电源和数字控制的问题。本文设计的以ARM控制器为核心,频率、相位、幅值均可调的双通道信号发生器,具有频率和相位差控制精度高的特点。 本文介绍了速度与位置的常用控制策略。设计并搭建了基于增量式PID的速度和基于模糊PID的位置控制系统。速度控制采用增量式PID调节,其控制策略简单、易行,通过实验选择合适的参数能适应一般的控制精度要求。定位控制则采用模糊PID控制策略,该策略将模糊控制不需要精确的数学模型、收敛速度快的特点与PID简单易行、能消除稳态误差的优点相结合,改善了模糊控制器稳态性能,使电机定位控制精度达到0.0880。
上传时间: 2013-07-16
上传用户:wdq1111
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953