一種音頻信號(hào)一致性對(duì)比方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及音頻數(shù)據(jù)分析處理領(lǐng)域,尤其是涉及一種音頻信號(hào)一致性對(duì)比方法。
【背景技術(shù)】
[0002] 在廣播電臺(tái)的整個(gè)傳輸、監(jiān)控鏈路中,都是針對(duì)音頻的物理指標(biāo)進(jìn)行檢測(cè)的,比 如:是否停播、電平偏低或偏高、反相等等。但對(duì)于音頻的內(nèi)容是否正確缺少檢測(cè)手段,例如 總控最后輸出的信號(hào)是否是直播室調(diào)音臺(tái)輸出的信號(hào),空中發(fā)射信號(hào)是否是總控末級(jí)輸出 的信號(hào)等問(wèn)題目前沒(méi)有合適的檢測(cè)手段,只有等發(fā)生了事故才能查知。
[0003] 中華人民共和國(guó)國(guó)家知識(shí)產(chǎn)權(quán)局于2010年12月01日公開(kāi)了公開(kāi)號(hào)為 CN101902677A的專利文獻(xiàn),名稱是音頻檢測(cè)裝置及方法,該裝置包括:MIC電路檢測(cè)模塊和 發(fā)聲電路檢測(cè)模塊;MIC電路檢測(cè)模塊,用于獲取MIC電路采樣后的正弦波信號(hào)的幅度與 頻率,根據(jù)幅度與頻率確定MIC電路是否合格,并輸出正弦波信號(hào);發(fā)聲電路檢測(cè)模塊包 括:具有MIC電路的轉(zhuǎn)換板以及處理器;轉(zhuǎn)換板,用于采樣發(fā)聲電路輸出的模擬信號(hào),并 將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),發(fā)送至處理器;處理器,用于對(duì)數(shù)字信號(hào)的幅度與頻率進(jìn)行 分析處理,判斷發(fā)聲電路是否合格。此方案無(wú)法對(duì)音頻信號(hào)進(jìn)行一致性的判斷。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的不能對(duì)音頻信號(hào)一致性進(jìn)行準(zhǔn)確判斷的技 術(shù)問(wèn)題,提供一種可以通過(guò)對(duì)音頻的特征信號(hào)分析,檢測(cè)兩路信號(hào)內(nèi)容是否一致的音頻信 號(hào)一致性對(duì)比方法,便于廣播電臺(tái)及時(shí)發(fā)現(xiàn)播出故障。
[0005] 本發(fā)明針對(duì)上述技術(shù)問(wèn)題主要是通過(guò)下述技術(shù)方案得以解決的:一種音頻信號(hào)一 致性對(duì)比方法,包括以下步驟: 501、 從第一路音頻信號(hào)中獲取N個(gè)采樣數(shù)據(jù)作為第一路采樣數(shù)據(jù),從第二路音頻信號(hào) 中獲取N個(gè)采樣數(shù)據(jù)作為第二路采樣數(shù)據(jù); 502、 將第一路采樣數(shù)據(jù)后面補(bǔ)0擴(kuò)展至長(zhǎng)度為2N,將第二路采樣數(shù)據(jù)后面補(bǔ)0擴(kuò)展至 長(zhǎng)度為2N; 503、 對(duì)擴(kuò)展后的第一路采樣數(shù)據(jù)進(jìn)行快速傅里葉變換然后求共輒得到第一路數(shù)據(jù),對(duì) 擴(kuò)展后的第二路采樣數(shù)據(jù)進(jìn)行快速傅里葉變換然后求共輒得到第二路數(shù)據(jù),求第一路數(shù)據(jù) 和第二路數(shù)據(jù)的互相關(guān)函數(shù),在對(duì)互相關(guān)函數(shù)進(jìn)行快速傅里葉變換,得到相似性數(shù)據(jù); 504、 選取相似性數(shù)據(jù)中絕對(duì)值的最大值,然后計(jì)算相似度值和最大值偏移量; 505、 如果相似度值大于或等于一致性閾值,則認(rèn)為第一路采樣數(shù)據(jù)和第二路采樣數(shù)據(jù) 一致,對(duì)比流程結(jié)束;如果相似度小于一致性閾值,則進(jìn)入步驟S06 ; 506、 判斷第一路采樣數(shù)據(jù)和第二路采樣數(shù)據(jù)是否已經(jīng)經(jīng)過(guò)近似包絡(luò)線處理,如果沒(méi) 有,則對(duì)第一路采樣數(shù)據(jù)和第二路采樣數(shù)據(jù)進(jìn)行近似包絡(luò)線處理,然后重復(fù)步驟S02至 S05 ;如果已經(jīng)經(jīng)過(guò)近似包絡(luò)線處理,則判定第一路采樣數(shù)據(jù)和第二路采樣數(shù)據(jù)不一致。
[0006] 上述過(guò)程可以較為準(zhǔn)確地判斷第一路采樣信號(hào)和第二路采樣信號(hào)的相似度。根據(jù) 計(jì)算出的偏移量對(duì)音頻信號(hào)偏移后,可以更為準(zhǔn)確地計(jì)算音頻信號(hào)的一致性。
[0007] 作為優(yōu)選,相似度值ratio計(jì)算公式如下: ratio=fSamplemax*M/sum 式中,fSample_為相似性數(shù)據(jù)中絕對(duì)值的最大值,M為相似性數(shù)據(jù)的個(gè)數(shù),sum為所有 相似性數(shù)據(jù)的絕對(duì)值的和。
[0008] 作為優(yōu)選,最大值偏移量offset根據(jù)以下方法確定:fSample_為相似性數(shù)據(jù)中 的第i個(gè)數(shù)據(jù),如果i小于或等于M/2,則offset=i;如果i大于M/2,則offset=i-M/2; fSample_為相似性數(shù)據(jù)中絕對(duì)值的最大值,Μ為相似性數(shù)據(jù)的個(gè)數(shù)。
[0009] 作為優(yōu)選,近似包絡(luò)線處理具體為:將第一路采樣數(shù)據(jù)劃分為長(zhǎng)度為2毫秒的窗 口,從每個(gè)窗口中取最大值形成第一窗口最大數(shù)據(jù)*X1 ;將第二路采樣數(shù)據(jù)劃分為長(zhǎng)度為2 毫秒的窗口,從每個(gè)窗口中取最大值形成第二窗口最大數(shù)據(jù)*Y1 ;計(jì)算第一路采樣數(shù)據(jù)的 絕對(duì)值的均值meanXl;計(jì)算第二路采樣數(shù)據(jù)的絕對(duì)值的均值meanYl;將*X1中的各個(gè)數(shù)據(jù) 減去meanXl,所獲得的數(shù)據(jù)作為第一路采樣數(shù)據(jù);將*Y1中的各個(gè)數(shù)據(jù)減去meanYl,所獲得 的數(shù)據(jù)作為第二路采樣數(shù)據(jù)。
[0010] 對(duì)于音量比較小且底噪明顯的音頻內(nèi)容,直接進(jìn)行步驟S02-S05的計(jì)算得出的相 似度比較小,一般會(huì)小于一致性閾值,此時(shí)進(jìn)行近似包絡(luò)線處理后可以消除小信號(hào)干擾,提 高判別率。
[0011] 作為優(yōu)選,所述一致性閾值的取值范圍為20-30。
[0012] 通過(guò)一定量的采樣分析后可以定位出準(zhǔn)確的一致性閾值。
[0013] 作為優(yōu)選,當(dāng)連續(xù)三次判定第一路采樣數(shù)據(jù)和第二路采樣數(shù)據(jù)不一致則認(rèn)定第一 路音頻信號(hào)和第二路音頻信號(hào)不一致。
[0014] 當(dāng)出現(xiàn)第一路音頻信號(hào)和第二路音頻信號(hào)不一致的情況時(shí),可以進(jìn)行預(yù)警,提示 工作人員進(jìn)行修正或維護(hù)。
[0015] 本方案可以用于以下場(chǎng)合: 電臺(tái)總控: 用于判斷總控末級(jí)輸出信號(hào)和調(diào)音臺(tái)輸出信號(hào)的一致性; 總控末級(jí)信號(hào)和空收信號(hào)的一致性; 發(fā)射臺(tái): 空收信號(hào)和光端機(jī)輸出信號(hào)的一致性; 監(jiān)測(cè)中心: 用戶判斷播出信號(hào)是否被干擾或者侵入; 本發(fā)明帶來(lái)的實(shí)質(zhì)性效果是,可以可靠地計(jì)算出兩路音頻信號(hào)的相似度以及偏移量, 消除了音頻信號(hào)衰減的影響,具有極高的判斷準(zhǔn)確度。
【附圖說(shuō)明】
[0016] 圖1是本發(fā)明的一種流程圖。
【具體實(shí)施方式】
[0017] 下面通過(guò)實(shí)施例,并結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步具體的說(shuō)明。
[0018] 實(shí)施例:本實(shí)施例的一種音頻信號(hào)一致性對(duì)比方法,如圖1所示,包括以下步驟: 錄制一定采樣點(diǎn)個(gè)數(shù)的音頻數(shù)據(jù),首先擴(kuò)展長(zhǎng)度為兩倍,將后面的賦值為0。
[0019] floatfSample[N*2] fSample[i] = 0N<i<N*2 然后將采樣數(shù)據(jù)進(jìn)行FFT變換,F(xiàn)FT算法描述如下: 根據(jù)離散傅氏變換的奇、偶、虛、實(shí)等特性,對(duì)離散傅立葉變換的算法進(jìn)行改進(jìn)獲得快 速傅氏變換算法FFT,設(shè)x(n)為N項(xiàng)的復(fù)數(shù)序列,由DFT變換,任一X(m)的計(jì)算都需要N次 復(fù)數(shù)乘法和N-1次復(fù)數(shù)加法,而一次復(fù)數(shù)乘法等于四次實(shí)數(shù)乘法和兩次實(shí)數(shù)加法,一次復(fù) 數(shù)加法等于兩次實(shí)數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次"運(yùn)算"(四次 實(shí)數(shù)乘法和四次實(shí)數(shù)加法),那么求出N項(xiàng)復(fù)數(shù)序列的X(m),即N點(diǎn)DFT變換大約就需要 N~2次運(yùn)算。在FFT中,利用WN的周期性和對(duì)稱性,把一個(gè)N項(xiàng)序列(設(shè)N= 2k,k為正整 數(shù)),分為兩個(gè)N/2項(xiàng)的子序列,每個(gè)N/2點(diǎn)DFT變換需要(N/2) 2次運(yùn)算,再用N次運(yùn)算把 兩個(gè)N/2點(diǎn)的DFT變換組合成一個(gè)N點(diǎn)的DFT變換。這樣變換以后,總的運(yùn)算次數(shù)就變成 糾2*(~/2)~2 =糾(1^2)/2,節(jié)省了大約50%的運(yùn)算量。
1 ^η^N 將FFT預(yù)算后的兩路采樣數(shù)據(jù),求共輒,再進(jìn)行一次FFT