日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

UWB定位记录二(DWM1000模组介绍)

發(fā)布時(shí)間:2023/12/31 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UWB定位记录二(DWM1000模组介绍) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? 前言:上篇博客是對(duì)UWB理論方面的基本介紹,掌握基本理論之后肯定還需要去做工程實(shí)驗(yàn)來(lái)測(cè)試,所以這篇開(kāi)始從最普及的UWB芯片DWM1000的資料展開(kāi)對(duì)UWB工程實(shí)現(xiàn)的介紹。其實(shí)基本UWB理論知識(shí)在論文中都是很容易找到,但是具體的工程實(shí)現(xiàn)細(xì)節(jié)大多數(shù)論文都未詳細(xì)展開(kāi),故我把網(wǎng)上找到的相關(guān)資料整合介紹下。

??一、DWM1000模組介紹

? ? ?最開(kāi)始有一個(gè)問(wèn)題測(cè)時(shí)間差的問(wèn)題一直困擾著我,就是測(cè)距是基于d=c*t,d為距離,c為光速,t為時(shí)間差,一般我們的測(cè)距應(yīng)用范圍d都在幾十米以內(nèi),而c光速值約為3*10的8次方,那么t的值是納秒級(jí)別的,時(shí)鐘由晶振產(chǎn)生那么則需要Ghz級(jí)別的時(shí)鐘,這對(duì)于我經(jīng)常用到MCU都是在幾十M時(shí)鐘是不可想象的,所以我當(dāng)時(shí)一直找資料想是否需要加額外的倍頻器。后面了解到DW1000這款芯片后,知道這些UWB芯片本身都是可以做到的。

? ? 首先,DWM1000是Deca公司的一款用于UWB通信定位的模組,集成了DW1000芯片的基本外圍電路,兩者關(guān)系如下圖1-1所示。關(guān)于上段提出的問(wèn)題,解決方法是因?yàn)?strong>DW1000內(nèi)部有一個(gè)非常非常高的時(shí)鐘,高達(dá)64GHz左右,所以才可以做到厘米級(jí)的定位。

? ?

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1-1

? ?之后,DWM1000模組和MCU的配合開(kāi)發(fā)也非常簡(jiǎn)單,兩者之間采用SPI通信,MCU通過(guò)幾個(gè)控制腳和SPI通信的四個(gè)IO腳便完成了基本UWB定位模塊,具體如圖1-2所示。DWM1000的基本資料其實(shí)在官網(wǎng)都可以免費(fèi)下載如圖1-3(包括其官方提高stm32和dwm1000的例程),只是官網(wǎng)https://www.decawave.com/product/dwm1000-module/需要翻墻,我后續(xù)會(huì)免費(fèi)上傳部分資料到CSDN上讓大家參考。

? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1-2

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1-3

?二、DWM1000模組測(cè)距方法

? ? ? ? ? 上篇博客已經(jīng)基本介紹了基本定位方法包括TOA,TDOA,下面再介紹下兩種測(cè)距方法,兩者概念不要搞混,定位的前提是得到基站與移動(dòng)站的測(cè)距值或者是差值。

? 2.1.Single-sided Two-way Ranging?(SS)

? ? ? 首先是單次雙程測(cè)距法,具體流程是,設(shè)備A首先向設(shè)備B發(fā)出一個(gè)數(shù)據(jù)包,并記錄下發(fā)包時(shí)刻Ta1,設(shè)備B收到數(shù)據(jù)包后,記下收包時(shí)刻Tb1。之后設(shè)備B等待Treply時(shí)刻,在Tb2(Tb2=Tb1+Treply)時(shí)刻,向設(shè)備A發(fā)送一個(gè)數(shù)據(jù)包,設(shè)備A收到數(shù)據(jù)包后記下時(shí)刻值Ta2。然后可以算出電磁波在空中的飛行時(shí)間Tprop,飛行時(shí)間乘以光速即為兩個(gè)設(shè)備間的距離。具體如圖2-1所示。

Tround= Ta2-Ta1? ? ? ? ? ? ? ?//總時(shí)間差

Treply=Tb2-Tb1? ? ? ? ? ? ? ? ?//基站處理時(shí)間差

