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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AliOS Things声源定位应用演示

發布時間:2024/8/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AliOS Things声源定位应用演示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 概述

利用麥克風陣列進行聲源定位在智能降噪、語音增強、語音識別等領域有廣泛應用和研究前景。本文介紹基于AliOS Things + STM32F413H Discovery開發板實現聲源定位算法集成和功能演示。

  • 聲源定位算法
    本案例集成了STMicroelectronics的Acoustic_SL聲源定位算法。Acoustic_SL是STMicroelectronics開發的聲源定位算法,支持XCORR、GCC-PHAT、BMPH三種不同算法類型。本案例使用GCC-PHAT算法類型,算法基于到達時間差(TDOA)原理實現,通過測量聲音信號達到不同麥克風的時間差計算聲源方向。GCC-PHAT算法作為應用最為廣泛的聲位算法,數據計算量和資源消耗較小,并且具有一定的抗噪和抗混響能力。

2. 環境搭建

開發板:STM32F413H Discovery(附帶麥克風陣列板)
手勢傳感器:Seeed Grove PAJ7620
溫濕度傳感器:HTS221
LED數碼管:Seeed Grove LED Bar

硬件說明:
使用STM32F413H作為主控芯片,提供音頻輸入接口、I2C接口、GPIO控制接口、顯示控制接口等。
STM32F413H內置的DFSDM模塊可以支持最多同時5路PDM數字麥克數據錄入,并經過硬件濾波將PDM數據轉換成PCM數據,降低了音頻軟件的復雜度和資源消耗。

硬件連接:

?

3. 軟件編譯

軟件:AliOS Things
下載AliOS Things后,切換到developer分支。

執行如下命令編譯Application:
aos make sensordemo@stm32f413h-discovery

編譯成功后,使用下面命令燒錄鏡像:
aos upload sensordemo@stm32f413h-discovery

4. 軟件介紹

  • AliOS Things

AliOS Things是面向IOT領域的輕量級物聯網嵌入式操作系統。AliOS Things啟動過程中,依次完成內核初始化、硬件資源初始化、功能組件初始化、外設驅動初始化。系統就緒后,通過用戶定義的application_start()函數進入應用程序。

  • 創建聲位和音量顯示界面

在application_start()函數中調用display_init()創建LCD刷新任務、顯存刷新任務、定義顯示界面。

聲位顯示界面:

切換到該界面時,聲位識別算法開始運行,屏幕上指示當前聲音方位。測試時建議距離mic陣列水平距離30cm,高度和mic陣列盡量接近,可以獲得最佳效果。

音量顯示界面:

切換到該界面時,計算mic信號的大小并轉換成音量在屏上顯示音量指示條,即提供聲音強度檢測功能。

  • 運行聲位算法

<1> 在application_start()函數中創建聲源定位task,在該task中繼續調用acoustic_sl_start()執行聲源定位功能。

<2> 在acoustic_sl_start()函數中調用DFSDM_Init()和HAL_DFSDM_FilterRegularStart_DMA()初始化并啟動DFSDM錄音程序。打開4路DFSDM濾波通道,獲取4個麥克風的PDM數據,經過內部處理轉換成PCM后通過DMA傳輸到緩存中。

<3> 調用acoustic_sl_init()庫函數初始化Acoustic_SL算法。這一步需要設置算法參數,例如配置算法類型、channel number、麥克風陣列間距以及識別角度最小單位、聲音檢測門限。

<4> DFSDM錄音程序每次分別從4個mic錄入512個采樣點的PDM數據數據,經過內部處理轉換成PCM后通過DMA傳輸到緩存中。

<5> 緩存數據到達后,對PCM數據進行簡單的High Pass濾波算法處理,然后調用AcousticSL_Data_Input()以每次16samples的大小送入算法后,觸發外部中斷,在中斷函數中再調用AcousticSL_Process()進行算法處理和聲位計算,得到代表聲音方位的角度信息。

<6> 根據角度的范圍可以確定麥克的位置,然后在顯示任務fb_refresh_task中根據麥克位置更新顯示界面。

麥克陣列采用2x2矩陣形式,通過這種布局方式可以實現360度聲音方位的識別。

另外,AcousticSL算法提供聲音檢測門限和識別角度最小單位兩個調試參數。可以根據需要修改參數,適應不同的環境條件和應用需求。

  • 音量計算

通過手勢切換到該界面后,首先對DFSDM輸出的512個采樣點的pcm數據先計算均值,再進行對數計算,得到對應pcm數據的音量信息,同時根據音量信息在顯示任務fb_refresh_task刷新界面音量進度條。

5. 應用演示

視頻觀看:AliOS-Things聲源定位應用演示

6. 更多

參考AliOS Things手勢識別應用演示


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的AliOS Things声源定位应用演示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。