08.11.18_李怡緯

Download Report

Transcript 08.11.18_李怡緯

應用都卜勒效應進行
無線感測網路之定位
Locationing in Wireless
Sensor Network Using
Doppler Effect
指導教授:金仲達 老師
成員:
陳俊佐 陳惠雯
李怡緯 鄧雅文
劉哲維 鍾逸帆
Outline
•
•
•
•
•
動機
Overview
Algorithm
實作過程與研究結果
討論
Outline
•
•
•
•
•
動機
Overview
Algorithm
實作過程與研究結果
討論
1. 動機
• Sensor network 偵測定位大多以訊號強
弱作為標準
• 此法受溫度、溼度影響較明顯
• 若是以頻率定位,則….?
• 參考都卜勒定律
• 使用頻率的特性來取代以往使用訊號強度
的方法
研究目的
• 藉由聲音頻率在都卜勒效應中的變化特性,
來將各個sensors做定位。
Outline
•
•
•
•
•
動機
Overview
Algorithm
實作過程與研究結果
討論
2.1 都卜勒定律
• 都卜勒效應是波源和觀察者有相對運動時,
觀察者接受到波的頻率與波源發出的頻率
並不相同的現象。
 v  vo 
f
f '  

 v  vs 
f :聲源發出的頻率
f'
:觀察者收到的頻率
v
: 聲速
vo
:觀察者移動速度
vs
:聲源移動速度
Y
Sensor ( x , y )
y

x
Source (0,0)
X
聲源對sensor僅作用分量 v s cos  。


v


f
'

故原式改寫成
 v  v cos   f
s


v s cos  由大轉小,通過x=x 點為0,再過為負。 f ' 為由大轉漸小。
根據sensor端所收到的頻率,可以利用都卜勒公式求出 
Y
Sensor ( x , y )
y
A
A v s t 1 , 0 
B
B v s t 2 , 0 
y  ( x  v s t1 ) tan  A  ( x  v s t 2 ) tan  B
 x
