本申請涉及信號處理領(lǐng)域,具體地,涉及一種信號處理方法及系統(tǒng)。
背景技術(shù):
隨著信號數(shù)字化的發(fā)展,由于數(shù)字信號如數(shù)字音頻信號在傳輸時更方便、抗干擾性更強(qiáng)、更可靠,在處理時處理速度更快、精度更高,因此,經(jīng)常需要將模擬信號轉(zhuǎn)化為數(shù)字信號進(jìn)行傳輸和處理?,F(xiàn)有技術(shù)中,將模擬信號轉(zhuǎn)化為數(shù)字信號的處理過程很簡單,一般就是直接采用模數(shù)轉(zhuǎn)換器(adc,analog-to-digitalconverter),將輸入的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換,輸出數(shù)字信號繼續(xù)進(jìn)行處理。但是,在將模擬信號通過adc變成數(shù)字信號的過程中,通常會引入量化噪聲,輸入信號與量化噪聲的信噪比(snr,signalnoiseratio)可根據(jù)公式(1)計算得到:
snr=6.02b+1.76+10*log10(fm/2*fmax)(1)
公式(1)中,b為量化位數(shù),fm為采樣頻率,fmax為輸入模擬信號的最高帶寬。
從公式(1)可以看出,信號量化后的位數(shù)每增加1位,snr就會提高約6db。那么,對于幅度較大的輸入信號,有效的量化位數(shù)就越多,就能獲得較高的snr;而對于幅度較小的輸入信號,有效量化位數(shù)相對少,所以信號量化后只能獲得較低的snr,甚至可能出現(xiàn)小信號在量化后完全被噪聲污染的情況。
技術(shù)實現(xiàn)要素:
本申請實施例中提供了一種信號處理方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中信號在量化后snr較低的問題。
根據(jù)本申請實施例的第一個方面,提供了一種信號處理方法,包括:檢測單元檢測處理信號的幅度,并由增益計算單元根據(jù)該處理信號的幅度確定第一增益;其中,該處理信號包括:輸入的模擬信號、和/或前一預(yù)定時長內(nèi)輸出的數(shù)字信號;模擬信號放大單元將該模擬信號放大第一增益;adc模擬單元對放大后的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換得到數(shù)字信號;adc數(shù)字單元對數(shù)字信號進(jìn)行編碼得到多個樣本,并在編碼后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù);數(shù)字增益衰減單元根據(jù)該各樣本對應(yīng)的第一增益的大小,衰減該各樣本,輸出衰減后的數(shù)字信號。
根據(jù)本申請實施例的第二個方面,提供了一種信號處理方法,包括:數(shù)字音量檢測單元統(tǒng)計輸入的數(shù)字信號在一預(yù)定時間長度內(nèi)的幅度值,并根據(jù)該數(shù)字信號的幅度確定第二增益;數(shù)字增益放大單元根據(jù)第二增益放大該數(shù)字信號,并在放大后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù);dac(digital-to-analogconverter,數(shù)模轉(zhuǎn)換器)數(shù)字單元對各樣本與用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)進(jìn)行拆分,并對該樣本數(shù)據(jù)進(jìn)行內(nèi)插處理;dac模擬單元將內(nèi)插處理后的樣本數(shù)據(jù)轉(zhuǎn)換為模擬信號;模擬信號放大單元根據(jù)該各樣本對應(yīng)的第二增益的大小,衰減該模擬信號,輸出衰減后的模擬信號。
根據(jù)本申請實施例的第三個方面,提供了一種信號處理系統(tǒng),包括:檢測單元,用于檢測處理信號的幅度;增益計算單元,用于根據(jù)該處理信號的幅度確定第一增益;其中,該處理信號包括:輸入的模擬信號、和/或前一預(yù)定時長內(nèi)輸出的數(shù)字信號;模擬信號放大單元,用于將該模擬信號放大第一增益;adc模擬單元,用于對放大后的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換得到數(shù)字信號;adc數(shù)字單元,用于對數(shù)字信號進(jìn)行編碼得到多個樣本,并在編碼后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù);數(shù)字增益衰減單元,用于根據(jù)該各樣本對應(yīng)的第一增益的大小,衰減該各樣本,輸出衰減后的數(shù)字信號。
根據(jù)本申請實施例的第四個方面,提供了一種信號處理系統(tǒng),包括:數(shù)字音量檢測單元,用于統(tǒng)計輸入的數(shù)字信號在一預(yù)定時間長度內(nèi)的幅度值,并根據(jù)該數(shù)字信號的幅度確定第二增益;數(shù)字增益放大單元,用于根據(jù)第二增益放大該數(shù)字信號,并在放大后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù);dac數(shù)字單元,用于對各樣本與用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)進(jìn)行拆分,并對該樣本數(shù)據(jù)進(jìn)行內(nèi)插處理;dac模擬單元,用于將內(nèi)插處理后的樣本數(shù)據(jù)轉(zhuǎn)換為模擬信號;模擬信號放大單元,用于根據(jù)該各樣本對應(yīng)的第二增益的大小,衰減該模擬信號,輸出衰減后的模擬信號。
采用本申請實施例中提供的信號處理方法及系統(tǒng),根據(jù)處理的模擬信號或數(shù)字信號的幅度,來對輸入信號進(jìn)行放大,并將放大的增益大小增加至樣本的預(yù)定位置,并在數(shù)模轉(zhuǎn)換或模數(shù)轉(zhuǎn)換之后,衰減相應(yīng)大小的增益,以恢復(fù)原有信號幅度,經(jīng)上述處理能夠提升信號的量化信噪比。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1示出了根據(jù)本申請實施例一的信號處理系統(tǒng)框圖;
圖2示出了根據(jù)本申請實施例一的信號處理方法的流程圖;
圖3示出了根據(jù)本申請實施例一的增加了增益數(shù)據(jù)的pcm數(shù)據(jù)格式示意圖;
圖4示出了根據(jù)本申請實施例二的信號處理系統(tǒng)框圖;
圖5示出了根據(jù)本申請實施例二的信號處理方法的流程圖。
具體實施方式
在實現(xiàn)本申請的過程中,發(fā)明人發(fā)現(xiàn),在現(xiàn)有技術(shù)中,對于幅度較大的輸入信號,有效的量化位數(shù)就越多,就能獲得較高的snr;而對于幅度較小的輸入信號,有效量化位數(shù)相對少,所以信號量化后只能獲得較低的snr,甚至可能出現(xiàn)小信號在量化后完全被噪聲污染的情況。
為了提高adc的snr,在相關(guān)技術(shù)中,其中一種方法是提高adc采樣精度,例如24bitadcsnr就會遠(yuǎn)高于16bitadcsnr。但發(fā)明人認(rèn)為,提高adc采樣精度會帶來芯片成本和功耗增加。
在專利“cn200420121816.1.a一種信號處理裝置”中提供了一種根據(jù)輸入信號幅值的大小動態(tài)調(diào)整對輸入信號的縮放比率,進(jìn)而從整體上提高量化snr的方案。但該方案在改變信號的增益時會引入拉鏈噪聲(zippernoise)。為了解決zippernoise問題,“cn200610114532.3,一種信號處理方法”對該方法作了進(jìn)一步改進(jìn),引入了過零檢測電路,讓增益改變發(fā)生在模擬信號的過零點。但是由于adc在進(jìn)行數(shù)模轉(zhuǎn)換過程中會引入延遲,無法保證模擬信號放大和數(shù)字信號衰減發(fā)生在同一個樣本時刻,因此zippernoise問題仍然存在。
為解決上述問題,本申請?zhí)峁┝艘环N信號處理方法及系統(tǒng),根據(jù)處理的模擬信號或數(shù)字信號的幅度,來對輸入信號進(jìn)行放大,并將放大的增益大小增加至樣本的預(yù)定位置,并在數(shù)模轉(zhuǎn)換或模數(shù)轉(zhuǎn)換之后,針對相應(yīng)的樣本衰減相應(yīng)大小的增益,恢復(fù)原有信號幅度,經(jīng)上述處理能夠提升輸入信號的量化信噪比。
另外,由于本案中采用了新的增益同步機(jī)制,因此,在提高了adc和dac量化信噪比同時避免了改變增益時引入zippernoise。
為了使本申請實施例中的技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本申請的示例性實施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實施例僅是本申請的一部分實施例,而不是所有實施例的窮舉。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
實施例一
圖1示出了根據(jù)本申請實施例一的信號處理系統(tǒng)框圖。根據(jù)本申請實施例一的信號處理系統(tǒng)是一adc實現(xiàn)系統(tǒng)。該實現(xiàn)系統(tǒng)基于常見的sigma-deltaadc結(jié)構(gòu),增加了基于信號幅度來動態(tài)調(diào)整pga(programmergainamplifier)增益的機(jī)制。
如圖1所示,根據(jù)本申請實施例一的adc實現(xiàn)系統(tǒng)100包括如下功能單元:模擬信號幅度檢測子單元101,數(shù)字音量檢測子單元102,增益計算單元103,模擬信號放大單元104,adc模擬單元105,adc數(shù)字單元106,以及數(shù)字增益衰減單元107,延遲單元108。
具體地,各功能單元的功能描述如下:
模擬信號幅度檢測子單元101,用于檢測輸入的模擬信號幅度;以及數(shù)字音量檢測子單元102,用于統(tǒng)計衰減后的數(shù)字信號在前一預(yù)定時間長度內(nèi)的幅度值;增益計算單元103,具體用于在該模擬信號的幅度小于預(yù)定幅度閾值,且該前一預(yù)定時間長度內(nèi)的幅度值小于預(yù)定幅度閾值時,確定該第一增益大小為第五值;在其他情況下,確定該第一增益大小為第六值,其中,所述第五值大于所述第六值;模擬信號放大單元104,用于將該模擬信號放大第一增益;adc模擬單元105,用于對對放大后的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換得到數(shù)字信號;adc數(shù)字單元106,用于對數(shù)字信號進(jìn)行編碼得到多個樣本,并在編碼后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù);數(shù)字增益衰減單元107,用于根據(jù)該各樣本對應(yīng)的第一增益的大小,衰減該各樣本,輸出衰減后的數(shù)字信號;延遲單元108,用于將該增益計算單元103計算得到的該第一增益,延遲n個時間長度傳輸至該adc數(shù)字單元106,其中,該n個時間長度為該模擬信號放大單元、adc模擬單元、和adc數(shù)字單元之間的延時之和。
在本申請實施例的另一具體實施方式中,也可以不包括數(shù)字音量檢測子單元102,此時,該增益計算單元103在模擬信號幅度檢測子單元101檢測到的該模擬信號的幅度小于預(yù)定幅度閾值時,確定該第一增益大小為第一值;在該模擬信號的幅度大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第二值,其中,第一值大于第二值。
在本申請實施例的再一具體實施方式中,也可以不包括模擬信號幅度檢測子單元101,此時該增益計算單元103,在數(shù)字音量檢測子單元102統(tǒng)計到的該前一預(yù)定時間長度內(nèi)的幅度值小于預(yù)定幅度閾值時,確定該第一增益大小為第三值;在該前一預(yù)定時間長度內(nèi)的幅度值大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第四值,其中,第三值大于第四值。
在具體實施時,該預(yù)定幅度閾值可以是預(yù)先設(shè)定的值,具體地,可以是例如-12dbfs、-18dbfs等值。
在具體實施時,上述第一值、第二值、第三值、第四值、第五值和第六值可以是預(yù)先設(shè)定的值,具體地,具體地,第一值、第三值、第五值可以為例如12db、16db等;第二值、第四值、第六值可以為例如0db、4db等,本申請對此均不作限制。應(yīng)當(dāng)理解,對于第一值大于第二值、第三值大于第四值、第五值大于第六值的限定,是為保證使幅度較小的信號的增益更大,從而使得幅度較小的信號的量化信噪比得到更大的提升。
在具體實施時,adc數(shù)字單元可以將用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù)放在相應(yīng)的該樣本之后8bit或該樣本之前8bit。
在具體實施時,該數(shù)字增益衰減單元具體用于:從該預(yù)定位置獲取各樣本對應(yīng)的第一增益大??;并根據(jù)該對應(yīng)的第一增益大小,計算該各樣本的衰減增益;根據(jù)該衰減增益衰減各樣本。
以上對根據(jù)本申請實施例一的adc系統(tǒng)的各個功能單元進(jìn)行了描述,接下來,將結(jié)合上述系統(tǒng)實現(xiàn),對根據(jù)本申請實施例的信號處理方法進(jìn)行詳細(xì)描述。
圖2示出了根據(jù)本申請實施例一的信號處理方法的流程圖。
如圖2所示,根據(jù)本申請實施例一的信號處理方法包括以下步驟:
s201,檢測單元檢測處理信號的幅度,并由增益計算單元根據(jù)該處理信號的幅度確定第一增益;其中,該處理信號包括:輸入的模擬信號、和/或前一預(yù)定時長內(nèi)輸出的數(shù)字信號。
在本申請實施例中,檢測單元可以包括用于預(yù)測輸入信號的模擬信號幅度檢測單元;以及用于反饋前一時間長度內(nèi)的輸出信號幅度的數(shù)字音量檢測單元。
具體地,模擬信號幅度檢測子單元可以檢測模擬信號的幅度peak_level,如果信號幅度小于門限值threshold_peak_analog,則輸出一個使能信號enable_pga_gain_inc,判斷邏輯具體可以如下:
上述判斷邏輯使得模擬信號幅度檢測子單元一旦檢測到輸入信號幅度突然變大,就通知增益計算單元把增益調(diào)小,防止信號溢出而產(chǎn)生失真。
具體地,數(shù)字音量檢測子單元可以統(tǒng)計一段時間內(nèi)的樣本幅度digital_level,例如,采用pcm編碼時,統(tǒng)計pcm樣本的樣本幅度;具體地,可以統(tǒng)計例如10ms~50ms內(nèi)pcm樣本最大幅度、平均幅度或rms幅度,判斷邏輯具體可以如下:
其中,threshold_adc_level表示增加pga增益對應(yīng)pcm樣本門限值,即,預(yù)設(shè)的數(shù)字音量大小,pga_gain_inc表示pga增益增加值。
上述判斷邏輯使得數(shù)字音量檢測子單元可以根據(jù)前一時間長度內(nèi)的輸出信號的音量的大小,來調(diào)整增益計算單元的增益,如果音量較大就把增益調(diào)小,如果音量較小,就將增益調(diào)大。
具體地,增益計算單元可以根據(jù)模擬信號幅度檢測子單元輸出的使能信號enable_pga_gain_inc的值,選擇實際控制模擬信號放大單元的增益值(pga_gain)。該單元的實現(xiàn)邏輯可以如下:
其中,pga_gain_init中保存的是pga增益的初始值,pga_gain_cur中保存的是數(shù)字音量檢測子單元計算得到的用來放大小信號的pga增益值。
在具體實施時,pga_gain_init可以設(shè)置為0db,pga_gain_inc可以設(shè)置為12db,threshold_peak_analog可以設(shè)置為-18dbfs,threshold_adc_level可以設(shè)置為-18dbfs等。即,對于幅度小于-18dbfs的信號,將其放大12db;對于幅度大于-18dbfs的信號,則不對其放大。應(yīng)當(dāng)理解,上述參數(shù)的示出僅用于舉例說明本申請的實施,并不用于限制本申請。
除上述實施方式之外,在s201的另一種具體實施方式中,當(dāng)該處理信號包括輸入的模擬信號時,檢測單元檢測處理信號的幅度,并由增益計算單元根據(jù)該處理信號的幅度確定第一增益,具體可以包括:模擬信號幅度檢測子單元檢測輸入的模擬信號幅度;增益計算單元在該模擬信號的幅度小于預(yù)定幅度閾值時,確定該第一增益大小為第一值;增益計算單元在該模擬信號的幅度大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第二值。
在s201的又一種具體實施方式中,當(dāng)該處理信號包括前一預(yù)定時長內(nèi)輸出的數(shù)字信號時,檢測單元檢測處理信號的幅度,并由增益計算單元根據(jù)該處理信號的幅度確定第一增益,具體可以包括:數(shù)字音量檢測子單元統(tǒng)計衰減后的數(shù)字信號在前一預(yù)定時間長度內(nèi)的幅度值;增益計算單元在該前一預(yù)定時間長度內(nèi)的幅度值小于預(yù)定幅度閾值時,確定該第一增益大小為第三值;增益計算單元在該前一預(yù)定時間長度內(nèi)的幅度值大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第四值。
上述s201的第二種和第三種具體實施方式的實施均可參考第一種具體實施方式的實施,重復(fù)之處不再贅述。
s202,模擬信號放大單元將該模擬信號放大第一增益。
在具體實施時,該模擬信號放大單元可以采用本領(lǐng)域的常用pga來實現(xiàn)對輸入模擬信號的放大功能,此處不再贅述。
s203,adc模擬單元對放大后的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換得到數(shù)字信號。
在具體實施時,adc模擬單元可以使用本領(lǐng)域的常用技術(shù)實現(xiàn),例如,采用sigma-delta調(diào)制器(modulator)把經(jīng)過pga放大的模擬信號轉(zhuǎn)換為過采樣的1比特流,此處不再贅述。
s204,adc數(shù)字單元對數(shù)字信號進(jìn)行編碼得到多個樣本,并在編碼后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù)。
在具體實施時,adc數(shù)字單元可以采用抽取濾波器(decimationfilter)實現(xiàn),以adc數(shù)字單元采用pcm編碼為例,adc數(shù)字單元可以把sigma-deltamodulator輸出的過采樣的1比特流轉(zhuǎn)換為pcm樣本。同時在編碼后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù)。
具體地,可以把pga增益計算單元計算的pga增益同對應(yīng)pcm樣本按照圖3格式進(jìn)行打包。
如圖3所示,如果輸出16bitpcm,則每個樣本按16bit整數(shù)來保存。如果輸出24bitpcm,則每個樣本按24bit整數(shù)來保存。例如使用8bit來表示增益,則16bitpcm數(shù)據(jù)變成24bit,24bitpcm數(shù)據(jù)變成32bit,增益數(shù)據(jù)可以放在pcm數(shù)據(jù)前面,也可以放在pcm數(shù)據(jù)后面。
s205,延遲單元將該第一增益延遲n個時間長度傳輸至該adc數(shù)字單元,其中,該n個時間長度為該模擬信號放大單元、adc模擬單元、和adc數(shù)字單元之間的延時之和。
由于從模擬信號放大單元到adc數(shù)字單元這條數(shù)據(jù)處理路徑中存在延時(主要是decimationfilter的groupdelay引起的),因此pga_gain信號也可以經(jīng)過若干個延時,以跟pcm數(shù)據(jù)對齊。
在具體實施時,該延遲單元可以采用寄存器實現(xiàn),該寄存器在配置的n個時間長度后,將存儲的pga_gain發(fā)送給adc數(shù)字單元。
應(yīng)當(dāng)理解,s205可以與s202-s204同步執(zhí)行。
s206,數(shù)字增益衰減單元根據(jù)該各樣本對應(yīng)的第一增益的大小,衰減該各樣本,輸出衰減后的數(shù)字信號。
在具體實施時,數(shù)字增益衰減單元可以從預(yù)定位置處獲取各樣本對應(yīng)的第一增益大??;并根據(jù)該對應(yīng)的第一增益大小,計算該各樣本的衰減增益;根據(jù)該衰減增益衰減各樣本。
具體地,數(shù)字增益衰減單元可以把a(bǔ)dc數(shù)字單元輸出數(shù)據(jù)分解為pcm數(shù)據(jù)和增益數(shù)據(jù)(pga_gain),并計算每個pcm樣本衰減增益:gain=pga_gain_init-pga_gain,并對相應(yīng)pcm樣本進(jìn)行衰減。
在具體實施時,經(jīng)過此模塊處理后,可以丟棄增益數(shù)據(jù),只需要輸出pcm數(shù)據(jù)。
至此,完成了輸入信號的模數(shù)轉(zhuǎn)換。對于幅度小于-18dbfs的小信號,通過上述信號處理方法后,adc量化的snr可以提升12db。
采用本申請實施例中的信號處理方法及系統(tǒng),根據(jù)處理的模擬信號的幅度,來對輸入信號進(jìn)行放大,并將放大的增益大小增加至樣本的預(yù)定位置,并在數(shù)模轉(zhuǎn)換之后,針對相應(yīng)的樣本衰減相應(yīng)大小的增益,恢復(fù)原有信號幅度,經(jīng)上述處理能夠提升輸入信號的量化信噪比。
實施例二
圖4示出了根據(jù)本申請實施例二的信號處理系統(tǒng)框圖。根據(jù)本申請實施例二的信號處理系統(tǒng)是一dac實現(xiàn)系統(tǒng)。該實現(xiàn)系統(tǒng)基于常見的sigma-deltadac結(jié)構(gòu),增加了基于信號幅度來動態(tài)調(diào)整pa(poweramplifier)增益的機(jī)制。
如圖4所示,根據(jù)本申請實施例二的dac實現(xiàn)系統(tǒng)400包括如下功能單元:數(shù)字音量檢測單元401,數(shù)字增益放大單元402,dac數(shù)字單元403,dac模擬單元404,模擬信號放大單元405,延遲單元406。
具體地,各功能單元的功能描述如下:
數(shù)字音量檢測單元401,用于統(tǒng)計輸入的數(shù)字信號在一預(yù)定時間長度內(nèi)的幅度值,并根據(jù)該數(shù)字信號的幅度確定第二增益;數(shù)字增益放大單元402,用于根據(jù)第二增益放大該數(shù)字信號,并在放大后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù);dac數(shù)字單元403,用于對各樣本與用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)進(jìn)行拆分,并對該樣本數(shù)據(jù)進(jìn)行內(nèi)插處理;dac模擬單元404,用于將內(nèi)插處理后的樣本數(shù)據(jù)轉(zhuǎn)換為模擬信號;模擬信號放大單元405,用于根據(jù)該各樣本對應(yīng)的第二增益的大小,衰減該模擬信號,輸出衰減后的模擬信號。延遲單元406,用于將該dac數(shù)字單元拆分得到的第二增益延遲m個時間長度傳輸至該模擬信號放大單元,其中,該m個時間長度為該dac數(shù)字單元、dac模擬單元、和模擬信號放大單元之間的延時之和。
在具體實施時,數(shù)字增益放大單元402可以將用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)放在相應(yīng)的該樣本之后8bit或該樣本之前8bit。
以上對根據(jù)本申請實施例二的dac系統(tǒng)的各個功能單元進(jìn)行了描述,接下來,將結(jié)合上述系統(tǒng)實現(xiàn),對根據(jù)本申請實施例的信號處理方法進(jìn)行詳細(xì)描述。
圖5示出了根據(jù)本申請實施例二的信號處理方法的流程圖。
如圖5所示,根據(jù)本申請實施例二的信號處理方法包括以下步驟:
s501,數(shù)字音量檢測單元統(tǒng)計輸入的數(shù)字信號在一預(yù)定時間長度內(nèi)的幅度值,并根據(jù)該數(shù)字信號的幅度確定第二增益。
在具體實施時,數(shù)字音量檢測子單元可以在統(tǒng)計到前一預(yù)定時間長度內(nèi)的幅度值小于預(yù)定幅度閾值時,可以確定該第二增益大小為第七值;在該前一預(yù)定時間長度內(nèi)的幅度值大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第八值,其中,第七值大于第八值。具體地,該預(yù)定幅度閾值可以是預(yù)先設(shè)定的值,具體地,可以是例如-12dbfs、-18dbfs等值。上述第七值和第八值可以是預(yù)先設(shè)定的值,例如,第七值可以為例如12db、16db等;第八值可以為例如0db、4db等,本申請對此均不作限制。
在具體實施時,數(shù)字音量檢測單元可以統(tǒng)計一段時間樣本的最大幅度digital_level,例如,采用pcm編碼,則是統(tǒng)計pcm樣本的最大幅度,例如統(tǒng)計10ms~50ms內(nèi)pcm樣本最大幅度。
threshold_dac_level表示pa增益衰減所對應(yīng)pcm樣本門限值,即,用于區(qū)分幅度大小信號的閾值,pa_gain_dac表示pa增益衰減值。pa_gain_vol表示dac音量所對應(yīng)的pa增益。具體的判斷邏輯可以如下:
s502,數(shù)字增益放大單元根據(jù)第二增益放大該數(shù)字信號,并在放大后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)。
在具體實施時,數(shù)字增益放大單元可以根據(jù)第二增益pa_gain和pa_gain_vol來計算第三增益gain=pa_gain_vol-pa_gain,并對pcm樣本按計算得到的增益gain進(jìn)行放大。
具體地,pa_gain_vol可以設(shè)置為0db,pa_gain_dac可以設(shè)置為-12db,threshold_digital_level可以設(shè)置為-12dbfs。此時,當(dāng)輸入信號的幅度小于-12dbfs時,pa_gain=pa_gain_vol+pa_gain_dac,pa_gain等于-12db;而gain=pa_gain_vol-pa_gain,即,數(shù)字增益放大單元的放大增益為12db。即,對于幅度小于-12dbfs的信號,將其放大12db;對于幅度大于-12dbfs的信號,則不對其放大。應(yīng)當(dāng)理解,上述參數(shù)的示出僅用于舉例說明本申請的實施,并不用于限制本申請。
在具體實施時,數(shù)字增益放大單元進(jìn)一步將放大后的pcm樣本和對應(yīng)的pa增益值(pa_gain)打包發(fā)送給dac數(shù)字單元,打包格式可以參考圖3的數(shù)據(jù)格式。
s503,dac數(shù)字單元對各樣本與用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)進(jìn)行拆分,并對該樣本數(shù)據(jù)進(jìn)行內(nèi)插處理。
在具體實施時,dac數(shù)字單元可以把輸入的pcm數(shù)據(jù)和增益數(shù)據(jù)pa_gain按照圖3數(shù)據(jù)格式進(jìn)行分解,然后對pcm數(shù)據(jù)進(jìn)行內(nèi)插處理,將pcm數(shù)據(jù)轉(zhuǎn)變?yōu)檫^采樣1bit流x(n)。具體的,可以采用內(nèi)插濾波器interpolationfilter執(zhí)行內(nèi)插處理。
s504,dac模擬單元將內(nèi)插處理后的樣本數(shù)據(jù)轉(zhuǎn)換為模擬信號。
在具體實施時,dac模擬單元可以使用本領(lǐng)域常用的解調(diào)器,例如,sigma-delta解調(diào)器(demodulator)把過采樣的1比特流x(n)轉(zhuǎn)換為模擬信號x(t)。
s505,延遲單元將該第二增益延遲m個時間長度傳輸至該模擬信號放大單元,其中,該m個時間長度為該dac數(shù)字單元、dac模擬單元、和模擬信號放大單元之間的延時之和。
由于dac數(shù)字單元到模擬信號放大單元這條數(shù)據(jù)處理路徑中存在延時(主要是內(nèi)插濾波器interpolationfilter的groupdelay引起的),因此pa_gain信號也可以經(jīng)過若干個延時,以跟pcm數(shù)據(jù)對齊。
在具體實施時,該延遲單元可以采用寄存器實現(xiàn),該寄存器在配置的m個時間長度后,將存儲的pa_gain發(fā)送給模擬信號放大單元。
應(yīng)當(dāng)理解,s505可以與s503的內(nèi)插處理和s504同步執(zhí)行。
s506,模擬信號放大單元根據(jù)該各樣本對應(yīng)的第二增益的大小,衰減該模擬信號,輸出衰減后的模擬信號。
在具體實施時,模擬信號放大單元可以使用延遲單元傳輸過來的pa_gain來對輸入的模擬信號x(t)進(jìn)行放大,得到最終輸出信號y(t)。
具體地,如上所述,當(dāng)pa_gainvol設(shè)置為0db,pa_gain_dac設(shè)置為-12db,threshold_digital_level設(shè)置為-12dbfs時;當(dāng)輸入信號的幅度小于-12dbfs時,pa_gain=pa_gainvol+pa_gain_dac,pa_gain等于-12db,即,模擬信號放大單元對輸入的模擬信號x(t)放大-12db,即,對該模塊信號衰減12db,得到輸出信號y(t)。
至此,完成了輸入信號的數(shù)模轉(zhuǎn)換。對于幅度小于-12dbfs的小信號,通過上述信號處理方法后,dac量化的snr可以提升12db。
采用本申請實施例中的信號處理方法及系統(tǒng),根據(jù)處理的數(shù)字信號的幅度來對輸入信號進(jìn)行放大,并將放大的增益大小增加至樣本的預(yù)定位置,并在模數(shù)轉(zhuǎn)換之后,針對相應(yīng)的信號衰減相應(yīng)大小的增益,恢復(fù)原有信號幅度,經(jīng)上述處理能夠提升輸入信號的量化信噪比。
基于同一發(fā)明構(gòu)思,本申請實施例還提供了一種信號處理系統(tǒng),包括:檢測單元,用于檢測處理信號的幅度;增益計算單元,用于根據(jù)該處理信號的幅度確定第一增益;其中,該處理信號包括:輸入的模擬信號、和/或前一預(yù)定時長內(nèi)輸出的數(shù)字信號;模擬信號放大單元,用于將該模擬信號放大第一增益;adc模擬單元,用于對放大后的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換得到數(shù)字信號;adc數(shù)字單元,用于對數(shù)字信號進(jìn)行編碼得到多個樣本,并在編碼后的各樣本的預(yù)定位置,增加用于標(biāo)識該樣本對應(yīng)的第一增益大小的數(shù)據(jù);數(shù)字增益衰減單元,用于根據(jù)該各樣本對應(yīng)的第一增益的大小,衰減該各樣本,輸出衰減后的數(shù)字信號。
在具體實施時,該檢測單元具體可以包括:模擬信號幅度檢測子單元,用于檢測輸入的模擬信號幅度;該增益計算單元,具體用于在該模擬信號的幅度小于預(yù)定幅度閾值時,確定該第一增益大小為第一值;在該模擬信號的幅度大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第二值,其中,所述第一值大于所述第二值。
在具體實施時,該檢測單元具體包括:數(shù)字音量檢測子單元,用于統(tǒng)計衰減后的數(shù)字信號在前一預(yù)定時間長度內(nèi)的幅度值;該增益計算單元,具體用于在該前一預(yù)定時間長度內(nèi)的幅度值小于預(yù)定幅度閾值時,確定該第一增益大小為第三值;在該前一預(yù)定時間長度內(nèi)的幅度值大于或等于預(yù)定幅度閾值時,確定該第一增益大小為第四值,其中,所述第三值大于所述第四值。
在具體實施時,該檢測單元具體包括:模擬信號幅度檢測子單元,用于檢測輸入的模擬信號幅度;以及數(shù)字音量檢測子單元,用于統(tǒng)計衰減后的數(shù)字信號在前一預(yù)定時間長度內(nèi)的幅度值;增益計算單元,具體用于在該模擬信號的幅度小于預(yù)定幅度閾值,且該前一預(yù)定時間長度內(nèi)的幅度值小于預(yù)定幅度閾值時,確定該第一增益大小為第五值;在其他情況下,確定該第一增益大小為第六值,其中,所述第五值大于所述第六值。
在具體實施時,根據(jù)本申請實施例第三個方面的系統(tǒng),還包括:延遲單元,用于將該增益計算單元計算得到的該第一增益,延遲n個時間長度傳輸至該adc數(shù)字單元,其中,該n個時間長度為該模擬信號放大單元、adc模擬單元、和adc數(shù)字單元之間的延時之和。
在具體實施時,該預(yù)定位置包括以下情況之一:該樣本之后8bit、或該樣本之前8bit。
在具體實施時,該數(shù)字增益衰減單元具體用于:從該預(yù)定位置獲取各樣本對應(yīng)的第一增益大小;并根據(jù)該對應(yīng)的第一增益大小,計算該各樣本的衰減增益;根據(jù)該衰減增益衰減各樣本。
該系統(tǒng)的實施可以參見上述本申請實施例一中信號處理系統(tǒng)100的實施,重復(fù)之處不再贅述。
采用本申請實施例中提供的信號處理系統(tǒng),根據(jù)處理的模擬信號或數(shù)字信號的幅度,來對輸入信號進(jìn)行放大,并將放大的增益大小增加至樣本的預(yù)定位置,并在模數(shù)轉(zhuǎn)換之后,衰減相應(yīng)大小的增益,以恢復(fù)原有信號幅度,經(jīng)上述處理能夠提升輸入信號的量化信噪比。
基于同一發(fā)明構(gòu)思,本申請實施例還提供了一種信號處理系統(tǒng),包括:數(shù)字音量檢測單元,用于統(tǒng)計輸入的數(shù)字信號在一預(yù)定時間長度內(nèi)的幅度值,并根據(jù)該數(shù)字信號的幅度確定第二增益;數(shù)字增益放大單元,用于根據(jù)第二增益放大該數(shù)字信號,并在放大后的各樣本的預(yù)定位置,增加用于標(biāo)識樣本對應(yīng)的第二增益大小的數(shù)據(jù);dac數(shù)字單元,用于對各樣本與用于標(biāo)識該樣本對應(yīng)的第二增益大小的數(shù)據(jù)進(jìn)行拆分,并對該樣本數(shù)據(jù)進(jìn)行內(nèi)插處理;dac模擬單元,用于將內(nèi)插處理后的樣本數(shù)據(jù)轉(zhuǎn)換為模擬信號;模擬信號放大單元,用于根據(jù)該各樣本對應(yīng)的第二增益的大小,衰減該模擬信號,輸出衰減后的模擬信號。
在具體實施時,根據(jù)本申請實施例的第四個方面的系統(tǒng),還包括:延遲單元,用于將該dac數(shù)字單元拆分得到的第二增益延遲m個時間長度傳輸至該模擬信號放大單元,其中,該m個時間長度為該dac數(shù)字單元、dac模擬單元、和模擬信號放大單元之間的延時之和。
在具體實施時,該預(yù)定位置包括以下情況之一:該樣本之后8bit、或該樣本之前8bit。
該系統(tǒng)的實施可以參見上述本申請實施例二中信號處理系統(tǒng)400的實施,重復(fù)之處不再贅述。
采用本申請實施例中提供的信號處理系統(tǒng),根據(jù)輸入的數(shù)字信號的幅度,來對輸入信號進(jìn)行放大,并將放大的增益大小增加至樣本的預(yù)定位置,并在數(shù)模轉(zhuǎn)換之后,衰減相應(yīng)大小的增益,以恢復(fù)原有信號幅度,經(jīng)上述處理能夠提升輸入信號的量化信噪比。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。