本發(fā)明涉及條碼識(shí)別,尤其涉及一維條碼識(shí)別技術(shù)。
背景技術(shù):
在現(xiàn)有技術(shù)中,圖像處理以及濾波器的設(shè)計(jì)均是對(duì)單次原始信號(hào)進(jìn)行采樣,未能利用信號(hào)的周期性。由于信號(hào)的隨機(jī)性大,單次原始信號(hào)的信噪比較低,會(huì)導(dǎo)致后級(jí)解碼時(shí)間加長(zhǎng)。對(duì)于被污染或是被磨損的條碼,單次信號(hào)的信息不完全,傳統(tǒng)的方法會(huì)失效,導(dǎo)致漏檢。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明提供了一種周期性一維條碼信號(hào)加強(qiáng)的方法,其特征在于,所述方法包括:
a.確定模擬前端獲取信號(hào)的幀周期t,并獲取以t為周期的y個(gè)幀,其中每一幀包含所述一維條碼的全部條碼信息,每個(gè)幀為一個(gè)周期t;
b.對(duì)所述y個(gè)幀進(jìn)行采樣,得到y(tǒng)個(gè)采樣序列,每個(gè)序列表示為:x[i][0],x[i][1],x[i][2]……x[i][m-1],其中i表示第i個(gè)周期,i=0,1,…(y-1),m表示一個(gè)周期內(nèi)采樣點(diǎn)的個(gè)數(shù),其中采樣頻率fs為能夠分辨最小寬度w的采樣率的n倍,即fs=n*(1/w);
c.利用加權(quán)的滑動(dòng)窗進(jìn)行加權(quán)處理,窗序列為w[0],w[1]……w[m-1],對(duì)每一個(gè)周期內(nèi)的采樣序列x[i]進(jìn)行加權(quán)處理,加權(quán)后得到y(tǒng)個(gè)序列h,每個(gè)序列表示為h[i][0],h[i][1],h[i][2]……h(huán)[i][m-1],其中,i=0,1,…(y-1),并且,h[i][j]=w[j]×x[i][j],j=0,1,2,…(m–1);
d.對(duì)步驟c中加權(quán)后的y個(gè)序列h,以步驟a中的周期t滑動(dòng),對(duì)信號(hào)序列h進(jìn)行時(shí)域上累加,得到重頻累加的信號(hào)序列y[0],y[1],y[2]……y[m-1],
其中
e.對(duì)步驟d中的序列y進(jìn)行以步驟b中fs/n的頻率抽取,即隔n-1點(diǎn)抽取一個(gè)數(shù)據(jù),得到序列b[0],b[1]……b[m/n];
f.選取門(mén)限g,對(duì)序列b進(jìn)行1/0的判決。
在一個(gè)實(shí)施例中,n取大于等于1的整數(shù),1/w為分辨最小寬度信號(hào)的采樣率。
在一個(gè)實(shí)施例中,在步驟f執(zhí)行之后,根據(jù)碼型特征對(duì)步驟(6)處理過(guò)的序列b進(jìn)行解碼。
在一個(gè)實(shí)施例中,在所述步驟f中,1/0的判決如下:
b[j]<g,則b[j]為0;b[j]>=g,則b[j]為1,其中j=0,1,2…m/n。
本發(fā)明還提供了一種周期性一維條碼信號(hào)加強(qiáng)的模塊,其特征在于,所述模塊包括:
幀獲取模塊,確定模擬前端獲取信號(hào)的幀周期t,并獲取以t為周期的y個(gè)幀,其中每一幀包含所述一維條碼的全部條碼信息,每個(gè)幀為一個(gè)周期t;
采樣模塊,對(duì)所述y個(gè)幀進(jìn)行采樣,得到y(tǒng)個(gè)采樣序列,每個(gè)序列表示為:x[i][0],x[i][1],x[i][2]……x[i][m-1],其中i表示第i個(gè)周期,i=0,1,…(y-1),m表示一個(gè)周期內(nèi)采樣點(diǎn)的個(gè)數(shù),其中采樣頻率fs為能夠分辨最小寬度w的采樣率的n倍,即fs=n*(1/w);
加權(quán)處理模塊,利用加權(quán)的滑動(dòng)窗進(jìn)行加權(quán)處理,窗序列為w[0],w[1]……w[m-1],對(duì)每一個(gè)周期內(nèi)的采樣序列x[i]進(jìn)行加權(quán)處理,加權(quán)后得到y(tǒng)個(gè)序列h,每個(gè)序列表示為h[i][0],h[i][1],h[i][2]……h(huán)[i][m-1],其中,i=0,1,…(y-1),并且,h[i][j]=w[j]×x[i][j],j=0,1,2,…(m–1);
時(shí)域累加模塊,對(duì)步驟c中加權(quán)后的y個(gè)序列h,以步驟a中的周期t滑動(dòng),對(duì)信號(hào)序列h進(jìn)行時(shí)域上累加,得到重頻累加的信號(hào)序列y[0],y[1],y[2]……y[m-1],
其中
頻率抽取模塊,對(duì)步驟d中的序列y進(jìn)行以步驟b中fs/n的頻率抽取,即隔n-1點(diǎn)抽取一個(gè)數(shù)據(jù),得到序列b[0],b[1]……b[m/n];
判決模塊,選取門(mén)限g,對(duì)序列b進(jìn)行1/0的判決。
在一個(gè)實(shí)施例中,n取大于等于1的整數(shù),1/w為分辨最小寬度信號(hào)的采樣率。
在一個(gè)實(shí)施例中,還包括解碼模塊,所述解碼模塊根據(jù)碼型特征對(duì)步驟(6)處理過(guò)的序列b進(jìn)行解碼。
在一個(gè)實(shí)施例中,所述判決模塊中的1/0判決執(zhí)行如下:
b[j]<g,則b[j]為0;b[j]>=g,則b[j]為1,其中j=0,1,2…m/n。
本發(fā)明采用的重頻積累方法,有效的利用了周期信號(hào)的相關(guān)性,消除隨機(jī)噪聲對(duì)信號(hào)產(chǎn)生的干擾,經(jīng)過(guò)過(guò)采樣和抽取,極大地降低了信噪比,恢復(fù)出高質(zhì)量信號(hào)(如附圖中圖2)。達(dá)到減少后級(jí)解碼時(shí)間,提高解碼正確性與實(shí)時(shí)性的目的。
附圖說(shuō)明
本發(fā)明的以上發(fā)明內(nèi)容以及下面的具體實(shí)施方式在結(jié)合附圖閱讀時(shí)會(huì)得到更好的理解。需要說(shuō)明的是,附圖僅作為所請(qǐng)求保護(hù)的發(fā)明的示例。在附圖中,相同的附圖標(biāo)記代表相同或類(lèi)似的元素。
圖1示出根據(jù)本發(fā)明一實(shí)施例的一維條碼示意圖;
圖2示出根據(jù)本發(fā)明一實(shí)施例的閱讀器組成部件;
圖3示出根據(jù)本發(fā)明一實(shí)施例的與圖1的條碼對(duì)應(yīng)的脈沖信號(hào);
圖4示出根據(jù)本發(fā)明一實(shí)施例的周期性的脈沖串。
附圖標(biāo)記說(shuō)明
201激光源
202光敏管
203反射鏡
204顫鏡
205條形碼
具體實(shí)施方式
以下在具體實(shí)施方式中詳細(xì)敘述本發(fā)明的詳細(xì)特征以及優(yōu)點(diǎn),其內(nèi)容足以使任何本領(lǐng)域技術(shù)人員了解本發(fā)明的技術(shù)內(nèi)容并據(jù)以實(shí)施,且根據(jù)本說(shuō)明書(shū)所揭露的說(shuō)明書(shū)、權(quán)利要求及附圖,本領(lǐng)域技術(shù)人員可輕易地理解本發(fā)明相關(guān)的目的及優(yōu)點(diǎn)。
一維條碼是由按一定編碼規(guī)則的線條和空白組成的符號(hào),如圖1所示。閱讀器由光源201、顫鏡204、信號(hào)處理單元等部件組成,如圖2所示。在對(duì)條碼205進(jìn)行識(shí)別時(shí),由光源201發(fā)出的光線經(jīng)過(guò)光學(xué)系統(tǒng)照射到條碼符號(hào)上面,由于線條和空白對(duì)于光的反射率不同,被反射的光經(jīng)過(guò)光學(xué)系統(tǒng)成像在光電轉(zhuǎn)換器上,使之產(chǎn)生電信號(hào)。電信號(hào)經(jīng)過(guò)電路放大后,產(chǎn)生與條碼相對(duì)應(yīng)的脈沖信號(hào)。例如,圖3示出了與圖1對(duì)應(yīng)的脈沖信號(hào)。脈沖信號(hào)再經(jīng)過(guò)解碼,還原成字符。包含了全部的條碼信息的高低電平的信號(hào)稱(chēng)為一幀,圖3即為一幀。
為了提高解碼率,條碼閱讀器會(huì)掃描多次信號(hào),其方法是采用可以實(shí)現(xiàn)周期性掃描的裝置(如圖2中的顫鏡),光電轉(zhuǎn)換部分產(chǎn)生具有周期性的多個(gè)幀(如圖4,每個(gè)脈沖串為一幀信息,一共5幀)。幀的周期與裝置的物理特性相關(guān)(如圖2中,則為顫鏡的擺動(dòng)周期)?,F(xiàn)有技術(shù)的做法是,數(shù)字解碼部分在多個(gè)幀中挑選信號(hào)質(zhì)量最高的一幀進(jìn)行解碼。由于噪聲的隨機(jī)性,每一幀信號(hào)的信噪比呈現(xiàn)不確定性。在條碼被磨損或者被污染,以及處理電信號(hào)的放大電路引入較大的噪聲的情況下,單獨(dú)一幀不能提供理想的碼型信息,進(jìn)而增加后級(jí)解碼算法的復(fù)雜度,導(dǎo)致解碼率降低,甚至解碼失敗。
本發(fā)明根據(jù)上述特點(diǎn),利用周期信號(hào)之間的相關(guān)性,采用如下過(guò)程來(lái)增強(qiáng)信號(hào):
(1)確定模擬前端(即光電轉(zhuǎn)換電路)獲取信號(hào)的幀周期t,其中每一幀包含全部的條碼信息,每個(gè)幀為一個(gè)周期t,獲取以t為周期的y個(gè)幀。
(2)每一個(gè)周期的起始點(diǎn)開(kāi)始采樣,采樣頻率fs取能夠分辨最小寬度的采樣率的n倍。如最小寬度為w,則fs=n*(1/w),其中,n取大于等于1的整數(shù),1/w為分辨最小寬度信號(hào)的采樣率。采樣后得到y(tǒng)個(gè)采樣序列,每個(gè)序列表示為:x[i][0],x[i][1],x[i][2]……x[i][m-1]。其中i表示第i個(gè)周期,i=0,1,…(y-1),m表示一個(gè)周期內(nèi)采樣點(diǎn)的個(gè)數(shù)。
(3)采用加權(quán)的滑動(dòng)窗,窗序列為w[0],w[1]……w[m-1],對(duì)每一個(gè)周期內(nèi)的采樣序列x[i]進(jìn)行加權(quán)處理,加權(quán)后得到y(tǒng)個(gè)序列,每個(gè)序列表示為h[i][0],h[i][1],h[i][2]……h(huán)[i][m-1]。其中,i=0,1,…(y-1)。并且,h[i][j]=w[j]×x[i][j],j=0,1,2,…(m–1)。
(4)對(duì)(3)中加權(quán)后的y個(gè)序列h,以(1)中的周期t滑動(dòng),對(duì)信號(hào)序列h進(jìn)行時(shí)域上累加。得到重頻累加的信號(hào)序列y[0],y[1],y[2]……y[m-1]。
其中
(5)對(duì)步驟(4)中的序列y進(jìn)行以步驟(2)中fs/n的頻率抽取,即隔n-1點(diǎn)抽取一個(gè)數(shù)據(jù),得到序列b[0],b[1]……b[m/n]。
(6)選取門(mén)限g,對(duì)序列b進(jìn)行1,0的判決:b[j]<g,則b[j]為0;b[j]>=g,則b[j]為1。j=0,1,2…m/n。
(7)根據(jù)碼型特征對(duì)步驟(6)處理過(guò)的序列b進(jìn)行解碼。
本發(fā)明還提供了一種周期性一維條碼信號(hào)加強(qiáng)的模塊,其特征在于,所述模塊包括:
幀獲取模塊,確定模擬前端獲取信號(hào)的幀周期t,并獲取以t為周期的y個(gè)幀,其中每一幀包含所述一維條碼的全部條碼信息,每個(gè)幀為一個(gè)周期t;
采樣模塊,對(duì)所述y個(gè)幀進(jìn)行采樣,得到y(tǒng)個(gè)采樣序列,每個(gè)序列表示為:x[i][0],x[i][1],x[i][2]……x[i][m-1],其中i表示第i個(gè)周期,i=0,1,…(y-1),m表示一個(gè)周期內(nèi)采樣點(diǎn)的個(gè)數(shù),其中采樣頻率fs為能夠分辨最小寬度w的采樣率的n倍,即fs=n*(1/w);
加權(quán)處理模塊,利用加權(quán)的滑動(dòng)窗進(jìn)行加權(quán)處理,窗序列為w[0],w[1]……w[m-1],對(duì)每一個(gè)周期內(nèi)的采樣序列x[i]進(jìn)行加權(quán)處理,加權(quán)后得到y(tǒng)個(gè)序列h,每個(gè)序列表示為h[i][0],h[i][1],h[i][2]……h(huán)[i][m-1],其中,i=0,1,…(y-1),并且,h[i][j]=w[j]×x[i][j],j=0,1,2,…(m–1);
時(shí)域累加模塊,對(duì)步驟c中加權(quán)后的y個(gè)序列h,以步驟a中的周期t滑動(dòng),對(duì)信號(hào)序列h進(jìn)行時(shí)域上累加,得到重頻累加的信號(hào)序列y[0],y[1],y[2]……y[m-1],
其中
頻率抽取模塊,對(duì)步驟d中的序列y進(jìn)行以步驟b中fs/n的頻率抽取,即隔n-1點(diǎn)抽取一個(gè)數(shù)據(jù),得到序列b[0],b[1]……b[m/n];
判決模塊,選取門(mén)限g,對(duì)序列b進(jìn)行1/0的判決。
在一個(gè)實(shí)施例中,n取大于等于1的整數(shù),1/w為分辨最小寬度信號(hào)的采樣率。
在一個(gè)實(shí)施例中,還包括解碼模塊,所述解碼模塊根據(jù)碼型特征對(duì)步驟(6)處理過(guò)的序列b進(jìn)行解碼。
在一個(gè)實(shí)施例中,所述判決模塊中的1/0判決執(zhí)行如下:
b[j]<g,則b[j]為0;b[j]>=g,則b[j]為1,其中j=0,1,2…m/n。
本發(fā)明采用的重頻積累方法,有效的利用了周期信號(hào)的相關(guān)性,消除隨機(jī)噪聲對(duì)信號(hào)產(chǎn)生的干擾,經(jīng)過(guò)過(guò)采樣和抽取,極大地降低了信噪比,恢復(fù)出高質(zhì)量信號(hào)(如附圖中圖2)。達(dá)到減少后級(jí)解碼時(shí)間,提高解碼正確性與實(shí)時(shí)性的目的。
這里采用的術(shù)語(yǔ)和表述方式只是用于描述,本發(fā)明并不應(yīng)局限于這些術(shù)語(yǔ)和表述。使用這些術(shù)語(yǔ)和表述并不意味著排除任何示意和描述(或其中部分)的等效特征,應(yīng)認(rèn)識(shí)到可能存在的各種修改也應(yīng)包含在權(quán)利要求范圍內(nèi)。其他修改、變化和替換也可能存在。相應(yīng)的,權(quán)利要求應(yīng)視為覆蓋所有這些等效物。
如本申請(qǐng)和權(quán)利要求書(shū)中所示,除非上下文明確提示例外情形,“一”、“一個(gè)”、“一種”和/或“該”等詞并非特指單數(shù),也可包括復(fù)數(shù)。一般說(shuō)來(lái),術(shù)語(yǔ)“包括”與“包含”僅提示包括已明確標(biāo)識(shí)的步驟和元素,而這些步驟和元素不構(gòu)成一個(gè)排它性的羅列,方法或者設(shè)備也可能包含其他的步驟或元素。
一些實(shí)施例中使用了描述成分、屬性數(shù)量的數(shù)字,應(yīng)當(dāng)理解的是,此類(lèi)用于實(shí)施例描述的數(shù)字,在一些示例中使用了修飾詞“大約”、“近似”或“大體上”來(lái)修飾。除非另外說(shuō)明,“大約”、“近似”或“大體上”表明所述數(shù)字允許有±20%的變化。相應(yīng)地,在一些實(shí)施例中,說(shuō)明書(shū)和權(quán)利要求中使用的數(shù)值參數(shù)均為近似值,該近似值根據(jù)個(gè)別實(shí)施例所需特點(diǎn)可以發(fā)生改變。在一些實(shí)施例中,數(shù)值參數(shù)應(yīng)考慮規(guī)定的有效數(shù)位并采用一般位數(shù)保留的方法。盡管本申請(qǐng)一些實(shí)施例中用于確認(rèn)其范圍廣度的數(shù)值域和參數(shù)為近似值,在具體實(shí)施例中,此類(lèi)數(shù)值的設(shè)定在可行范圍內(nèi)盡可能精確。
同樣,需要指出的是,雖然本發(fā)明已參照當(dāng)前的具體實(shí)施例來(lái)描述,但是本技術(shù)領(lǐng)域中的普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,以上的實(shí)施例僅是用來(lái)說(shuō)明本發(fā)明,在沒(méi)有脫離本發(fā)明精神的情況下還可做出各種等效的變化或替換,因此,只要在本發(fā)明的實(shí)質(zhì)精神范圍內(nèi)對(duì)上述實(shí)施例的變化、變型都將落在本申請(qǐng)的權(quán)利要求書(shū)的范圍內(nèi)。