v s t1 tan  A  v s t 2 tan  B
tan  A  tan  B
X
2.2 環境配置
• 將散布了sensors的環境平面看成一個二元
x-y座標平面
• 起點當做此座標平面的原點
• 只使用第一象限
• 音源沿著x方向作直線運動
• 物體行經終點後,sensors停止取樣工作
• 傳回sink端分析
sensor
sensor
sensor
sensor
sensor
等速聲源
起點
終點
2.3 器材與設備
• 平台:
– TinyOS:
• 由UC Berkeley發展出來專門為嵌入式sensor
network設計的作業系統。詳細可以參考:
http://www.tinyos.net/special/mission
– sensor:
• 由Crossbow Technology製作的MICAz與PC端連
接用來作溝通與寫進程式的MIB510。
• 軟體:
– Matlab
– NesC:
• 一種由UC Berkeley發展出來專門用在Networked
Systems上的程式語言,主要用於TinyOS上面實
作我們的sensor上的algorithm。詳細請參考:
http://nescc.sourceforge.net/
移動聲源──腳踏車
移動聲源──摩托車
音響、捲尺、PC端(筆電)、
sink、sensors、start
control
Outline
•
•
•
•
•
動機
Overview
Algorithm
實作過程與研究結果
討論
3.1 前置作業
• tinyos-1.x/tos/interface/ADC.nc
• tinyos-1.x/tos/interface/Time.nc
• tinyos1.x/apps/HighFrequencySampli
ng/MicroTimer.nc
• tinyos1.x/apps/HighFrequencySampli
ng/MicroTimerM.nc
3.2 網路端程式設計
• 將所有SENSOR分為三大部分
– Sensor端:收集音訊資料以PKG型態,當接收
到control端訊號則broadcast。
– Sink端:
• 接收sensor封包。
• 送出flag讓sensor依id順序發送回。
– Control端:負責送出啟動以及中止指令,讓我
們能精確的控制sensor端收送data的時間。
8 bits
8 bits
sourceMoteID seqNum
32 bits
8 *20bits
HeadTime
Data[BUFFE
R_SIZE]
• sourceMoteID: 每顆sensor的
Local_address,識別用。
• seqNum: 記錄每個pack的編號。
• HeadTime: 記錄每個pack裡取得頭筆
data的時間。
• Data[BUFFER_SIZE]: BUFFER_SIZE
= 20
3.3 時譜與頻譜分析
• 傳統dsp分析大多使用傅立葉轉換。
• 需要大量的取樣樣本以達到訊號頻譜上的
準確度。
• 本實驗中不同時間的頻率並非定值,故
– 取樣過多:失去時間的精準度
– 取樣過少:分析結果與實際有不小出入
• 在時譜和頻譜間取得平衡
Normalization
將訊號Normalize至相同的level
1.
2.
X max  max X ( i )
X (n) 
, i  0 ,1, 2 ,3 ... n
X (n)
X max
3.
S ( n )  X ( n )  X ( n  1)
原 450~470
新 -1~+1
FFT差值法
• 頻率解析度定義為:
R(sampling rate)/N(sampling number)
• 頻譜圖中,誤差會在正負一個頻率解析度
間。
• 減小頻率解析的方法有二 :
– 是降低取樣頻率。
– 另一個方法則是增加取樣的樣本數。
• 根據尼奎士取樣定理,降低取樣頻率,實
驗中的聲音頻率也隨之降低
都卜勒效
應頻率範圍隨之降低。
• 增加取樣的樣本數將造成取樣週期的增加,
造成時間軸的不準確。
在不改變頻率解析度的前提下,使用FFT差值法求
得此段時間的主要頻率。
fx 
fx
( A p  f p  A p  f p )
:平均頻率。
A p :最大振幅。
fp
:A p 對應到的頻率。
A p  :第二大的振幅。
f p  :A p  對應到的頻率。
A p  A p
3.4 程式流程
用MicADC偵測聲音訊號,
以microtimer設定取樣頻率
用都卜勒定律定位出
sensors 的位置
將資料填入sensor端以
封包的形式送至 sink端
在matlab上將收到的資
料以FFT轉換成時間-頻
率對應格式端
Sink端接收封包,再由
UART傳入PC端
在PC以matlab接收
UART的資料
Outline
•
•
•
•
•
動機
Overview
Algorithm
實作過程與研究結果
討論
4.1 實作流程
將聲源、起點、sensors及終
點就定位
經過終點時,sensor停
止取樣
Matlab開啟UART,10秒內要
收到第一個封包
啟動聲源,當聲源經過起點
時,所有sensor開始取樣聲
音資料
以ID遞增的方式將
sensor上資料傳回PC做
處理
4.2 難題思考與解決
• 維持移動物體的等速
• 聲速的測量
– V s  331  0 . 6 t
• 聲音的取得
– Y  A  sin  2  ft 
其中
f=700Hz 以matlab產生,光碟錄製而成。
• 如何同步各個sensors
– 使用control,在音源通過起點為基準
• 使control處於待機狀
態
• 持續以光照射,但遮
住感測器
• 當感測器接收光源時,
持續送出封包通知
sensor採集資料
• 通過終點,再次遮蔽
• 取樣頻率的提高
– 以TinyOS內建的timer component造成過小
誤差
– microtimer component 可增加取樣頻率
• 將取得之data轉變成需要的資訊
– 先將訊號Normalize再送進傅立葉轉換
• 考量資訊品質及誤差
• 如何解決data lost
– Sensor量增加時,sink端的負擔會驟增(星狀)
– Sensor memory不足(樹狀)
– 距離遠近影響收訊品質
– 電力不足
• 反覆實驗後決定以星狀拓樸
4.3 數據
• 室外組
– 在操作時間內產生18
筆資料
– 去除頭尾兩筆,兩筆可
規劃一線
– 以700hz,(x,
y)=(10,4) ,
TIME=0~4640ms
取較精準3次作分析如下:
(x, y)=(13.57, 3.86)
誤差
3.750m
(x, y)=(14.12, 2.85)
誤差
4.650m
(x, y)=(14.39, 3.62)
誤差
4.605m
Outline
•
•
•
•
•
動機
Overview
Algorithm
實作過程與研究結果
討論
討論
• Sink傳送速度與UART傳送速度是否差異
極大,進而造成資料遺失。
• 每次實驗後都必須清除buffer內的資料,
否則會嚴重干擾下次實驗之數據。須改進
程式使得buffer能在每次實驗都清光,或
是每次實驗完手動開關一次。
• 研發更佳演算法,試圖解決node間溝通與
傳輸同步化。
• 以網狀代替樹狀與星狀拓樸。
• how about multisink?
• 即收即傳
• 實驗環境的影響
– 室內:
在室內進行實驗時,發現室內的空間不大時,
sensors可能會被回聲干擾而產生不夠準確的
資料。
– 室外:
實驗的場地較為難找,必須要有實驗器材的電
源供給且環境中的雜音需小。
• 研究器材無法精準的達到等速且高速的移
動。
• 都卜勒效應在高速或高頻的條件底下,皆
能夠顯著的提升精準度,雖使用
microtimer仍嫌不足。
• 聲源的強度受到設備的限制,當聲源離
sensors太遠(約大於10m),收到的音量
就太小,易被雜訊覆蓋;但若把喇叭的音
量加大,頻率也會失真。
• 一顆sensor上僅有約30kb的空間,如何存
放大量的資料。
• data的完整性:
– 在此研究中,我們將資料傳輸的間隔時間拉長,
藉此降低data error及data lost的產生。但若
sensor的數量變多,上述的方法效用將會大幅
降低。
補充:simulated annealing
模擬退火
• S. Kirkpatrick, C. D. Gelatt 和 M. P.
Vecchi 在1983年所發明
• V. Černý 在1985年也獨立發明
• 一種通用的機率演算法
• 在大的搜索空間找尋最優解
• 漸近收斂性
• 來自冶金學。
• 將材料加熱後再經特定速率冷卻。
• 增加晶體體積,減少晶格缺陷。
• 加熱後隨機移動,有可能會停留在比原內
能較低的位置。
• 將熱力學套用到統計學
• 搜索空間內每一點想像成空氣內的分子
• 分子帶有能量
• 空間中每一點也帶有能量(表示該點對命題
的合適程度)
• 選定一鄰居並計算到達他之機率
s := s0; e := E(s)
k := 0
// 目前狀態s0,其能量E(s0)
// 評估次數k
while k < kmax and e > emax
sn := neighbour(s) // 隨機選取一鄰近狀態sn
en := E(sn) // sn的能量為 E(sn)
if F(e, en, temp(k/kmax)) then
s := sn; e := en // 移至鄰近狀態sn
k := k + 1
return s
// 評估完成,次數k加一
// 回傳狀態s
THANKS FOR YOUR LISTENING!