我的心好累呀
卓大大您好,我是一名信標組的參賽選手.最近研究聲音定位已經乙個多星期了,一直在跟著您推文中的方法走,也曾像其他人求助,解決了很多問題,但是也遇到了一些新的問題,有些暫時想不明白,就想來請教一下。
購買的tc264核心板尚未拿到手,於是用上一屆的k66板子做實驗。使用的麥克風是max9814模組,gain接5v。
實驗電路板與麥克風感測器
一開始先用兩個麥克風,10khz採集2000個資料做互相關運算,結果存在陣列內。找出互相關的最大值對應的下標nmax,這個下標和2000的差 2000-nmax 即為時間延遲/取樣間隔。
實驗布局示意圖
這裡遇到的問題是求出的結果只有三個,兩個麥克風距離算8厘公尺,最大時間間隔才235微妙,而取樣100微妙一次,這樣的結果就理所當然了。
通過提高取樣速率,軟體插值,提高麥克風間距,增加測量時間可以增加解析度。我都嘗試了。
提高取樣速率和軟體插值效果明顯,可以做到互相關的最大值的座標從3個點內的移動增大到100個點內的 移動。我覺得這應已經很不錯了。
chirp訊號波形
麥克風間距受到chirp半波長限制
,增加取樣時間效果不明顯(試驗從1000到4000個點)。
然後我開始嘗試用三個麥克風實現定位,作了乙個等邊三角形固定麥克風。以厘公尺為單位建立平面座標,求解聯立的雙曲線方程,再代入第三個方程求得唯一解。
折騰半天算出來表示式非常長的一串,在電腦上執行c語言程式,matlab計算,代入數值答案都正確而且一致,說明等式沒有問題。
使用三角形麥克風陣列測量揚聲器的位置
把這些**移植到微控制器裡實踐,效果確實非常差:大部分時候算出來的x,y座標只是符號正確而已,說明好壞知道我在哪個象限;有些符號都是錯誤的。我想這個數學模型是非常敏感的。在遠點的地方雙曲線接近平行,0.1厘公尺的誤差都會導致誤解或者提前相交–失之毫釐,差之千里。
採集到的波形訊號
我找了個rt1064來做對比,發現這兩個指標都好上不少;三是麥克風不是乙個點,是乙個圓柱體,加上等邊三角形的誤差,鳳城引數和我實際麥克風間具有一定的差距。
chirp訊號的自相關訊號
用完整的chirp訊號可以解決這個錯誤,但是在保證時間解析度起碼在10微妙的情況下,不管是提高取樣頻率還是插值,乙個0.2048s的訊號的點起賣超過20000個。而且不知道訊號的起始時間的情況下才採集這麼長的時間也不一定才到完整的一幀chirp訊號。
所以我現在有點懷疑純麥克風的方案。折騰了這麼久,以為快要成功的時候又發現了 一大大堆不知道如何解決的問題。我現在也沒有力氣再重新飛線測試rt1064的結果了。
chirp訊號的fft幅度譜
萬一只是誤差非常非常大和非常大的區別呢?不知不覺寫了這麼多,真的是麻煩卓老師了。
採集資料的頻率只需要設定為10khz就好了,不需要提高取樣頻率。這是因為實際訊號產生的dac的頻率就是10khz,提高取樣頻率也不會提高資料的精度;
提高自相關判斷的精度是採用fft+補零的方式來完成的;具體方法以後會進行理論分析;
對於聲源的定位,麥克風陣列的極限越長,定位精度越高。可以伴隨追的車模運動,自然產生拉長後的麥克風陣列基線;
需要假設能夠利用調頻接收模組來獲得傳送的訊號。根據該訊號的起始點來確定採集的起始點以保證能夠採集到完整的一幀chip訊號;
在實際測試中,距離的重複誤差應該在1厘公尺左右,如果大於這個誤差,請檢查一下你的電路中實際訊號的幅值和雜訊。
開發中遇到的最大困難 RN 開發中遇到的問題歸納
1.rn flatlist 渲染問題 對於除data以外的資料需要新增extradata 若data和extradata中都是陣列,修改該資料,需要同時修改其引用位址,例如重新賦值乙個新陣列 2.rn 從a頁面路由到b頁面,再返回a頁面,觸發更新方案 在a頁面新增監聽事件,解除安裝時移除,在b頁面g...
如何解決專案管理中遇到的困難
其實是四個點,時間 成本 資源 範圍 質量。1 這在四個點中,最重要的是質量,唯一不可變的也是質量,因此是乙個以質量為中心的,三個點圍繞的三角 2 基於第一點,在質量不變的情況下,考慮其它的三個點 時間 成本 範圍,平衡也是在這三點之間平衡 3 具體的問題要具體的分析,比如時間是確定的,成本是不可變...
遇到困難時的SOP
今天,被乙個看似困難的問題所困擾著,整整折磨我一天,其實這個問題沒有想像中的難,甚至以前也遇過類似的問題。以下幾個原因,首先是自己思路受限,沒有及時調整,使自己陷入死迴圈中,越去想,越想不出來,越想不出來,人越煩,越沒狀態。其次,昨晚幾番通宵,今天的狀態可想而知,今晚回到宿舍,抱著再試試的想法,開啟...