音訊訊號檢測設計指南

作者 : Viacheslav Kolsun,Dialog Semiconductor應用工程師

雜訊可能由電路中引起,並且其頻率位於音訊範圍內;有時候,雜訊中可能根本沒有有用訊號。在檢測音訊訊號時,必須考慮這些可能性…

聲音可以用類比音訊訊號、也可以用數位音訊訊號來表徵。類比音訊訊號強度採用電壓,不同類型的換能器將聲音轉換為電訊號,或者將電訊號轉換為聲音。音訊訊號頻率範圍約為20Hz~20kHz。

麥克風和揚聲器這類的音訊源分別產生或接收音訊訊號,但訊號源也可能是白色雜訊或單音雜訊。這些雜訊可能由電路中引起,並且其頻率位於音訊範圍內;有時候,雜訊中可能根本沒有有用訊號。在檢測音訊訊號時,必須考慮這些可能性,以便區分雜訊和無用訊號,以及真實音訊訊號(如人類語音、音樂和自然聲音)。

音訊訊號檢測原理

人耳可以聽到訊號頻率大約在20Hz~20kHz範圍內。該範圍可包括來自諸如變壓器嗡嗡聲或來自各類無線電系統的白色雜訊等單音調,這些聲音在音響系統中是不期望出現的;聲音過高的時候會損害聽力。人類的語言、音樂和自然聲音具有不同的頻率,這些頻率連續變化。因此,音訊檢測器應記錄頻率變化,並根據這些變化拾取有用的音訊訊號。

 

圖1:音訊訊號檢測的工作原理。

(來源:Dialog Semiconductor)

 

音訊訊號檢測的基本原理如圖1所示。系統設計考慮三個基準頻率:100Hz、500Hz和3kHz。對於給定訊號,系統統計訊號頻率在特定時間段內與基準頻率交叉的次數。僅考慮從低頻到高頻的交叉;例如,從50Hz~150Hz將算作交叉100Hz,而從150Hz~50Hz則不算。如果訊號以表1中規定的最少次數穿過這三個基準頻率中的任何兩個,則該設計將其視為音訊。

 

表1:表中提供檢測音訊訊號所需的最小頻率交叉(穿越)次數;這些數字可以透過I2C根據使用者需要進行調整。

(來源:Dialog Semiconductor)

 

圖1中顯示了三個樣本訊號:

雜訊訊號(黑色):該雜訊曲線三次穿越3kHz基準頻率。

單音嗡嗡聲(紅色):該單音曲線沒有穿越任何一個基準頻率。

音訊訊號(綠色):像語音或音樂一樣變化的音訊訊號。該訊號分別穿越100Hz 6次,500Hz5次,3kHz 1次。該訊號曲線穿過所有三個基準頻率,儘管設備未檢測到3kHz,因為它只穿過1次;如表1所示,必須交叉穿越至少2次才被檢測到。該裝置檢測到500Hz (交叉5次;表1中規定最小值為2次)和100Hz (交叉6次;表1中規定的最小值為4次)。由於它與兩個參考訊號交叉足夠多次,因此該訊號被檢測確認為音訊。

請注意,語音或音樂可以有停頓。John Milton Cage Jr.有一首著名的作品,名為「4’33」,演奏中沒有任何聲音。當然,該設計無法將長暫停時間確認為音訊。不過,對於小於5秒的暫停時間,檢測演算法會忽略不計。

最後,該設計將剪切掉聽不見的頻率——即低於20Hz和高於20kHz的頻率。本文將利用這些原理,作為利用SLG47502可程式設計混合訊號晶片來設計音訊訊號檢測器的基礎。

檢測設備的實現

設計架構

該設備的設計架構如圖2所示,其中包含以下模組:

類比音訊訊號的量化模組:將連續類比值映射為雙值。經過該處理之後,所有需要知道的只是音訊訊號的頻率;

高頻截止濾波器模組:該模組剪切掉高於20kHz的頻率;

低頻截止濾波器模組:該模組剪切掉低於25Hz的頻率;

頻率交叉計數器模組:根據表1,計算特定時間段(測量時間)內訊號頻率與基準頻率高頻、中頻、低頻的交叉次數;

音訊暫停模組:檢測音訊暫停,如果少於5秒時忽略不計;

測量時間模組:設置進行計數的時間段;

D觸發器(DFF)模組:儲存測量期間的音訊檢測,並將其輸出到PIN12 (Audio Detect);

5分鐘無音訊訊號模組:檢測音訊訊號的5分鐘閒置時間,並將PIN11 (Five Minutes No Audio Signal)放到高電平。

 

圖2:該設備架構突出顯示出主要建構模組。

(來源:Dialog Semiconductor)

 

模組配置

