根據位置指紋室內定位算法的理念,提出了一種旨在減小計算量的定位方法,并將此方法應用于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