專利名稱:條形碼閱讀器以及條形碼閱讀程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于從條形碼(二進(jìn)制信息)反射的光而閱讀條形碼(字符)的條形碼閱讀器以及用于閱讀條形碼的計算機(jī)程序,并具體地涉及一種能借助參數(shù)的學(xué)習(xí)功能而提高條形碼閱讀準(zhǔn)確度的條形碼閱讀器以及用于閱讀條形碼的計算機(jī)程序,在所述條形碼中,通過使用光的反射率之差借助條寬而表達(dá)字符。
背景技術(shù):
到目前為止,在產(chǎn)品分配領(lǐng)域中,光學(xué)閱讀設(shè)置在產(chǎn)品上的條形碼,并且在寄存器中記錄與產(chǎn)品有關(guān)的信息如產(chǎn)品價格和名稱。
在條形碼中,與產(chǎn)品有關(guān)的信息被編碼為字符,并且被組合為交替的黑白條。在條形碼閱讀器中,使從激光二極管發(fā)射的光束掃描條形碼,接收光束的反射光,并且根據(jù)與黑條和白條的寬度相應(yīng)的電信號閱讀條形碼信息。
在此情況下,條形碼印刷在各種介質(zhì)如有機(jī)材料、罐上,并且主要印刷在紙上。從而通常,在印刷條形碼時,有因介質(zhì)不同而引起的條寬誤差、在分配過程中的污染以及因模糊引起的寬度誤差。在此種有寬度誤差的條形碼的情況下,條形碼閱讀器發(fā)生錯誤閱讀。
從而,在條形碼閱讀器的制造工廠中,以具有允差的狀態(tài)從工廠提供條形碼閱讀器,從而,放松閱讀其寬度誤差在規(guī)范內(nèi)的條形碼所需的參數(shù)設(shè)置條件。
然而通常,在條形碼閱讀器出廠之后,頻繁地出現(xiàn)寬度誤差在規(guī)范之外的劣質(zhì)條形碼。在此情況下,由于無論閱讀多長時間都不能閱讀條形碼,因此,操作員不得不輸入條形碼信息并占用太多的操作時間,這已經(jīng)是一個問題。
而且,如果不能閱讀劣質(zhì)條形碼的頻率增加,條形碼閱讀器的用戶就向制造商抱怨,并且制造商必須派負(fù)責(zé)人到現(xiàn)場進(jìn)行調(diào)查并采取措施,或者把條形碼閱讀器帶回制造商并進(jìn)行徹底的調(diào)查和采取措施,由此給用戶和制造商都造成麻煩,這是問題。
考慮到上述問題進(jìn)行了本發(fā)明,本發(fā)明的目的是提供能自動提高閱讀準(zhǔn)確度的條形碼閱讀器和用于閱讀條形碼的計算機(jī)程序。
發(fā)明內(nèi)容
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的條形碼閱讀器包括基于參數(shù)而從條形碼閱讀字符的閱讀單元;存儲與多個字符圖案相應(yīng)的多個信號波形信息的存儲單元;選擇單元,當(dāng)發(fā)生錯誤閱讀時,選擇單元使操作員從多個字符中選擇正確閱讀字符;比較單元,比較單元比較與所選擇正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案;以及參數(shù)設(shè)置單元,參數(shù)設(shè)置單元基于比較單元的比較結(jié)果而在閱讀單元中設(shè)置最少發(fā)生錯誤閱讀的參數(shù)。
而且,根據(jù)本發(fā)明的計算機(jī)程序使計算機(jī)用作條形碼閱讀器并使計算機(jī)執(zhí)行以下步驟基于參數(shù)而從條形碼閱讀字符;存儲與多個字符圖案相應(yīng)的多個信號波形信息;選擇,包括當(dāng)發(fā)生錯誤閱讀時使操作員從多個字符中選擇正確閱讀字符;比較與所選擇正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案;以及基于所述比較的比較結(jié)果而在閱讀單元中設(shè)置最少發(fā)生錯誤閱讀的參數(shù)。
因而如上所述,根據(jù)本發(fā)明,當(dāng)條形碼的字符發(fā)生發(fā)生錯誤閱讀時,使操作員從多個字符中選擇正確閱讀的字符。由于基于與正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案的比較結(jié)果,而設(shè)置最少發(fā)生錯誤閱讀的圖案,因此,即使在條形碼閱讀器使用過程中也可自動提高閱讀準(zhǔn)確度。
附圖簡述
圖1為示出根據(jù)本發(fā)明的第一實(shí)施例的配置的框圖;圖2為示出圖1所示參數(shù)信息數(shù)據(jù)庫50的視圖;圖3為描述所述第一實(shí)施例中參數(shù)的視圖;圖4為示出圖1所示學(xué)習(xí)信息數(shù)據(jù)庫60的視圖;圖5為示出限帶微分器26的輸出的視圖;圖6為示出圖1所示BPF 27的輸出的視圖;圖7為示出圖1所示相位信息提取器28的輸出的視圖;圖8為示出圖1所示延遲濾波器29的輸出的視圖;圖9為示出圖1所示LMS部分30(在準(zhǔn)確閱讀時)的輸出的視圖;圖10為示出圖1所示LMS部分30(在錯誤閱讀時)的輸出的視圖;圖11為示出圖1所示三值處理器31的輸出以及正確閱讀三值化圖案的視圖;圖12為示出圖1所示三值處理器31的輸出以及錯誤閱讀三值化圖案的視圖;圖13為示出根據(jù)第一實(shí)施例的三值化圖案和字符圖案的視圖;圖14為描述所述第一實(shí)施例的操作的流程圖;圖15為示出根據(jù)所述第一實(shí)施例計算相關(guān)值的計算公式的視圖;圖16為示出根據(jù)本發(fā)明的第二實(shí)施例的配置的框圖;圖17為示出根據(jù)本發(fā)明的第三實(shí)施例的配置的框圖;圖18為示出根據(jù)本發(fā)明的第四實(shí)施例的配置的框圖,以及圖19為示出根據(jù)本發(fā)明的第一至第四實(shí)施例的修改配置的框圖。
具體實(shí)施例方式
以下結(jié)合附圖詳細(xì)描述根據(jù)本發(fā)明的實(shí)施例1-4。
圖1為示出根據(jù)本發(fā)明的第一實(shí)施例的配置的框圖。在此圖中示出的條形碼閱讀器80是光學(xué)閱讀條形碼10并且在出廠之后通過學(xué)習(xí)功能自動設(shè)置最合適參數(shù)的閱讀器。
這里,在后述圖2和3中示出的模塊頻率誤差Δf、帶寬fw以及滾降因子ROF可稱作參數(shù)。
在條形碼閱讀器80中,激光二極管20發(fā)射用于掃描的光束。多角鏡21包括使來自激光二極管20的光束反射的鏡子,多角鏡21由電機(jī)(在圖中未示出)旋轉(zhuǎn),并且通過改變光束的反射方向而提供多種類型的掃描圖案。
從多角鏡21反射的光束例如從左端到右端地照射到條形碼10的黑條和白條上。光接收器22接收照射在條形碼10上的光束的反射光,并且根據(jù)所接收光強(qiáng)度而執(zhí)行光電變換,把幅度變換為電信號。放大器23對經(jīng)過光接收器22光電變換的信號進(jìn)行放大。
A/D(模擬/數(shù)字)變換器24對經(jīng)過光電變換且由放大器23放大的模擬信號執(zhí)行數(shù)字采樣,并且輸出作為經(jīng)過光電變換的數(shù)字信號。提取器25從A/D變換器24的光電變換信號中只提取從條形碼10反射的信號,以減少在后續(xù)級中的信號處理。
限帶微分器26對提取器25的輸出信號執(zhí)行諸如微分處理和平方處理的處理,通過微分-平方信號的FFT(快速傅里葉變換)處理而獲得圖3所示的頻譜71,并且計算頻譜71的增益峰值的頻率,作為與條形碼的基本模塊等效的模塊頻率(2f0)。
限帶微分器26通過使用上述模塊頻率,執(zhí)行用于限制提取器25的輸出信號頻帶的微分處理,并且輸出具有圖5所示波形圖案的信號。
BPF(帶通濾波器)27基于圖3所示的濾波器特性70而對圖5所示波形圖案的信號執(zhí)行濾波,并且輸出圖6所示的波形圖案。在此BPF 27中,通過后述的參數(shù)設(shè)置部分37動態(tài)地設(shè)置模塊頻率誤差Δf、帶寬fw和滾降因子ROF,作為確定濾波器特性70的參數(shù)。所述參數(shù)是重要的值,它們決定條形碼的閱讀準(zhǔn)確度。從而,當(dāng)所述參數(shù)未設(shè)置為合適的值時,在閱讀條形碼時容易發(fā)生誤差。
模塊頻率誤差Δf是用于糾正后述模塊頻率(2f0)中誤差的值。從而,實(shí)際上,如圖3所示,濾波器特性70的中心頻率(帶寬fw)變?yōu)槟K頻率(2f0)+模塊頻率誤差Δf。
而且,根據(jù)第一實(shí)施例,當(dāng)在閱讀條形碼的同時有錯誤閱讀時,從多個參數(shù)的組(參見圖2)中,選擇最難發(fā)生錯誤閱讀的一組,并且在BPF 27中設(shè)置與此組相應(yīng)的參數(shù)。
在圖6中,在采樣點(diǎn)放置圓圈的波形與執(zhí)行Hilbert變換的實(shí)部相對應(yīng),而在采樣點(diǎn)放置X標(biāo)志的波形與虛部相對應(yīng)。因而,在圖6中,每個采樣點(diǎn)被矢量化(實(shí)部和虛部)。
相位信息提取器28提取圖6中每個采樣點(diǎn)的相位,并且令相位為零弧度的點(diǎn)為模塊定時,輸出圖7所示的模塊定時的信息。
延遲濾波器29基于圖6中零弧度點(diǎn)和采樣點(diǎn)的延遲時間而對來自限帶微分器26的信號執(zhí)行延遲處理,并且,延遲濾波器29是使采樣點(diǎn)與零弧度定時點(diǎn)一致的濾波器,并輸出例如如圖8所示的波形圖案。
LMS(最小均方)部分30借助最小二乘法對延遲濾波器29的輸出信號執(zhí)行均衡處理,并且輸出如圖9(在正確閱讀時)和圖10(在錯誤閱讀時)所示的波形圖案的信號。
三值處理器31基于振幅與閾值的比較而使LMS部分30的輸出(參見圖9和圖10)三值化為“+1”、“0”或“-1”中的任一個,并且輸出圖11或圖12中圓圈部分的三值化信息。例如,圖13(a)中所示圓圈部分的三值化信息通過字符解調(diào)器41而被解調(diào)為圖13(b)所示條形碼的字符圖案(字符串)。此字符圖案作為閱讀結(jié)果通過I/F(接口)部分42而傳送給主機(jī)90。在圖11中,示出正確閱讀時的三值化圖案。在圖12中,示出錯誤閱讀時的三值化圖案。換句話說,在圖11中,水平坐標(biāo)=40的點(diǎn)的三值化信息與剛好在此之前的采樣點(diǎn)(黑圓圈)的三值化信息為“-1”和“0”,并且是正確閱讀。然而,在圖12中,盡管閱讀相同的條形碼,但相同采樣點(diǎn)(黑圓圈)卻被錯誤讀成“0”和“-1”。
在圖1所示條形碼閱讀器80中,如圖11和圖12所示,由于條形碼的模糊等,出現(xiàn)這樣的情況獲得兩個結(jié)果(正確閱讀和錯誤閱讀),作為閱讀一個條形碼的結(jié)果。在此情況下,向操作員示出兩個結(jié)果,并且選擇正確的結(jié)果。
錯誤閱讀圖案相關(guān)器32計算三值處理器31的輸出與在后述學(xué)習(xí)信息數(shù)據(jù)庫60的學(xué)習(xí)信息中的錯誤閱讀三值化圖案的相關(guān)值。正確閱讀圖案相關(guān)器33根據(jù)上述操作員選擇的正確閱讀字符圖案創(chuàng)建基準(zhǔn)三值化圖案,并且計算此基準(zhǔn)三值化圖案與LMS部分30輸出的相關(guān)值。
乘法器34對來自正確閱讀圖案相關(guān)器33的相關(guān)值和來自錯誤閱讀圖案相關(guān)器32的相關(guān)值相乘。加法器35對乘法器34輸出的每個參數(shù)的乘積進(jìn)行相加,獲得相關(guān)值之和。最大值提取器36從計算的多個相關(guān)值之和中提取最大值。
參數(shù)設(shè)置部分37在BPF 27中設(shè)置與最大值提取器36所提取最大值相應(yīng)的參數(shù)??刂破?8控制每個部分。在控制器38的控制下,字符顯示器39基于三值處理器31的輸出而顯示條形碼閱讀結(jié)果(字符)。
在此,如圖11和圖12所示,當(dāng)有正確閱讀結(jié)果和錯誤閱讀結(jié)果時,兩個閱讀結(jié)果都顯示在字符顯示器39上。字符選擇器40具有當(dāng)兩個閱讀結(jié)果都顯示在字符顯示器39上時使操作員選擇正確閱讀結(jié)果的功能。具體地,操作員從在字符顯示器39上顯示的兩個字符中選擇一個與在條形碼附近顯示的字符一致的字符,作為正確閱讀結(jié)果。
參數(shù)信息數(shù)據(jù)庫50是存儲與上述影響條形碼閱讀準(zhǔn)確度的參數(shù)(模塊頻率誤差Δf、帶寬fw和滾降因子ROF)有關(guān)的參數(shù)信息的數(shù)據(jù)庫。
具體地,如圖2所示,參數(shù)信息數(shù)據(jù)庫50包括模塊頻率誤差表51、帶寬表52、滾降因子表53和參數(shù)組表54。
模塊頻率誤差表51是在從下限到上限(例如,從-500kHz到+500kHz)的規(guī)定范圍內(nèi)以規(guī)定間隔的一組模塊頻率誤差Δf。帶寬表52是在從下限到上限(例如,從1kHz到1000kHz)的規(guī)定范圍內(nèi)的一組帶寬fw。滾降因子表53是在從下限到上限(例如,從0%到100%)的規(guī)定范圍內(nèi)的一組滾降因子。
參數(shù)組表54是一組參數(shù)(模塊頻率誤差Δf、帶寬fw和滾降因子ROF),它們中的每一個參數(shù)都是從模塊頻率誤差表51、帶寬表52和滾降因子表53中提取出的。所有組合(m=0-M)都存儲在參數(shù)組表54中。
如圖4所示,學(xué)習(xí)信息數(shù)據(jù)庫60是存儲從600到60N′的學(xué)習(xí)信息記錄的數(shù)據(jù)庫。此學(xué)習(xí)信息包括編號、波形圖案、模塊頻率、正確閱讀三值化圖案以及錯誤閱讀三值化圖案,此學(xué)習(xí)信息是在出現(xiàn)錯誤閱讀時選擇重置的參數(shù)時使用的信息,并且,事先準(zhǔn)備多個信息。波形圖案是輸入到限帶微分器26中的波形圖案的信息。
模塊頻率是與有關(guān)波形圖案相應(yīng)的模塊頻率。正確閱讀三值化圖案是當(dāng)有關(guān)波形圖案輸入到限帶微分器26中時三值處理器31的輸出(正確閱讀)。
另一方面,錯誤閱讀三值化圖案是當(dāng)上述圖案輸入到限帶微分器26中時三值處理器31的輸出(錯誤閱讀)。這里,當(dāng)條形碼閱讀結(jié)果為錯誤閱讀時,與新的有關(guān)閱讀結(jié)果相應(yīng)的學(xué)習(xí)信息就存儲在學(xué)習(xí)信息數(shù)據(jù)庫60中。
主機(jī)90連接到條形碼閱讀器80,并且,主機(jī)90是基于條形碼閱讀結(jié)果而執(zhí)行產(chǎn)品管理等的計算機(jī)。
下面,結(jié)合圖14所示流程圖描述第一實(shí)施例的操作。在此圖中所示的步驟SA1中,控制器38判斷是否在學(xué)習(xí)信息數(shù)據(jù)庫60中增加了新的學(xué)習(xí)信息,在此情況下,判斷結(jié)果為“否”,并且重復(fù)相同的判斷。
這里,增加學(xué)習(xí)信息的條件是條形碼閱讀器80不能閱讀條形碼,或者換句話說,當(dāng)有兩種閱讀結(jié)果(正確閱讀三值化圖案和錯誤閱讀三值化圖案)時(或者當(dāng)在主機(jī)90中未登記從I/F部分42傳送的字符圖案時),由字符選擇器40選擇正確閱讀。
當(dāng)操作員把條形碼10拿到光束下時,在光接收器22中接收條形碼10的反射光,并且根據(jù)所接收光的強(qiáng)度而執(zhí)行從振幅到電信號的光電變換。經(jīng)過光電變換的信號在放大器23中進(jìn)行放大,然后在A/D變換器24中數(shù)字化,并進(jìn)一步在提取器25中被提取。
隨后,限帶微分器26對提取器25的輸出信號執(zhí)行諸如微分處理和平方處理的處理,通過微分-平方信號的FFT處理而獲得頻譜,并且計算頻譜的增益峰值的頻率,作為與條形碼的基本模塊等效的模塊頻率(2f0)。
而且,限帶微分器26通過使用上述模塊頻率,執(zhí)行用于限制提取器25的輸出信號頻帶的微分處理,并且向BPF 27和延遲濾波器29輸出波形圖案的信號。
接著,BPF 27基于在限帶微分器26中計算的模塊頻率(2f0)和事先設(shè)置的參數(shù)(模塊頻率誤差Δf、帶寬fw和滾降因子ROF)而對波形圖案的信號執(zhí)行濾波。
相位信息提取器28在BPF 27的輸出中提取每個采樣點(diǎn)的相位,并且讓相位為零弧度的點(diǎn)作為模塊定時,并輸出模塊定時信息。
接著,延遲濾波器29基于零弧度點(diǎn)和采樣點(diǎn)的延遲時間而對來自限帶微分器26的信號執(zhí)行延遲處理,使采樣點(diǎn)與零弧度定時點(diǎn)一致,并例如向LMS部分30輸出如圖8所示的波形圖案。
通過這樣做,LMS部分30借助最小二乘法對延遲濾波器29的輸出信號執(zhí)行均衡處理。在此情況下,如果條形碼10是劣質(zhì)條形碼,就從LMS部分30輸出如圖9(當(dāng)正確閱讀時)和圖10(當(dāng)錯誤閱讀時)中所示每個波形圖案的信號。
三值處理器31基于振幅與閾值的比較而使LMS部分30的輸出三值化為“+1”、“0”和“-1”中的任一個,并且輸出正確閱讀和錯誤閱讀的兩種三值化信息。換句話說,如果條形碼10是劣質(zhì)條形碼,用當(dāng)前BPF 27中的參數(shù)組獲得兩種閱讀結(jié)果,那么,條形碼閱讀器80就不能閱讀。
因此,控制器38在字符顯示器39上顯示三值處理器31的兩種閱讀結(jié)果。操作員判斷不能閱讀,并且在字符選擇器40中,從在字符顯示器39上顯示的兩種閱讀結(jié)果中選擇一種與在條形碼附近顯示的字符一致的字符,作為正確閱讀結(jié)果。
隨后,控制器38在學(xué)習(xí)信息數(shù)據(jù)庫60的記錄60N′上增加與條形碼10相應(yīng)的波形圖案(限帶微分器26的輸出)、模塊頻率(限帶微分器26的輸出)、正確閱讀三值化圖案(從三值處理器31輸出并且在字符選擇器40中選擇的圖案)以及錯誤閱讀三值化圖案(從三值處理器31輸出并且在字符選擇器40中選擇的圖案),作為新的學(xué)習(xí)信息,如圖4所示。
通過這樣做,控制器38使圖14所示步驟SA1中的判斷結(jié)果為“是”。在步驟SA2中,控制器38判斷是否檢驗了圖2所示參數(shù)信息數(shù)據(jù)庫50中參數(shù)組表54中的所有參數(shù)組(m=0-M),并且,在此情況下判斷結(jié)果為“否”。
在步驟SA3中,控制器38根據(jù)參數(shù)組表54創(chuàng)建一個參數(shù)組(在此情況下為Δf
、fw
和ROF
)。接著,控制器38使BPF 27在參數(shù)設(shè)置部分37中設(shè)置此參數(shù)組。
在步驟SA4中,控制器38判斷是否對在步驟SA3中創(chuàng)建的參數(shù)組檢驗了圖4所示學(xué)習(xí)信息數(shù)據(jù)庫60中的全部學(xué)習(xí)信息(n=0-N′)。
在步驟SA5中,控制器38向BPF 27和延遲濾波器29輸出圖4所示學(xué)習(xí)信息數(shù)據(jù)庫60中記錄600的學(xué)習(xí)信息中的波形圖案,并且在BPF 27中設(shè)置模塊頻率。
在步驟SA6中,基于在步驟SA5中設(shè)置的模塊頻率和與在步驟SA3中設(shè)置的參數(shù)一致的濾波器特性而對所述波形圖案的信號進(jìn)行濾波。接著,通過上述操作,正確閱讀圖案相關(guān)器33根據(jù)控制器38的控制而取得LMS部分30的輸出。
在步驟SA7中,錯誤閱讀圖案相關(guān)器32根據(jù)控制器38的控制而取得三值處理器31的輸出。在步驟SA8中,控制器38根據(jù)字符選擇器40選擇的正確閱讀字符圖案產(chǎn)生基準(zhǔn)三值化圖案,并且在正確閱讀圖案相關(guān)器33中把它設(shè)置為基準(zhǔn)三值化圖案。
正確閱讀圖案相關(guān)器33據(jù)此計算基準(zhǔn)三值化圖案與LMS部分30輸出的相關(guān)值Cr[n](參見圖15)。在此相關(guān)值Cr[n]中,xn(t)與LMS部分30的輸出相對應(yīng),而yn(T-t)與基準(zhǔn)三值化圖案相對應(yīng)。
在步驟SA9中,如果在學(xué)習(xí)信息中有錯誤閱讀三值化圖案(參見圖4),控制器38就在錯誤閱讀圖案相關(guān)器32中設(shè)置此錯誤閱讀三值化圖案。根據(jù)此錯誤閱讀三值化圖案,錯誤閱讀圖案相關(guān)器32借助在步驟SA8中使用的計算公式而計算在步驟SA7中取得的三值處理器31的輸出與上述錯誤閱讀三值化圖案的相關(guān)值。
隨后,如果此相關(guān)值小于閾值,控制器38就向乘法器34輸出為1(有效、正確閱讀)的相關(guān)值有效性標(biāo)志Cm[n],其中,Cm[n]表示來自正確閱讀圖案相關(guān)器33的相關(guān)值的有效性。在步驟SA10中,判斷相關(guān)值有效性標(biāo)志Cm[n]是否為0(無效、錯誤閱讀)。在此情況下,由于相關(guān)值有效性標(biāo)志Cm[n]為1(有效、正確閱讀),因此,步驟SA10中的判斷結(jié)果為“否”。
在乘法器34中,將來自正確閱讀圖案相關(guān)器33的相關(guān)值Cr[n]和相關(guān)值有效性標(biāo)志Cm[n](=1)相乘。在步驟SA11中,加法器35將上述相關(guān)值Cr[n]加到與在步驟SA3中所創(chuàng)建參數(shù)組有關(guān)的相關(guān)值之和Scr[m]上,并且更新相關(guān)值之和Scr[m]。
另一方面,如果在步驟SA9中相關(guān)值超過閾值,控制器38就向乘法器34輸出為0(無效、錯誤閱讀)的相關(guān)值有效性標(biāo)志Cm[n]。在步驟SA10中,由于相關(guān)值有效性標(biāo)志Cm[n]為0(無效、錯誤閱讀),因此判斷結(jié)果為“是”并且跳過步驟SA11。
實(shí)際上,在乘法器34中,將來自正確閱讀圖案相關(guān)器33的相關(guān)值Cr[n]和相關(guān)值有效性標(biāo)志Cm[n](=0)相乘,并且相關(guān)值Cr[n]變?yōu)?。從而,在加法器35中,在相關(guān)值之和Scr[m]上增加0。
因而,根據(jù)第一實(shí)施例,在一定參數(shù)組中,當(dāng)從三值處理器31輸出與錯誤閱讀三值化圖案具有更大相關(guān)值的三值化圖案時,就讓步驟SA8中的相關(guān)值Cr[n]為0,并且不增加相關(guān)值之和Scr[m],在后述提取最大值(步驟SA12)時就不讓選擇該參數(shù)組。
在步驟SA4中,控制器38判斷是否對在步驟SA3中所創(chuàng)建的參數(shù)組檢驗了圖4所示學(xué)習(xí)信息數(shù)據(jù)庫60中的全部學(xué)習(xí)信息(n=0-N),在此情況下,判斷結(jié)果為“否”。
在步驟SA5中,控制器38向BPF 27和延遲濾波器29輸出圖4所示學(xué)習(xí)信息數(shù)據(jù)庫60中下一記錄601的學(xué)習(xí)信息中的波形圖案,并且在BPF 27中設(shè)置模塊頻率。在此之后,執(zhí)行從步驟SA6向前的與相關(guān)參數(shù)組有關(guān)的學(xué)習(xí)信息處理。
當(dāng)學(xué)習(xí)信息數(shù)據(jù)庫60中最后一個記錄60N′的處理結(jié)束時,控制器38使步驟SA4中的判斷結(jié)果為“是”。在此情況下,計算上述參數(shù)組(在此情況下為Δf
、fw
和ROF
)的相關(guān)值之和Scr[m]。
在步驟SA2中,控制器38判斷是否檢驗了圖2所示參數(shù)信息數(shù)據(jù)庫50內(nèi)參數(shù)組表54中的全部參數(shù)組(m=0-M),在此情況下,判斷結(jié)果為“否”。
在步驟SA3中,控制器38從參數(shù)組表54創(chuàng)建下一參數(shù)組(在此情況下為Δf
、fw
和ROF
)。接著,控制器38使BPF 27在參數(shù)設(shè)置部分37中設(shè)置此參數(shù)組。在此之后,執(zhí)行計算有關(guān)參數(shù)組(Δf
、fw
和ROF
)的相關(guān)值之和Scr[m]的處理。
進(jìn)一步地,當(dāng)計算最后一個參數(shù)組的相關(guān)值之和Scr[m]的處理結(jié)束時,控制器38使步驟SA2中的判斷結(jié)果為“是”。此時,計算與所有參數(shù)組相應(yīng)的多個相關(guān)值之和Scr[m]。
在步驟SA12中,最大值提取器36從多個相關(guān)值之和Scr[m]中提取最大值。此最大的相關(guān)值之和Scr[m]具有與正確閱讀的基準(zhǔn)三值化圖案最大的相關(guān)值,即,它表示最少發(fā)生錯誤閱讀的參數(shù)組。
在步驟SA13中,參數(shù)設(shè)置部分37在BPF 27中設(shè)置與在步驟SA12中提取的最大相關(guān)值之和Scr[m]相應(yīng)的參數(shù)組。因此,通過置換已發(fā)生錯誤閱讀的參數(shù)組,基于上述最少發(fā)生錯誤閱讀的參數(shù)組而閱讀條形碼。
如以上所解釋地,根據(jù)第一實(shí)施例,當(dāng)條形碼的字符發(fā)生錯誤閱讀時,使操作員在字符選擇器40中從多個字符選擇正確閱讀的字符,并且,由于在BPF 27中基于與正確閱讀字符相應(yīng)的正確閱讀三值化圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的三值化圖案的比較結(jié)果(相關(guān)值),而設(shè)置最少發(fā)生錯誤閱讀的圖案,因此,即使在使用(在出廠之后)過程中也可自動提高閱讀準(zhǔn)確度。
在上述第一實(shí)施例中,盡管配置為使操作員在圖1所示字符選擇器40中選擇正確閱讀字符圖案,但也可配置為通過鍵盤輸入正確閱讀字符圖案。以下描述此配置的實(shí)例,作為第二實(shí)施例。
圖16為示出根據(jù)本發(fā)明的第二實(shí)施例的配置的框圖。在此視圖中,相同的參考號用于與圖1中組件相對應(yīng)的組件。在此視圖中,鍵盤100連接到主機(jī)90。當(dāng)閱讀條形碼10時有兩種閱讀結(jié)果(正確閱讀字符圖案和錯誤閱讀字符圖案)時,此鍵盤100用于由操作員直接根據(jù)條形碼10輸入字符圖案。
在上述配置中,當(dāng)條形碼10有兩種閱讀結(jié)果時,條形碼閱讀器80通過主機(jī)90(或直接)通知操作員有錯誤閱讀。根據(jù)此通知,操作員通過使用鍵盤100而輸入在條形碼10附近顯示的字符圖案。
主機(jī)90將輸入的字符圖案作為正確閱讀字符圖案通知條形碼閱讀器80。隨后,條形碼閱讀器80以與第一實(shí)施例相似的方式增加學(xué)習(xí)信息并且執(zhí)行參數(shù)組的重置等。
因而如上所述,根據(jù)第二實(shí)施例,可實(shí)現(xiàn)與第一實(shí)施例相似的效果。
圖17為示出根據(jù)本發(fā)明的第三實(shí)施例的配置的框圖。在此視圖中,相同的參考號用于與圖16中組件相對應(yīng)的組件。在此視圖中,設(shè)置并聯(lián)的條形碼閱讀器801-80n來替換圖16中所示的條形碼閱讀器80。每個條形碼閱讀器801-80n具有與條形碼閱讀器80相同的配置。
在上述配置中,例如,如果在條形碼閱讀器801中有錯誤閱讀并且重置參數(shù)組,就在其它條形碼閱讀器802-80n中并行設(shè)置此參數(shù)組。
因而,如上所述,根據(jù)第三實(shí)施例,由于還在其它條形碼閱讀器802-80n中執(zhí)行參數(shù)設(shè)置,就可在多個條形碼閱讀器中迅速地設(shè)置最少發(fā)生錯誤閱讀的參數(shù),由此能提高效率,其中,條形碼閱讀器802-80n作為條形碼閱讀器801的附件被安裝。
根據(jù)第一實(shí)施例,盡管配置為條形碼閱讀器80設(shè)置有以下功能,如條形碼閱讀功能、當(dāng)錯誤閱讀時使操作員選擇正確閱讀字符圖案的功能、以及重置參數(shù)組的功能,但也可為主機(jī)設(shè)置一些功能。
圖18為示出根據(jù)本發(fā)明的第四實(shí)施例的配置的框圖。在此視圖中,條形碼閱讀器120設(shè)置有條形碼閱讀功能和重置參數(shù)組的功能。主機(jī)130從條形碼閱讀器120接收條形碼閱讀結(jié)果,并且設(shè)置有當(dāng)錯誤閱讀時使操作員選擇正確閱讀字符圖案的功能。服務(wù)器140設(shè)置有圖1所示的參數(shù)信息數(shù)據(jù)庫50和學(xué)習(xí)信息數(shù)據(jù)庫60,并且通過主機(jī)130從條形碼閱讀器120接收查詢數(shù)據(jù)庫的請求。
如上所述,根據(jù)第四實(shí)施例,可實(shí)現(xiàn)與第一實(shí)施例相似的效果。
盡管到目前為止參照附圖描述了第一至第四實(shí)施例,但配置的具體實(shí)例不限制于第一至第四實(shí)施例中的任何一個實(shí)施例,并且,只要不偏離本發(fā)明的基本概念,設(shè)計修改等也包括在本發(fā)明中。
例如,根據(jù)第一至第四實(shí)施例,用于實(shí)現(xiàn)上述條形碼閱讀功能的程序可記錄在圖19所示的計算機(jī)可讀記錄介質(zhì)300中,可使記錄在記錄介質(zhì)300中的程序由計算機(jī)200來閱讀和實(shí)現(xiàn),由此實(shí)現(xiàn)每個功能。
計算機(jī)200包括運(yùn)行上述程序的CPU(中央處理單元)210、輸入設(shè)備220如鍵盤和鼠標(biāo)、存儲各種數(shù)據(jù)的ROM(只讀存儲器)230、RAM(隨機(jī)存取存儲器)240、從記錄介質(zhì)300讀取程序的讀取設(shè)備250、輸出設(shè)備260如顯示器和打印機(jī)、以及連接設(shè)備中每個組件的總線270。
CPU 210通過讀取單元250而讀取記錄在記錄介質(zhì)300中的程序,CPU 210隨后運(yùn)行此程序,由此實(shí)現(xiàn)上述每個功能。光盤、軟盤和硬盤等是記錄介質(zhì)300的實(shí)例。
因而如上所述,根據(jù)本發(fā)明,當(dāng)條形碼的字符發(fā)生錯誤閱讀時,使操作員從多個字符中選擇正確閱讀的字符,并且,由于基于與正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案的比較結(jié)果,而設(shè)置最少發(fā)生錯誤閱讀的圖案,因此,即使在使用過程中也可自動提高閱讀準(zhǔn)確度。
而且,根據(jù)本發(fā)明,由于與正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案基于相關(guān)值而互相關(guān)聯(lián),因此,即使在使用過程中也可自動提高閱讀準(zhǔn)確度。
而且,根據(jù)本發(fā)明,由于與最大相關(guān)值相應(yīng)的參數(shù)設(shè)置為最少發(fā)生錯誤閱讀的參數(shù),因此,即使在使用過程中也可自動提高閱讀準(zhǔn)確度。
而且,根據(jù)本發(fā)明,由于在作為附件安裝的其它條形碼閱讀器中設(shè)置參數(shù),因此,當(dāng)在多個條形碼閱讀器中的任何一個條形碼閱讀器中發(fā)生錯誤閱讀時,可迅速地設(shè)置最少發(fā)生錯誤閱讀的參數(shù),由此能提高效率。
工業(yè)應(yīng)用因而,根據(jù)本發(fā)明的條形碼閱讀器可用于在產(chǎn)品分配領(lǐng)域中閱讀條形碼。
權(quán)利要求
1.一種條形碼閱讀器(80),包括基于參數(shù)而從條形碼(10)閱讀字符的閱讀單元(27);存儲與多個字符圖案相應(yīng)的多個信號波形信息的存儲單元(60);選擇單元(40),當(dāng)發(fā)生錯誤閱讀時,使操作員從多個字符中選擇一個正確閱讀字符;比較單元(31),比較與所選擇的正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案;以及參數(shù)設(shè)置單元(37),基于比較單元(31)的比較結(jié)果而在閱讀單元(27)中設(shè)置最少發(fā)生錯誤閱讀的參數(shù)。
2.如權(quán)利要求1所述的條形碼閱讀器(80),其中,比較單元(31)使與所選擇的正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案相關(guān)聯(lián)。
3.如權(quán)利要求2所述的條形碼閱讀器(80),其中,參數(shù)設(shè)置單元(37)在閱讀單元(27)中設(shè)置與最大相關(guān)值相應(yīng)的參數(shù),作為最少發(fā)生錯誤閱讀的參數(shù)。
4.如權(quán)利要求1所述的條形碼閱讀器(80),其中,參數(shù)設(shè)置單元(37)在作為附件安裝的條形碼閱讀器(801,802,...80n)中設(shè)置所述參數(shù)。
5.一種使計算機(jī)用作條形碼閱讀器并使計算機(jī)執(zhí)行以下步驟的計算機(jī)程序,所述步驟為基于參數(shù)而從條形碼閱讀字符;存儲與多個字符圖案相應(yīng)的多個信號波形信息;選擇,包括如果發(fā)生錯誤閱讀就使操作員從多個字符中選擇一個正確閱讀字符;比較與所選擇的正確閱讀字符相應(yīng)的圖案和在逐個改變參數(shù)的同時從多個信號波形信息獲得的圖案;以及基于所述比較的比較結(jié)果而在閱讀單元中設(shè)置最少發(fā)生錯誤閱讀的參數(shù)。
全文摘要
提供以下單元基于參數(shù)而從條形碼(10)閱讀字符的閱讀單元;學(xué)習(xí)信息數(shù)據(jù)庫(60),存儲與多個圖案的字符相應(yīng)的多個圖案波形信息,作為學(xué)習(xí)信息;字符選擇器(40),當(dāng)發(fā)生字符的錯誤閱讀時,使操作員從多個字符中選擇一個正確閱讀字符;參數(shù)設(shè)置單元(37),該單元比較與所選擇的正確閱讀字符圖案相應(yīng)的正確閱讀三值化圖案和在逐個改變參數(shù)的同時從多個學(xué)習(xí)信息獲得的三值化圖案,并且基于比較結(jié)果在BPF(27)中設(shè)置最少發(fā)生錯誤閱讀的參數(shù)。
文檔編號G06K7/14GK1630874SQ0282923
公開日2005年6月22日 申請日期2002年6月28日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者巖口功, 山崎行造 申請人:富士通株式會社, 富士通先端科技株式會社