音訊自動化測試

迷霧綠洲發表於2017-02-25

需求

在嵌入式系統中音訊的重要性一直被忽視,影象的指標一般都是放在首位的。產生這個問題的一個很大原因就是過去的民用的嵌入式系統不是很多,大部分都是工業用的。現在產生了很多的桌上裝置和便攜裝置的產品,也就催生了不少的音訊處理應用
。音訊也抽象出了不少的評價指標,比如訊雜比 幅頻響應 諧波失真…,音訊也走過單純靠耳朵聽來評價的時代。嵌入式系統的規模也越來越大,程式碼的迭代次數越來越多,週期越來越長,參與人數約增多 ,系統中的各模組之間的依賴也來越複雜,這就造成系統迭代中每個模組都會處於不穩定中。對於系統的測試也就需要在真個開發中就行測試,而不能在開發完成後再進行。
音訊測試一直以來都是存在連個極端,想簡單測都是跑起來錄音之後聽聽聲音沒啥噪聲和卡頓就算通過,如果全面測試就要對於所有的頻率和取樣率進行組合逐個引數進行上機器測試。簡單測試不能保證一些像增益過大的消頂,資料低位錯誤等很容易出現的現象,全面測試上機器跑最少也要幾個小時,對於開發初期十幾人的團隊程式碼每天怎麼也要更新十幾次,這樣時間上是無法保證能夠完成全面測試的。

方案

對於嵌入式的其他模組都是不需要系統外部模擬輸入就可以進行測試,比如sd卡的測試只是需要系統內部的檔案就可以當做sd模組的輸入,輸出可以直接用程式進行比對。就算需要模擬輸入的也不要很標準的輸入,比如ad 嵌入式的ad一般精度也就8bit ,3.3v 這樣的裝置能有個0.1v的精度就足夠了。
音訊測試輸入需要使用外部模擬輸入源,輸出也需要能夠進行模擬訊號的數字化處理。
這裡將音訊系統分成ad 和da兩部分,
ad部分的測試時這樣的:
這裡寫圖片描述
系統的輸入有pc機上的音訊軟體提供,這裡推薦cooledit軟體,他可以生成標準的各頻率的數字檔案並播放,同時可以使用錄音功能接入系統的輸出進行da的效能分析。
輸入:cooledit 生成標準頻率的sin訊號通過pc的line——out口接入系統音訊資料介面。
輸出:系統將輸入的訊號進行量化之後存成資料檔案。
輸出處理:pc上利用軟體進行資料分析,這裡使用matlab吃數字檔案進行時域和頻域的分析,生成結果寫入檔案。
da 測試:
這裡寫圖片描述
輸入:pc上軟體生成的標準頻率的sin 波形的pcm格式檔案,將檔案通過網路送入系統的輸出的數字介面。
輸出:pc上軟體進行錄音,將系統的輸出量化成為檔案,使用pc上的matlab進行分析。

相關文章