Tprop=(Tround-Treply)/2? ? ? //最終得到的標(biāo)簽與基站的UWB通信時(shí)間差,距離值即為TOF*c光速

因?yàn)樵O(shè)備A和設(shè)備B使用各自獨(dú)立的時(shí)鐘源,時(shí)鐘都會(huì)有一定的偏差,假設(shè)設(shè)備A和設(shè)備B時(shí)鐘的實(shí)際頻率是預(yù)期頻率的eA和eB倍,那么因?yàn)闀r(shí)鐘偏差引入的誤差error,設(shè)備A和B的時(shí)鐘偏差都會(huì)對(duì)Tprop值造成影響,并且直接影響我們的測(cè)量精度,因?yàn)楣馑偈?0cm/ns,所以很小的時(shí)鐘偏差也會(huì)對(duì)測(cè)量結(jié)果造成很大影響,而且這種影響是SS測(cè)距方式無(wú)法避免的。也因此SS測(cè)距很少被采用,大部分情況下我們都使用下一種,DS測(cè)距的方式。

? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2-1

2.2Double-sidedTwo-way Ranging(DS)

? ? ?官網(wǎng)例程代碼用的就是DS,剛開(kāi)始我也很費(fèi)解因?yàn)榭吹恼撐幕居玫亩际荢S也沒(méi)提到過(guò)DS下面關(guān)于DS的介紹較為復(fù)雜,不了解可以再看過(guò)官網(wǎng)例程代碼后再來(lái)看下面的原理公式推導(dǎo)。

? ? ? DS測(cè)距是在SS測(cè)距的基礎(chǔ)上再增加一次通訊,兩次通訊的時(shí)間可以互相彌補(bǔ)因?yàn)闀r(shí)鐘偏移引入的誤差。假設(shè)設(shè)備A和設(shè)備B的時(shí)鐘精度是20ppm(很差)1ppm為百萬(wàn)分之一,那么Ka和Kb分別是0.99998或者1.00002,ka和kb分別是設(shè)備A、B時(shí)鐘的實(shí)際頻率和預(yù)期頻率的比值。設(shè)備A、B相距100m,電磁波的飛行時(shí)間是333ns。則因?yàn)闀r(shí)鐘引入的誤差為20*333*10-9秒,導(dǎo)致測(cè)距誤差為2.2mm,可以忽略不計(jì)了。因此雙邊測(cè)距是最常采用的測(cè)距方式。下面我將介紹官網(wǎng)的雙邊測(cè)距的代碼實(shí)現(xiàn)。

完成一次DS測(cè)距需要6個(gè)步驟,總流程如2-2所示。

1.設(shè)備A發(fā)送POLL包。并記下發(fā)送時(shí)間T1。并在一段時(shí)間后打開(kāi)RX。

2.設(shè)備B要提前打開(kāi)接收,然后收到POLL包,記錄時(shí)間T2.

3.設(shè)備B在T3(T3=T2+Treply1)時(shí)刻發(fā)送Response包,發(fā)送完之后打開(kāi)RX.

4.設(shè)備A收到Response包,記錄時(shí)刻T4。

5.設(shè)備A在T5(T5=T4+Treply2)發(fā)送Final包。

6.設(shè)備B收到Final包,記錄時(shí)間T6。

?

公式推導(dǎo):

Tround1 = Treply1 + 2Tprop;

Tround2 = Treply2 + 2Tprop;

Tround1*Tround2 - Treply1*Treply2 =4Tprop2 + 2Tprop*Treply1+2Tprop*Treply2;

Tround1?+Tround2 + Treply1?+ Treply2 = 4Tprop + 2Treply1 + 2Treply2;

所以Trop等于上圖的公式。

?

下面是具體的時(shí)間計(jì)算:

Tround1 = T4 - T1

Tround2 = T6 - T3

Treply1 = T3 - T2

Treply2 = T5 - T4

Tprop為電磁波飛行時(shí)間,乘以光速為測(cè)距距離。

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2-2?

這個(gè)是SS與DS介紹的原文地址,要配合官網(wǎng)代碼分析https://msd.misuland.com/pd/3545776840385762452

總結(jié)

以上是生活随笔為你收集整理的UWB定位记录二(DWM1000模组介绍)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。