專利名稱:基于嵌入式系統(tǒng)的單音頻檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信信號(hào)處理領(lǐng)域,主要是用于有線,無(wú)線通信中的一種基于嵌入式系統(tǒng)的 單音頻檢測(cè)方法。
背景技術(shù):
在有線無(wú)線通信系統(tǒng)中,經(jīng)常使用單音頻信號(hào)作為信令及控制信號(hào),同時(shí)隨著數(shù)字信號(hào) 處理技術(shù)和數(shù)字信號(hào)處理器件的飛速發(fā)展,實(shí)際應(yīng)用中越來(lái)越多的利用數(shù)字信號(hào)處理技術(shù)來(lái) 處理以前利用模擬器件來(lái)解決的問(wèn)題,本發(fā)明在檢測(cè)單音頻信號(hào)時(shí)有非常廣泛的應(yīng)用。
常用的單音檢測(cè)方法有基于普通DFT算法的檢測(cè)和基于Goertzel算法的檢測(cè)方法兩種。 基于DFT算法由于計(jì)算量非常的大,對(duì)硬件資源提出了很高的要求,而且在計(jì)算時(shí)需要對(duì)數(shù) 據(jù)進(jìn)行成塊的處理,所以造成很大的延時(shí),不利于實(shí)時(shí)處理。而一般的應(yīng)用Goertzel算法的 檢測(cè)方法對(duì)輸入信號(hào)的幅度比較敏感,信號(hào)幅度的變化對(duì)檢測(cè)的結(jié)果的正確率影響較大,極 大的限制了其應(yīng)用場(chǎng)合。
雖然現(xiàn)有的音頻檢測(cè)算法都忽略了輸入信號(hào)的幅度變化,但實(shí)際應(yīng)用中,由于傳輸過(guò)程 中的信號(hào)損耗及噪聲干擾,導(dǎo)致最終的輸入信號(hào)的幅度在一個(gè)比較大的范圍內(nèi)變化的。
發(fā)明內(nèi)容
本發(fā)明解決了上面提到的缺陷,提供了一種基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,通過(guò)在 進(jìn)行數(shù)字信號(hào)處理之前檢測(cè)輸入信號(hào)的幅度,把輸入信號(hào)按幅度分類后再處理,實(shí)現(xiàn)對(duì)不同 信號(hào)的檢測(cè)的方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案 一種基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其 特征在于首先計(jì)算輸入信號(hào)的幅度,結(jié)合實(shí)際需要按照幅度將信號(hào)分成幾類,再計(jì)算出特定 頻率的單音信號(hào)的能量,最后根據(jù)前面信號(hào)分類的情況,分別和事前設(shè)定好的門(mén)限值進(jìn)行比 較,得出判決的結(jié)果,即實(shí)現(xiàn)信號(hào)的檢測(cè)功能;其操作步驟如下
1) 、算法的預(yù)處理算法的預(yù)處理主要是指對(duì)解碼結(jié)果影響較大的Goertzel算法參數(shù)的 確定。
2) 、對(duì)輸入信號(hào)進(jìn)行預(yù)處理輸入信號(hào)的預(yù)處理分為預(yù)濾波,采樣量化和動(dòng)態(tài)存儲(chǔ)三個(gè) 部分。
3) 、對(duì)信號(hào)進(jìn)行分類分類處理包括幅度的計(jì)算和分類處理兩個(gè)部分。
4) 、計(jì)算輸入信號(hào)的能量能量的計(jì)算包括參數(shù)的預(yù)計(jì)算,信號(hào)能量的計(jì)算兩個(gè)部分;5) 、判決門(mén)限的選擇;
6) 、信號(hào)能量有效性判決通過(guò)與預(yù)置的參數(shù)進(jìn)行比較,得出輸入信號(hào)中是否存在特定 頻率的信號(hào)。
本發(fā)明的有益效果是利用輸入信號(hào)幅度的預(yù)分類,很好地解決了利用Goertzel算法的 局限性,使得本發(fā)明能夠?qū)Ω鞣N不同幅度的信號(hào)進(jìn)行解碼;同時(shí)整體計(jì)算量較小,保證了在 應(yīng)用時(shí)的實(shí)時(shí)性,還可以減小系統(tǒng)對(duì)數(shù)字信號(hào)處理器性能的要求。
圖l是本發(fā)明的算法流程圖。
具體實(shí)施例方式
本發(fā)明一個(gè)優(yōu)選實(shí)施例結(jié)合附圖詳述如下
參見(jiàn)圖1,本基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于在進(jìn)行信號(hào)處理之前, 對(duì)輸入信號(hào)按幅度進(jìn)行分類,然后根據(jù)此分類分別對(duì)計(jì)算結(jié)果進(jìn)行有效性判決,最后得出檢 測(cè)結(jié)果。
下面對(duì)上例每一步驟作詳細(xì)說(shuō)明 第一步算法的預(yù)處理
算法的預(yù)處理主要是指Goertzel算法參數(shù)的確定。其中對(duì)解碼結(jié)果影響較大的參數(shù)為 對(duì)輸入信號(hào)的采樣率Fs和采樣的樣本點(diǎn)數(shù)N。
1.對(duì)輸入信號(hào)的采樣率Fs
A) 、 一般作為信令的音頻信號(hào)的頻率不會(huì)超過(guò)2000Hz;
B) 、依照奈奎斯特定律,對(duì)模擬信號(hào)的采樣率必須大于其最高頻率的2倍才能保證準(zhǔn)確 性;當(dāng)然,為了檢測(cè)的精度、提高系統(tǒng)的抗噪能力,采樣率是越高越好;
C) 、采樣率的確定還需要考慮嵌入式處理器的運(yùn)算能力,即要滿足一般的處理器能夠在 規(guī)定的響應(yīng)時(shí)間內(nèi)處理完采樣的數(shù)據(jù);
D) 、綜合考慮下,選擇Fs-10KHz,這個(gè)值經(jīng)檢驗(yàn)?zāi)軌蚝芎玫臐M足各種考慮。 2.采樣的樣本點(diǎn)數(shù)N
A) 、 Fs/N為解碼器的分辨率,在實(shí)際的應(yīng)用過(guò)程中,需要根據(jù)設(shè)計(jì)的要求確定N的值;
B) 、 N的值也直接影響系統(tǒng)的響應(yīng)時(shí)間,故其取值不能太大;
C) 、綜合考慮下,取N=200,能夠滿足一般的應(yīng)用要求。如果要求的分辨率很高時(shí),需 要同時(shí)提高采樣率Fs。第二步輸入信號(hào)的預(yù)處理
輸入信號(hào)的預(yù)處理分為預(yù)濾波,采樣量化和動(dòng)態(tài)存儲(chǔ)三個(gè)部分。
1. 預(yù)濾波
A) 、預(yù)濾波主要是針對(duì)在ADC (模數(shù)轉(zhuǎn)換器)采樣的時(shí)候,有一些直流和雜波干擾;
B) 、通常采用硬件的方法來(lái)進(jìn)行預(yù)濾波,即在ADC的輸入口處接一個(gè)電容;
C) 、由于有了上面的預(yù)濾波過(guò)程,直接對(duì)輸入信號(hào)進(jìn)行其他的處理,不再疊加數(shù)字濾波器。
2. 采樣量化
A) 、啟動(dòng)嵌入式系統(tǒng)的ADC,并設(shè)置對(duì)信號(hào)的采樣速率為Fs=10KHz;
B) 、將采樣得到離散信號(hào)值直接存儲(chǔ)到數(shù)組T[N]中,將已存儲(chǔ)的采樣值個(gè)數(shù)紀(jì)錄在j中;
C) 、樣本點(diǎn)數(shù)N的大小影響檢測(cè)性能,要按照實(shí)際應(yīng)用的需要來(lái)確定,現(xiàn)設(shè)置^200;
D) 、應(yīng)用時(shí),對(duì)ADC的性能要求不是很高, 一般的12位ADC即可滿足要求。
3. 動(dòng)態(tài)存儲(chǔ)
A) 、可以對(duì)采樣數(shù)據(jù)邊采樣,邊計(jì)算是本發(fā)明的特點(diǎn),這個(gè)特性可以大量的減小系統(tǒng)的 響應(yīng)時(shí)間;
B) 、獲得一個(gè)采樣數(shù)據(jù)T[i]后,可以馬上對(duì)其進(jìn)行下一步的運(yùn)算,而不用等待所有的N 個(gè)數(shù)據(jù)全部采集完后才運(yùn)算;
C) 、當(dāng)運(yùn)算完N-1個(gè)數(shù)據(jù)后,需要計(jì)算一次能量;
D) 、對(duì)信號(hào)的采樣連續(xù)進(jìn)行,即當(dāng)T[N]中的數(shù)據(jù)被填滿后,馬上開(kāi)始對(duì)T[O]的填寫(xiě),不 再占用其他的存儲(chǔ)空間,并且能保證采樣的連續(xù)性。
第三步對(duì)信號(hào)進(jìn)行分類 分類處理包括幅度的計(jì)算和分類處理兩個(gè)部分。
1. 幅度的計(jì)算
A) 、計(jì)算T[N]中采集到的序列的N個(gè)數(shù)據(jù)的總幅度S;
B) 、對(duì)T[N]中的數(shù)據(jù)不用轉(zhuǎn)化成模數(shù)轉(zhuǎn)化器(ADC)量化得到的實(shí)際值,而利用其比例 關(guān)系直接計(jì)算。
C) 、為了后期處理的方便,可以對(duì)總幅度S再除以一個(gè)適當(dāng)?shù)某?shù),還可以防止數(shù)據(jù)由 于存儲(chǔ)器的存儲(chǔ)范圍有限而溢出。
2. 分類處理
將總幅度S的值和預(yù)置的數(shù)據(jù)進(jìn)行比較,得到輸入信號(hào)幅度的范圍,即對(duì)信號(hào)分類;A) 、 S從最大的預(yù)置數(shù)據(jù)開(kāi)始,和預(yù)置數(shù)據(jù)按從大到小的順序來(lái)安排比較的次序;
B) 、預(yù)置數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)組A[i]中;
C) 、分類個(gè)數(shù)i的大小,要根據(jù)實(shí)際應(yīng)用的需要來(lái)確定;
D) 、記錄對(duì)信號(hào)幅度范圍的分類信息,即i的實(shí)際值,這個(gè)值需要反饋到以后的運(yùn)算中。
E) 、在工程應(yīng)用中,不可能對(duì)信號(hào)燈的幅度無(wú)限小的分類,故需要根據(jù)具體的指標(biāo)來(lái)確 定分類的數(shù)量。在一般的應(yīng)用中,將其分成10 20個(gè)小段,能滿足要求。
第四歩計(jì)算輸入信號(hào)的能量
輸入信號(hào)能量的計(jì)算包括參數(shù)的預(yù)計(jì)算,信號(hào)能量的計(jì)算兩個(gè)部分。
1. 算法參數(shù)的預(yù)計(jì)算
A) 、設(shè)置被檢測(cè)的頻率為Fk;
B) 、計(jì)算coeff:2cos (2兀Fk/Fs);
C) 、在實(shí)際的應(yīng)用中被檢測(cè)頻率Fk是不同的,可以將coeff的值也存儲(chǔ)在數(shù)組中。
2. 信號(hào)能量的計(jì)算
A) 、設(shè)置中間參量y(OO, y(_2)=0;
B) 、利用公式y(tǒng)(n)=coeff * y(n-1)-y(n-2)+T(n)循環(huán)計(jì)算y (ri)的值;
C) 、計(jì)算y(n)的值時(shí),其循環(huán)次數(shù)為N次;
D) 、在循環(huán)的過(guò)程中,循環(huán)的將y(n-l)的值疊代給y(n), y (n-2)的值疊代給y (n-l), 即每循環(huán)一次,更新一次y(n)的值;
E) 、最后保留的值是y(N-l)和y(N-2);
F) 、利用公式
I卩=/ (w—1)+/ (w - 2) -②^ * ;K^—1) * ><w—2)計(jì)算信號(hào)
的能量;
G) 、為了使用時(shí)的方便和防止在利用嵌入式處理器時(shí)產(chǎn)生溢出,將此能量值除1000,再 用Power來(lái)表示;
H) 、信號(hào)的能量是每在采樣點(diǎn)個(gè)數(shù)達(dá)到N個(gè)時(shí)計(jì)算一次的,在檢測(cè)的過(guò)程中,需要不斷 的計(jì)算該能量值;
I) 、每次計(jì)算完一次信號(hào)的能量之后,需要重新設(shè)置中間參量y(-1)=0, y(-2)=0。 第五步判決門(mén)限的選擇
判決門(mén)限的選擇決定了解碼器解碼結(jié)果的正確性,對(duì)其選擇時(shí)應(yīng)注意
A)、判決門(mén)限一般是先通過(guò)系統(tǒng)仿真得出一個(gè)大概的范圍,然后再在嵌入式系統(tǒng)上測(cè)試,形成一個(gè)符合系統(tǒng)指標(biāo)的值;
B) 、因?yàn)檩斎胄盘?hào)的能量是隨著其幅度而變化的,故對(duì)應(yīng)每一個(gè)信號(hào)幅度,要設(shè)置不同 的門(mén)限值;
C) 、為方便下一步的處理,門(mén)限需要和信號(hào)幅度的分類一一對(duì)應(yīng)存儲(chǔ)在數(shù)組中;
D) 、門(mén)限有時(shí)也可以補(bǔ)償分類帶來(lái)的誤差,可以根據(jù)系統(tǒng)在測(cè)試時(shí)的指標(biāo)數(shù)據(jù)進(jìn)行調(diào)整, 特別是在對(duì)信號(hào)幅度分類的分界處,需要適當(dāng)?shù)恼{(diào)大該門(mén)限值。
第六步信號(hào)能量有效性判決
計(jì)算出信號(hào)的能量以后,需要將此值和預(yù)置的參數(shù)進(jìn)行比較,得出輸入信號(hào)中是否存在 特定頻率的信號(hào),具體為
A) 、將分別和輸入信號(hào)幅度的分類相對(duì)應(yīng)的閥值存儲(chǔ)在S[i]中;
B) 、通過(guò)前面對(duì)信號(hào)分類的運(yùn)算傳遞回來(lái)的參數(shù),選擇其對(duì)應(yīng)的閥值S[i];
C) 、將前面計(jì)算出來(lái)的Power值和對(duì)應(yīng)的S[i]進(jìn)行比較,當(dāng)Power大于S[i]時(shí),則表明 輸入信號(hào)中存在被檢測(cè)的頻率;
D) 、當(dāng)Power小于S[i]時(shí),表明輸入信號(hào)中不存在該頻率;
E) 、當(dāng)連續(xù)兩次檢測(cè)到該頻率的存在時(shí),則輸出最終的檢測(cè)結(jié)果輸入信號(hào)中存在該頻
率;
F) 、當(dāng)連續(xù)兩次檢測(cè)不到被要求檢測(cè)的頻率時(shí),則輸出最終結(jié)果輸入信號(hào)中不存在該 頻率。
實(shí)驗(yàn)結(jié)果
本系統(tǒng)利用計(jì)算機(jī)進(jìn)行了仿真實(shí)驗(yàn),并且將本系統(tǒng)移植到嵌入式系統(tǒng)中供實(shí)際應(yīng)用。其 仿真條件是信源每隔100mS發(fā)出持續(xù)時(shí)間為60mS的含有1960Hz的音頻信號(hào),仿真持續(xù)時(shí) 間為1000S,采樣頻率為10Ksps,音頻信號(hào)的幅度是從10mV 600mV隨機(jī)變化的,在此發(fā)出的 信號(hào)中還混有不同程度(最低至-9dB)的噪音,另外由于信號(hào)在傳輸過(guò)程中會(huì)產(chǎn)生一些畸變, 因此仿真中信源發(fā)出的信號(hào)包含了±0.5% ±3%的頻率偏差;其檢測(cè)結(jié)果統(tǒng)計(jì)設(shè)置為在50mS 內(nèi),系統(tǒng)輸出確的結(jié)果,則表示本次檢測(cè)是成功的。同時(shí)我們用基于FFT算法的檢測(cè)方法在 同樣條件下做了同樣的仿真實(shí)驗(yàn)。
另外應(yīng)用本發(fā)明方法做成的嵌入式系統(tǒng)已經(jīng)在列車無(wú)線電臺(tái)上試用了,其試用環(huán)境和要 求的檢測(cè)指標(biāo)和上面計(jì)算機(jī)仿真的數(shù)據(jù)是基本一致的。
結(jié)果發(fā)現(xiàn)在滿足士O. 5%的頻率偏差的情況下,利用基于FFT算法的檢測(cè)方法在50mS內(nèi)輸 出正確的檢測(cè)結(jié)果次數(shù)為0;而采用本發(fā)明方法時(shí),在信噪比大于9dB的情況下,任由其他條件的變化,其檢測(cè)正確率為100%,在頻偏為0%,保證檢測(cè)正確率為100%的情況下,其輸 入信號(hào)的信噪比最小至4. 24dB。
利用本方法做成的嵌入式系統(tǒng)試用結(jié)果表明所構(gòu)成的系統(tǒng)能夠在標(biāo)準(zhǔn)工業(yè)環(huán)境下正常 的工作,能夠?qū)νㄐ胖兴玫母鱾€(gè)音頻進(jìn)行有效的檢測(cè)。其工作指標(biāo)達(dá)到《中華人民共和國(guó) 鐵路行業(yè)標(biāo)準(zhǔn)》和《鐵路無(wú)線列調(diào)通信系統(tǒng)設(shè)備入網(wǎng)技術(shù)檢驗(yàn)規(guī)程(試行)》中規(guī)定的指標(biāo), 采用該系統(tǒng)的電臺(tái)符合入網(wǎng)標(biāo)準(zhǔn)。
結(jié)果表明,采用本檢測(cè)方法能夠有效的對(duì)各種幅度不同的輸入信號(hào)進(jìn)行檢測(cè),其計(jì)算量 比較小,對(duì)數(shù)字信號(hào)處理器的性能要求不高,能夠滿足比較小的響應(yīng)時(shí)間要求,另外還有比 較好的靈敏度和抗噪聲性能。
權(quán)利要求
1.一種基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于在進(jìn)行信號(hào)處理之前,對(duì)輸入信號(hào)按幅度進(jìn)行分類,然后根據(jù)此分類分別對(duì)計(jì)算結(jié)果進(jìn)行有效性判決,最后得出檢測(cè)結(jié)果;其操作步驟如下1)、算法的預(yù)處理算法的預(yù)處理主要是指對(duì)解碼結(jié)果影響較大的Goertzel算法參數(shù)的確定。2)、對(duì)輸入信號(hào)進(jìn)行預(yù)處理輸入信號(hào)的預(yù)處理分為預(yù)濾波,采樣量化和動(dòng)態(tài)存儲(chǔ)三個(gè)部分。3)、對(duì)信號(hào)進(jìn)行分類分類處理包括幅度的計(jì)算和分類處理兩個(gè)部分。4)、計(jì)算輸入信號(hào)的能量能量的計(jì)算包括參數(shù)的預(yù)計(jì)算,信號(hào)能量的計(jì)算兩個(gè)部分;5)、判決門(mén)限的選擇;6)、信號(hào)能量有效性判決通過(guò)與預(yù)置的參數(shù)進(jìn)行比較,得出輸入信號(hào)中是否存在特定頻率的信號(hào)。
2. 如權(quán)利要求1所述的基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于所述步驟l的算法 預(yù)處理的具體步驟為1)對(duì)輸入信號(hào)的采樣率Fs的確定A) 、 一般作為信令的音頻信號(hào)的頻率不會(huì)超過(guò)2000Hz;B) 、依照奈奎斯特定律,對(duì)模擬信號(hào)的采樣率必須大于其最高頻率的2倍才能保證準(zhǔn)確 性;當(dāng)然,為了檢測(cè)的精度、提高系統(tǒng)的抗噪能力,采樣率是越高越好;C) 、采樣率的確定還需要考慮嵌入式處理器的運(yùn)算能力,即要滿足一般的處理器能夠在 規(guī)定的響應(yīng)時(shí)間內(nèi)處理完采樣的數(shù)據(jù);D) 、綜合考慮下,選擇Fs40KHz,這個(gè)值經(jīng)檢驗(yàn)?zāi)軌蚝芎玫臐M足各種考慮。 2)采樣的樣本點(diǎn)數(shù)N的確定A) 、 Fs/N為解碼器的分辨率,在實(shí)際的應(yīng)用過(guò)程中,需要根據(jù)設(shè)計(jì)的要求確定N的值;B) 、 N的值也直接影響系統(tǒng)的響應(yīng)時(shí)間,故其取值不能太大;C) 、綜合考慮下,取N=200,能夠滿足一般的應(yīng)用要求;如果要求的分辨率很高時(shí),需 要同時(shí)提高采樣率Fs。
3. 如權(quán)利要求1所述的基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于所述步驟2對(duì)輸入 信號(hào)進(jìn)行預(yù)處理的具體步驟為1)預(yù)濾波A)、預(yù)濾波主要是針對(duì)在模數(shù)轉(zhuǎn)換器ADC采樣的時(shí)候,有一些直流和雜波干擾;B) 、通常采用硬件的方法來(lái)進(jìn)行預(yù)濾波,即在ADC的輸入口處接一個(gè)電容;C) 、由于有了上面的預(yù)濾波過(guò)程,在直接對(duì)輸入信號(hào)進(jìn)行其他的處理,不再疊加數(shù)字濾 波器;2) 采樣量化A) 、啟動(dòng)嵌入式系統(tǒng)的ADC,并設(shè)置對(duì)信號(hào)的采樣速率為Fs=10KHz;B) 、將采樣得到離散信號(hào)值直接存儲(chǔ)到數(shù)組T[N]中,將己存儲(chǔ)的采樣值個(gè)數(shù)紀(jì)錄在j中;C) 、樣本點(diǎn)數(shù)N的大小影響檢測(cè)性能,要按照實(shí)際應(yīng)用的需要來(lái)確定,現(xiàn)設(shè)置^200;D) 、應(yīng)用時(shí),對(duì)ADC的性能要求不是很高, 一般的12位ADC即可滿足要求。3) 動(dòng)態(tài)存儲(chǔ)A) 、可以對(duì)采樣數(shù)據(jù)邊采樣邊計(jì)算,這樣可以大量的減小系統(tǒng)的響應(yīng)時(shí)間;B) 、獲得一個(gè)采樣數(shù)據(jù)T[i]后,可以馬上對(duì)其進(jìn)行下一步的運(yùn)算,而不用等待所有的N 個(gè)數(shù)據(jù)全部采集完后才運(yùn)算;C) 、當(dāng)運(yùn)算完N-l個(gè)數(shù)據(jù)后,需要計(jì)算一次能量;D) 、對(duì)信號(hào)的采樣連續(xù)進(jìn)行,即當(dāng)T[N]中的數(shù)據(jù)被填滿后,馬上開(kāi)始對(duì)T[O]的填寫(xiě),不 再占用其他的存儲(chǔ)空間,并且能保證采樣的連續(xù)性。
4.如權(quán)利要求1所述的基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于所述步驟3對(duì)信號(hào) 進(jìn)行分類的具體步驟為1) 幅度的計(jì)算A) 、計(jì)算T[N]中采集到的序列的N個(gè)數(shù)據(jù)的總幅度S;B) 、對(duì)T[N]中的數(shù)據(jù)不用轉(zhuǎn)化成模數(shù)轉(zhuǎn)化器ADC量化得到的實(shí)際值,而利用其比例關(guān)系 直接計(jì)算;C) 、為了后期處理的方便,對(duì)總幅度S再除以一個(gè)有效的常數(shù),還可防止數(shù)據(jù)由于存儲(chǔ) 器的存儲(chǔ)范圍有限而溢出;2) 分類處理將總幅度S的值和預(yù)置的數(shù)據(jù)進(jìn)行比較,得到輸入信號(hào)幅度的范圍,即對(duì)信號(hào)分類;A) 、總幅度S從最大的預(yù)置數(shù)據(jù)開(kāi)始,和預(yù)置數(shù)據(jù)按從大到小的順序來(lái)安排比較的次序;B) 、預(yù)置數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)組A[i]中;C) 、分類個(gè)數(shù)i的大小,要根據(jù)實(shí)際應(yīng)用的需要來(lái)確定D) 、記錄對(duì)信號(hào)幅度范圍的分類信息,即i的實(shí)際值,這個(gè)值需要反饋到以后的運(yùn)算中;E) 、在工程應(yīng)用中,不可能對(duì)信號(hào)燈的幅度無(wú)限小的分類,故需要根據(jù)具體的指標(biāo)來(lái)確定分類的數(shù)量;在一般的應(yīng)用中,將其分成10 20個(gè)小段,能滿足要求。
5. 如權(quán)利要求1所述的基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于所述步驟4計(jì)算輸 入信號(hào)能量的具體步驟為1) 參數(shù)的預(yù)計(jì)算A) 、設(shè)置被檢測(cè)的頻率為Fk;B) 、計(jì)算<formula>formula see original document page 4</formula>C) 、在實(shí)際的應(yīng)用中被檢測(cè)頻率Fk是不同的,可以將coeff的值也存儲(chǔ)在數(shù)組中;2) 信號(hào)能量的計(jì)算A) 、設(shè)置中間參量y(-1)=0, y(-2)=0;B) 、利用公式<formula>formula see original document page 4</formula>循環(huán)計(jì)算y(n)的值;C) 、計(jì)算y(n)的值時(shí),其循環(huán)次數(shù)為N次;D) 、在循環(huán)的過(guò)程中,循環(huán)的將y(n-l)的值疊代給y(n), y (n_2)的值疊代給y (n-1), 即每循環(huán)一次,更新一次y(n)的值;E) 、最后保留的值是y(N-1)和y(N-2);F) 、利用公式<formula>formula see original document page 4</formula>計(jì)算信號(hào)的能量G) 、為了使用時(shí)的方便和防止在利用嵌入式處理器時(shí)產(chǎn)生溢出,將此能量值除1000,再 用Power來(lái)表示;H) 、信號(hào)的能量是每在采樣點(diǎn)個(gè)數(shù)達(dá)到N個(gè)時(shí)計(jì)算一次的,在檢測(cè)的過(guò)程中,需要不斷 的計(jì)算該能量值;I) 、每次計(jì)算完一次信號(hào)的能量之后,需要重新設(shè)置中間參量y(-1)=0, y(-2)=0。
6. 如權(quán)利要求1所述的基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于所述步驟5判決門(mén) 限的選擇方法為A) 、判決門(mén)限是先通過(guò)系統(tǒng)仿真得出一個(gè)大概的范圍,然后再在嵌入式系統(tǒng)上測(cè)試,形 成一個(gè)符合系統(tǒng)指標(biāo)的值;B) 、因?yàn)檩斎胄盘?hào)的能量是隨著其幅度而變化的,故對(duì)應(yīng)每一個(gè)信號(hào)幅度,要設(shè)置不同 的門(mén)限值;C) 、為方便下一步的處理,門(mén)限需要和信號(hào)幅度的分類一一對(duì)應(yīng)存儲(chǔ)在數(shù)組中;D) 、門(mén)限有時(shí)也可以補(bǔ)償分類帶來(lái)的誤差,可根據(jù)系統(tǒng)在測(cè)試時(shí)的指標(biāo)數(shù)據(jù)進(jìn)行調(diào)整,特別是在對(duì)信號(hào)幅度分類的分界處,需要有效調(diào)大該門(mén)限值。
7.如權(quán)利要求1所述的基于嵌入式系統(tǒng)的單音頻檢測(cè)方法,其特征在于所述步驟6對(duì)信號(hào) 能量有效性的判決的具體步驟為A) 、將分別和輸入信號(hào)幅度的分類相對(duì)應(yīng)的閥值存儲(chǔ)在S[i]中;B) 、通過(guò)前面對(duì)信號(hào)分類的運(yùn)算傳遞回來(lái)的參數(shù),選擇其對(duì)應(yīng)的閥值S[i];C) 、將前面計(jì)算出來(lái)的Power值和對(duì)應(yīng)的S[i]進(jìn)行比較,當(dāng)Power大于S[i]時(shí),則表明 輸入信號(hào)中存在被檢測(cè)的頻率D) 、當(dāng)Power小于S[i]時(shí),表明輸入信號(hào)中不存在該頻率;E) 、當(dāng)連續(xù)兩次檢測(cè)到該頻率的存在時(shí),則輸出最終的檢測(cè)結(jié)果輸入信號(hào)中存在該頻率;F) 、當(dāng)連續(xù)兩次檢測(cè)不到被要求檢測(cè)的頻率時(shí),則輸出最終結(jié)果輸入信號(hào)中不存在該 頻率。
全文摘要
本發(fā)明涉及一種基于嵌入式系統(tǒng)的單音頻檢測(cè)方法。本方法首先對(duì)輸入信號(hào)按幅度進(jìn)行分類,然后據(jù)此分類分別對(duì)嵌入式系統(tǒng)的CPU的計(jì)算結(jié)果進(jìn)行有效性判決,最后得出檢測(cè)結(jié)果。本發(fā)明的有益效果是利用輸入信號(hào)幅度的預(yù)分類,很好地解決了利用Goertzel算法的局限性,使得本發(fā)明能夠?qū)Ω鞣N不同幅度的信號(hào)進(jìn)行解碼;同時(shí)整體計(jì)算量較小,保證了在應(yīng)用時(shí)的實(shí)時(shí)性,還可以減小系統(tǒng)對(duì)數(shù)字信號(hào)處理器性能的要求。
文檔編號(hào)G10L11/00GK101587707SQ200910053890
公開(kāi)日2009年11月25日 申請(qǐng)日期2009年6月26日 優(yōu)先權(quán)日2009年6月26日
發(fā)明者萬(wàn)旺根, 余小清, 張開(kāi)翼 申請(qǐng)人:上海大學(xué)