類比部分:音訊訊號源應連接至PIN9 (AUDIO_IN-和PIN10(AUDIO_IN+)。PIN10是類比比較器(ACMP)的輸入,PIN9為基準電壓(500mV)。考慮到音訊訊號為交流訊號且IC為單電壓供電,該設計將音訊訊號偏置500mV以避免出現負值。然後,輸入音訊訊號進入ACMP0H (圖3),ACMP0H對音訊訊號進行數位量化,然後交由該設計的其餘部分處理。

 

圖3:類比部分表示由類比比較器和基準電壓組成的音訊訊號源。

(來源:Dialog Semiconductor)

 

高頻截止濾波器:一個延遲器(8位元CNT7/DLY7(MF7))用來過濾掉高於20kHz的頻率(圖4)。設計工程師可以透過I2C將計數器資料寫入0xA0<1287:1280>來調整頻率週期。

 

圖4:高頻截止濾波器採用延遲器來濾除高於20kHz的頻率。

(來源:Dialog Semiconductor)

 

低頻截止濾波器:圖5所示的低頻截止濾波器由兩部分組成。

尖峰脈衝濾波器:考慮到沒有使用計數/延遲器模組來濾除隨機脈衝,決定使用查閱資料表(3位元LUT8)、移位暫存器(SHR13)和 DFF (DFF12)來實現尖峰脈衝濾波器。設計師可以透過I2C將計數器資料寫入0x69<845:842>,來調整隨機脈衝的時間。

頻率檢測器:利用頻率檢測器(CNT5/DLY5)實現低頻截止濾波器,用於濾除低於25Hz的頻率。設計師可以透過I2C將計數器資料寫入0x94<1191:1184>來調整低頻頻率的濾除週期。

 

圖5:低頻截止濾波器包括一個尖峰脈衝濾波器和一個頻率檢測器。

(來源:Dialog Semiconductor)

 

頻率交叉計數器:該模組由幾個部分組成。第一部分是 EDGEDET (圖6),它將雙電平音訊訊號轉換為一系列短脈衝,從而保存音訊訊號的頻率。下一步是檢測音訊訊號的頻率與基準頻率的交叉次數,如表2和圖7所示。

 

圖6:頻率交叉計數器的第一部分將雙電平音訊訊號轉換為一系列短脈衝。

(來源:Dialog Semiconductor)

 

表2:頻率檢測期間,交叉頻率可透過I2C更新。

(來源:Dialog Semiconductor)

 

利用移位暫存器(SHR7、SHR8、SHR9)計算與基準頻率的交叉次數。

 

圖7:音訊訊號與基準頻率的交叉檢測原理。

(來源:Dialog Semiconductor)

 

音訊暫停模組:音訊暫停模組由頻率檢測器實現,如圖8和表3所示。此模組檢測到音訊訊號暫停,如果暫停時間小於5秒,則予以忽略,音訊訊號被認為是連續的。如果暫停時間超過5秒,則該設計檢測結果認定根本不是音訊訊號。

 

圖8:由頻率檢測器實現的音訊暫停模組。

(來源:Dialog Semiconductor)

 

表3:音訊暫停資料;交叉穿越的頻率可以利用I2C更新。

(來源:Dialog Semiconductor)

 

測量時間模組:該設計計算由計數器控制的特定時間內與基準頻率交叉的次數,如圖9和表4所示。如果頻率交叉計數器在測量時間段內未檢測到音訊訊號——包括音訊暫停,則該設計將其識別為無訊號。

 

圖9:測量時間模組統計特定時間段內的與基準頻率的交叉次數。

(來源:Dialog Semiconductor)

 

表4:測量時間資料與基準頻率的交叉次數相關。

(來源:Dialog Semiconductor)

 

有音訊訊號儲存:有音訊訊號儲存由DFF0輸出,如圖2所示。使用PDLY模式(雙邊緣延遲)和LUT(3位元LUT13)設置訊號。

無音訊訊號:如果該設計在大約5分鐘內未檢測到任何音訊訊號,則將PIN11置高電平(5分鐘音訊暫停)。使用LUT(3位元LUT3) 和延遲器(CNT6/DLY6)進行計數,時間根據表5設定。

 

表5:根據表中資訊計算無音訊時間。

(來源:Dialog Semiconductor)

 

典型應用電路

硬體測試結果

圖11提供了硬體測試結果:通道1 (黃色,上方)——PIN10端訊號;通道2(藍色,圖片下方)——PIN12端訊號;示波器的地線連接至PIN9。

 

圖10:圖中顯示一個典型的應用電路。

(來源:Dialog Semiconductor)

 

圖11:(a)波形顯示了利用答錄機播放聲音的測試結果,(b)是接收調頻台播音的測試結果。

(來源:Dialog Semiconductor)

 

音訊檢測器設計

本文介紹了用可程式設計混合訊號晶片設計的音訊檢測器,該方法基於音訊訊號頻率的變化。如果輸入訊號的頻率發生一定次數的變化,則裝置會將該訊號辨識為音訊。該設計允許音訊暫停,如果在5分鐘內未辨識出音訊訊號,則裝置會將PIN11置為高電平;如果輸入訊號的電平相對過低,則此設計無法識別音訊。

(參考原文:A design guide for implementing audio signal detection,by Viacheslav Kolsun)

本文同步刊登於《電子工程專輯》雜誌2022年2月號

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論