標題:
聲音信號采集處理器的LabVIEW設計
[打印本頁]
作者:
liu5678
時間:
2020-1-5 01:25
標題:
聲音信號采集處理器的LabVIEW設計
一、設計任務與要求
本次設計的目標是在查找和閱讀大量文獻的基礎(chǔ)上,學習和研究聲音信號分析,聲卡和LabVIEW的基本理論及其在實際應用中的主要解決方法,達到符合實際應用的工程要求。這個聲音信號采集分析處理器可以提供更便于操作,通用性更強的實時信號分析系統(tǒng),并且以計算機本身的聲卡代替專用的數(shù)據(jù)采集卡進行數(shù)據(jù)采集,不僅價格低廉,開發(fā)簡單,無需添加任何ADC和DAC硬件,即可將一臺計算機變成一臺集聲音信號的實時采樣分析,信號發(fā)生,信號存儲等多功能于一體的分析系統(tǒng),而且系統(tǒng)靈活性更強,可根據(jù)被測對象進行功能擴展,實現(xiàn)用戶自定義功能的分析系統(tǒng),提升分析效率。在LabVIEW平臺上完成信號發(fā)生、信號分析和人機交互界面設計,實現(xiàn)了聲音信號的濾波、頻譜分析、功率譜、幅度普和相位譜分析等多種功能。
二、設計總體框圖
圖 1 設計總框圖
三、聲卡特性及其參數(shù)(一)聲卡的作用
從數(shù)據(jù)采集的角度來看,聲卡是一種音頻范圍內(nèi)的數(shù)據(jù)采集卡,是計算機與外部的模擬量環(huán)境聯(lián)系的重要途徑。聲卡的主要功能包括錄制與播放、編輯和處理、MIDI接口三個部分。
(二)聲卡的工作原理
聲音的本質(zhì)是一種波,表現(xiàn)為振幅、頻率、相位等物理量的連續(xù)性變化。聲卡作為語音信號與計算機的通用接口,其主要功能就是將所獲取的模擬音頻信號轉(zhuǎn)換為數(shù)字信號,經(jīng)過DSP音效芯片的處理,將該數(shù)字信號轉(zhuǎn)換為模擬信號輸出。輸入時,麥克風或線路輸入(Line In)獲取的音頻信號通過A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號,送到計算機進行播放、錄音等各種處理;輸出時,計算機通過總線將數(shù)字化的聲音信號以PCM(脈沖編碼調(diào)制)方式送到D/A轉(zhuǎn)換器,變成模擬的音頻信號,進而通過功率放大器或線路輸出(Line Out)送到音箱等設備轉(zhuǎn)換為聲波。
(三)聲卡的硬件結(jié)構(gòu)
圖2是一個聲卡的硬件結(jié)構(gòu)示意圖。一般聲卡有4~5個對外接口。
圖 2 聲卡的硬件結(jié)構(gòu)
聲卡一般有Line In 和MicIn 兩個信號輸入,其中Line In為雙通道輸入,MicIn僅作為單通道輸入。后者可以接入較弱信號,幅值大約為0.02~0.2V。聲音傳感器(采用通用的麥克風)信號可通過這個插孔連接到聲卡。若由MicIn 輸入,由于有前置放大器,容易引入噪聲且會導致信號過負荷,故推薦使用Line In ,其噪聲干擾小且動態(tài)特性良好,可接入幅值約不超過1.5V的信號。
另外,輸出接口有2個,分別是WaveOut和SPK Out。WaveOut(或Line Out)給出的信號沒有經(jīng)過放大,需要外接功率放大器,例如可以接到有源音箱;SPKOut給出的信號是通過功率放大的信號,可以直接接到喇叭上。這些接口可以用來作為雙通道信號發(fā)生器的輸出。
(四)采樣位數(shù)
采樣位數(shù)可以理解為聲卡處理聲音的解析度。這個數(shù)值越大,解析度就越高,錄制和回放的聲音就越真實。我們首先要知道:電腦中的聲音文件是用數(shù)字0和1來表示的。所以在電腦上錄音的本質(zhì)就是把模擬聲音信號轉(zhuǎn)換成數(shù)字信號。反之,在播放時則是把數(shù)字信號還原成模擬聲音信號輸出。
聲卡的位是指聲卡在采集和播放聲音文件時所使用數(shù)字聲音信號的二進制位數(shù)。聲卡的位客觀地反映了數(shù)字聲音信號對輸入聲音信號描述的準確程度。8位代表2的8次方——256,16位則代表2的16次方——64。比較一下,一段相同的音樂信息,16位聲卡能把它分為64個精度單位進行處理,而8位聲卡只能處理256個精度單位,造成了較大的信號損失,最終的采樣效果自然是無法相提并論的。位數(shù)越高,在定域內(nèi)能表示的聲波振幅的數(shù)目越多,記錄的音質(zhì)也就越高。
(五)采樣頻率
每秒鐘采集聲音樣本的數(shù)量。采集頻率越高,記錄的聲音波形就越準確,保真度就越高。但采樣數(shù)據(jù)量相應變大,要求的存儲空間也越多。目前,聲卡的最高采樣頻率是44.1KHz,有些能達96KHz。一般將采樣頻率設為4擋,分別是44.1KHz、22.05KHz、11.025KHz、8KHz。
(六)緩沖區(qū)
與一般數(shù)據(jù)采集卡不同,聲卡面臨的D/A和A/D任務通常是連續(xù)的。為了在一個簡潔的結(jié)構(gòu)下較好地完成某個任務,聲卡緩沖區(qū)的設計有其獨到之處。為了節(jié)省CPU資源,計算機的CPU采用了緩沖區(qū)的工作方式。在這種工作方式下,聲卡的A/D、D/A都是對某一緩沖區(qū)進行操作。一般聲卡使用的緩沖區(qū)長度的默認值是8192字節(jié),也可以設置成8192字節(jié)或其整數(shù)倍大小的緩沖區(qū),這樣可以較好地保證聲卡與CPU的協(xié)調(diào)工作。聲卡一般只對20Hz~20KHz的音頻信號有較好的響應,這個頻率響應范圍已經(jīng)滿足了音頻信號測量的要求。
四、系統(tǒng)程序設計
(一)labview中有關(guān)聲卡介紹
利用聲卡作為聲音信號的DAQ卡,可以方便快捷地創(chuàng)建一個采集聲音信號的VI。與聲音信號相關(guān)的函數(shù)節(jié)點位于程序框圖下【函數(shù)】選板下【編程】函數(shù)選板的【圖形與聲音】函數(shù)子選板的【聲音】函數(shù)選板的各子選板,如圖3、4、5所示。
圖 3 聲音輸入子面板
圖 4 聲音輸出子面板
圖 5 聲音文件子面板
下面主要介紹【聲音】/【輸入】控件選板中相關(guān)控件的作用。
配置聲音輸入:配置聲音輸入設備(聲卡)參數(shù),用于獲取數(shù)據(jù)并且將數(shù)據(jù)傳送至緩沖區(qū)。
啟動聲音輸入采集:開始從設備上采集數(shù)據(jù),只有停止聲音輸入采集已經(jīng)被調(diào)用時,才需要使用該VI。
聲音輸入清零:停止聲音采集,清除緩沖區(qū),返回到任務的默認狀態(tài),并且釋放與任務有關(guān)的資源。
配置聲音輸出:用于配置聲音輸出設備的參數(shù),使用“寫入聲音輸出”VI將聲音寫入設備。
寫入聲音輸出:將數(shù)據(jù)寫入聲音輸出設備,如要連續(xù)寫入,必須使用配置聲音輸出VI配置設備,必須手動選擇所需多態(tài)實例。
聲音輸出清零:將任務返回到默認的未配置狀態(tài),并清空與任務相關(guān)的資源,任務變?yōu)闊o效。
(二)聲音信號的采集
要實現(xiàn)對聲音信號的采集,首先需要用麥克的聲音采集功能實現(xiàn)聲音信號到電信號的轉(zhuǎn)換,之后通過LabVIEW的配置聲音輸入子VI和寫入聲音文件子VI來完成聲音信號的采集。 聲音信號的采集程序框圖如圖6所示。 聲音信號采集前面板設計如圖7所示。
圖 6 聲音信號的采集程序框圖
圖 7 聲音信號采集前面板設計
(三)聲音信號的分析
頻譜分析是通過傅里葉變換把時域信號變換到頻域,對采集聲音文件的即時頻譜分析,需要運用LabVIEW中的頻譜測量控件,通過使用頻譜測量控件對其進行FFT分析,這樣時域信號就被轉(zhuǎn)換為頻域信號。采集聲音信號的頻譜分析如圖8所示。
圖 8 采集聲音信號的頻譜分析
使用LabVIEW中的FFT Power Spectrum.vi完成功率譜分析,使用FFT Spectrum(Mag-Phase).vi得到頻域信號的幅值普和相位譜。同時,為了防止采集信號發(fā)生泄露,對所采集信號進行加窗處理。采集聲音文件加窗后的功率譜和頻譜分析如圖9所示。
圖 9 采集聲音文件加窗后的功率譜和頻譜分析
信號進行加窗處理后的信號分析前面板如圖10所示。
圖 10 信號分析前面板
(四)報表生成
生成報表的框圖如圖11所示。生成結(jié)果如圖12所示。
圖 11 生成報表
圖 12 生成報表結(jié)果
(五)運行結(jié)果
將程序調(diào)節(jié)為單通道采集、44.1kHz采樣頻率、連續(xù)采樣,開始運行程序?梢钥吹綂A雜各種干擾的原始信號、濾波后的平滑信號、頻譜分析信號,以及功率譜和加窗后的頻譜分析。運行結(jié)果如圖13、14所示。
圖 13 運行結(jié)果1
圖 14 運行結(jié)果2
51hei.png
(4.9 KB, 下載次數(shù): 153)
下載附件
2020-1-5 01:40 上傳
全部資料51hei下載地址:
聲音信號采集處理器.zip
(84.66 KB, 下載次數(shù): 231)
2020-1-5 01:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
zyx955196
時間:
2020-3-4 14:13
老哥可以啊,找了這么久終于找到這方面的了
作者:
liu5678
時間:
2020-3-28 23:27
為什么沒有評分和黑幣呢?admin
作者:
lazykumaz
時間:
2020-4-2 19:32
謝謝,很有用。
作者:
xmz950923
時間:
2020-10-25 10:29
感謝,十分有用,謝謝老兄的奉獻.............
作者:
JY_Shmily
時間:
2021-3-24 20:34
文本中的提到的圖片老兄可否提供分享一下,想了解具體過程,謝謝大哥。。
作者:
丑der
時間:
2021-12-14 16:12
用的什么版本呀
作者:
lj0006164219
時間:
2022-4-11 10:56
真不錯
作者:
liu5678
時間:
2023-9-8 21:02
丑der 發(fā)表于 2021-12-14 16:12
用的什么版本呀
14版本
作者:
fxq1291097305
時間:
2024-11-22 00:22
太厲害了,最近在做這方面的項目
作者:
禹你同在
時間:
2025-1-8 15:22
感謝啊,正好做到關(guān)于這方面的研究,互幫互助
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1