專利名稱:用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種集成電路(Integrated Circuit)的硬件算法,尤其是指一種用 于無(wú)線遙控接收芯片的自適應(yīng)解碼算法。能夠廣泛地運(yùn)用在汽車安全系統(tǒng)、車 庫(kù)控制、遙控玩具、遙控風(fēng)扇、工業(yè)控制和家庭安全、自動(dòng)控制等領(lǐng)域的解碼 芯片之中。
背景技術(shù):
目前,對(duì)于無(wú)線遙控定碼編碼信號(hào)的接收基本有兩種形式, 一種是采用與 發(fā)射編碼芯片匹配的專用接收芯片,另一種是使用MCU,外圍構(gòu)建附加硬件電 路,并進(jìn)行軟件編程,以實(shí)現(xiàn)接收功能。
使用專用接收芯片的方案,是在接收電路模塊中采用與發(fā)射芯片相匹配的 專用芯片,在生產(chǎn)調(diào)試期間必須按照發(fā)射端的發(fā)射頻率調(diào)整外部振蕩電阻,以 匹配發(fā)射信號(hào)的頻率,否則接收將會(huì)失?。徊⑶野凑瞻l(fā)射電路預(yù)定好的地址數(shù)
據(jù)設(shè)定相對(duì)應(yīng)的地址,這在使用過(guò)程中是不能更改的,否則就失去與發(fā)射電路 的對(duì)應(yīng)關(guān)系,不能接收發(fā)射信號(hào)。由于地址的唯一性,以及頻率匹配要求的嚴(yán)
格性,使得接收方案的調(diào)試或更改變得繁瑣耗時(shí);并且當(dāng)因?yàn)榄h(huán)境或其他因素 導(dǎo)致發(fā)射端或接收端的工作頻率發(fā)生變化時(shí),電路自身不能自適應(yīng)這樣的變化, 接收失敗的概率大大增加;對(duì)于頻率要求較快的情況下,接收端也需要按照要 求調(diào)整工作頻率,這樣使得電路功耗也同時(shí)增加;更有局限性的是,對(duì)于目前 的解碼專用電路來(lái)講,是不可能同時(shí)識(shí)別兩態(tài)地址編碼和三態(tài)地址編碼的,其 解碼模式是單一的。
使用MCU接收遙控信號(hào),相對(duì)上述的專用解碼電路是非常方便和靈活的方 案,而且還能擴(kuò)展一些其他的功能。但是對(duì)于定碼遙控信號(hào)接收這樣一個(gè)工作 原理和功能要求非常簡(jiǎn)單的領(lǐng)域,使用MCU顯得有些昂貴。對(duì)于遙控信號(hào)接收, MCU在外圍配合必要的硬件電路,并且需要軟件模擬信號(hào)接收、運(yùn)算的過(guò)程, 這樣由于MCU結(jié)構(gòu)的原因,程序執(zhí)行的流水線效率往往不能達(dá)到最佳,在要求 覆蓋發(fā)射信號(hào)的全頻率范圍的情況下, 一方面軟件量需要增加,另一方面為了 兼顧頻率較高的范圍,MCU工作主頻相比需要設(shè)置較高,這樣電路的功耗就會(huì) 相應(yīng)增加不少;另外,軟件運(yùn)行的穩(wěn)定性,對(duì)于整體電路的工作環(huán)境也是有一 定要求的,這點(diǎn)上,純硬件算法電路顯得具有優(yōu)勢(shì)。
"鑒于上述的無(wú)線遙控定碼編碼信號(hào)接收方案, 一個(gè)對(duì)工作頻率要求不高的, 解碼靈活的,低功耗低成本的解碼算法,就成為了一種需求。
發(fā)明內(nèi)容
本發(fā)明的目的是尋求一種用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,這種 可以覆蓋全頻率范圍且無(wú)須調(diào)整自身工作頻率的、識(shí)別地址可以兼容兩態(tài)/三態(tài) 編碼的、地址碼可以靈活更改的、對(duì)環(huán)境影響及噪聲干擾影響適應(yīng)性強(qiáng)的、具 有低功耗并具有低成本優(yōu)勢(shì)的硬件自適應(yīng)解碼算法。
為了實(shí)現(xiàn)上述目的,本發(fā)明提出一種自適應(yīng)解碼算法,這個(gè)算法采樣接收 到的信號(hào),利用簡(jiǎn)單直觀的寄存器操作實(shí)現(xiàn)信號(hào)碼元數(shù)據(jù)化處理所必須的數(shù)學(xué) 運(yùn)算,避免了繁復(fù)的硬件乘除法器結(jié)構(gòu),能夠?qū)崿F(xiàn)對(duì)兩態(tài)/三態(tài)地址編碼的自動(dòng) 識(shí)別處理,并且算法本身對(duì)于噪聲干擾以及信號(hào)誤差的處理效果都十分理想。
,用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法包括
a、 接收采樣無(wú)線遙控定碼編碼信號(hào)是以數(shù)據(jù)幀的形式傳輸?shù)模瑢?duì)于每一 次接收輸入信號(hào)數(shù)據(jù)幀時(shí),在檢測(cè)到輸入信號(hào)的高低電平的上升/下降沿后,利 用采樣時(shí)鐘,分別對(duì)輸入信號(hào)的高電平及碼寬進(jìn)行采樣計(jì)數(shù),并將相應(yīng)的采樣 值保存起來(lái);
b、 確定基準(zhǔn)值對(duì)采樣后的數(shù)值進(jìn)行比對(duì)分析,根據(jù)同步碼高低電平的比 例關(guān)系,對(duì)采樣數(shù)據(jù)進(jìn)行計(jì)算,將同步碼的高電平采樣值作為本次接收的輸入 信號(hào)數(shù)據(jù)幀碼元數(shù)值化的基準(zhǔn)值,保存至基準(zhǔn)值寄存器中;
C、確定誤差及冗余在確立基準(zhǔn)值后,按照設(shè)定的誤差比例,計(jì)算出本次 接收數(shù)據(jù)幀時(shí)的碼元誤差范圍,并且采用前后接收數(shù)據(jù)或者前后同步碼比對(duì)的 冗余算法,再加上本算法對(duì)于每次接收的輸入信號(hào)數(shù)據(jù)幀都更新基準(zhǔn)值,這樣, 對(duì)于系統(tǒng)規(guī)范定義之內(nèi)的噪聲及誤差范圍,準(zhǔn)確處理接收信號(hào);所述誤差比例 為基準(zhǔn)值的±12.5%;
d、 碼元數(shù)據(jù)數(shù)值化在得到基準(zhǔn)值,并且計(jì)算好誤差范圍后,將本次輸入 信號(hào)數(shù)據(jù)幀碼元的高電平及碼寬的采樣值,分別與基準(zhǔn)值進(jìn)行比對(duì),確定比例 關(guān)系,依照定義的碼元固定的占空比關(guān)系將接收的碼元數(shù)據(jù)數(shù)值化;
e、 輸入信號(hào)的自適應(yīng)對(duì)于每一次接收的輸入信號(hào)數(shù)據(jù)幀,都重新確定基 準(zhǔn)值,并且,在對(duì)碼元的數(shù)值化處理時(shí),都只是按照高低電平的占空比關(guān)系確 定具體數(shù)值,實(shí)現(xiàn)對(duì)不同頻率及碼寬輸入信號(hào)的自適應(yīng)識(shí)別。
在碼元數(shù)值化過(guò)程中,根據(jù)碼元寬度與基準(zhǔn)單位數(shù)據(jù)的寬度比,采用寄存 器移位操作。
在輸入信號(hào)的自適應(yīng)過(guò)程中,對(duì)于每次接收的輸入信號(hào)數(shù)據(jù)幀,基準(zhǔn)值都 進(jìn)行更新,并且采用前后輸入信號(hào)數(shù)據(jù)幀數(shù)值或前后同步碼比對(duì)的冗余算法。 在接收到同步碼后,將同步碼高電平的采樣計(jì)數(shù)值作為本次接收的碼元基準(zhǔn)值, 并且在每次接收到新的編碼數(shù)據(jù)的同步碼時(shí)都對(duì)基準(zhǔn)值進(jìn)行更新;由于每個(gè)碼 元的占空比是固定的,因此只要對(duì)各碼元的占空比進(jìn)行計(jì)算,就能夠識(shí)別各碼 元,將其數(shù)據(jù)化。
各碼元的數(shù)值化釆用如下方法計(jì)算
將同步碼的高電平釆樣計(jì)數(shù)值作為基準(zhǔn)值Q),位寬定義與整個(gè)碼元釆樣數(shù) 值相匹配;
如果碼元高電平-C。,且碼寬為<formula>formula see original document page 5</formula>則本碼元為同步碼;
如果碼元高電平-c。,且碼寬為<formula>formula see original document page 5</formula>則本碼元為數(shù)據(jù)"0"碼;
如果碼元碼寬-碼元高電平=CQ,且碼寬為<formula>formula see original document page 5</formula>則本碼元為 數(shù)據(jù)"1"碼。
在對(duì)誤差比例進(jìn)行處理時(shí), 首先將誤差的允許范圍規(guī)定在±12.5%;
定義一個(gè)寄存器Dn,其寬度設(shè)置為與發(fā)射頻率最低時(shí)計(jì)數(shù)數(shù)據(jù)相匹配;
設(shè)基準(zhǔn)值C。的位數(shù)為n,定義基準(zhǔn)誤差為E。,位數(shù)為n-3,
貝IJ: E0= (C。》3);
數(shù)據(jù)碼元范圍即為D0={ (Co-E0), 2,b00}至u D! = { (Co+Eq), 2,bll}; 同步碼包含誤差后范圍為D2={ (Q)-Eo), 5,b00000}到
D3={ (C0 + E0), 5,blllll}。
在輸入信號(hào)的自適應(yīng)處理時(shí),在發(fā)射端編碼發(fā)射頻率不同時(shí),計(jì)算出不同 的基準(zhǔn)值;同時(shí),碼元的數(shù)據(jù)化處理都只是與其高低電平的占空比相關(guān),不受 其頻率的影響,因此,信號(hào)的接收、處理覆蓋了無(wú)線遙控發(fā)射信號(hào)的全頻率范 圍,實(shí)現(xiàn)自適應(yīng)解碼。
無(wú)線遙控定碼編碼信號(hào)包括兩態(tài)及三態(tài)地址的編碼,由于兩態(tài)及三態(tài)地址 的編碼的同步碼、數(shù)據(jù)碼元的占空比關(guān)系是一致的,只有數(shù)據(jù)碼元的位數(shù)不同, 因此,在以基準(zhǔn)值為參照的基礎(chǔ)上得出碼元數(shù)值后,再按照位數(shù)關(guān)系自動(dòng)區(qū)分 兩態(tài)及三態(tài)地址的編碼信號(hào)。
在應(yīng)用系統(tǒng)中,如圖1所示,無(wú)線遙控信號(hào)經(jīng)過(guò)天線及接收放大電路,傳 送至本自適應(yīng)解碼硬件算法電路(解碼器)中,經(jīng)過(guò)數(shù)據(jù)處理,將解碼后的數(shù) 據(jù)傳遞給系統(tǒng)的輸出控制模塊,最終完成應(yīng)用系統(tǒng)的功能。本自適應(yīng)解碼硬件 算法電路即處在這樣 一個(gè)數(shù)據(jù)的中間處理的位置。
本自適應(yīng)解碼硬件算法電路,如圖2所示,由A (電平觸發(fā)檢測(cè))、B (采 樣計(jì)數(shù)器)、C (基準(zhǔn)值/碼寬計(jì)算)、D (噪聲誤差控制)、E (同步碼鑒別)、F (數(shù)據(jù)碼鑒別)、G (自適應(yīng)數(shù)值化處理)、H (兩態(tài)/三態(tài)碼鑒別)、I (輸出寄存 器)等功能模塊組成。
本自適應(yīng)解碼硬件算法電路,當(dāng)有無(wú)線遙控信號(hào)輸入時(shí),功能模塊A(電 平觸發(fā)檢測(cè))偵測(cè)到輸入信號(hào)高低電平的上升/下降沿,繼而觸發(fā)功能模塊B (采 樣計(jì)數(shù)器),開(kāi)始分別對(duì)接收到的信號(hào)的高電平及碼寬進(jìn)行采樣計(jì)數(shù),采樣計(jì)數(shù) 得到的數(shù)值由功能模塊C (基準(zhǔn)值/碼寬計(jì)算)進(jìn)行計(jì)算,得出本次接收數(shù)據(jù)判 斷使用的基準(zhǔn)值,以及計(jì)算得出本次接收數(shù)據(jù)的碼元寬度,再經(jīng)過(guò)功能模塊D (噪聲誤差控制)的誤差冗余處理,將基準(zhǔn)值以及本次接收數(shù)據(jù)的碼元寬度送 至功能模塊E (同步碼鑒別)及功能模塊F (數(shù)據(jù)碼鑒別),分別計(jì)算判斷得出 同步碼、數(shù)據(jù)碼,再將這些經(jīng)過(guò)處理的同步碼、數(shù)據(jù)碼送到功能模塊G (自適 應(yīng)數(shù)值化處理)中,進(jìn)行數(shù)值化計(jì)算,得出本次接收數(shù)據(jù)的數(shù)值化結(jié)果,最后, 還需要經(jīng)過(guò)功能模塊H (兩態(tài)/三態(tài)碼鑒別)進(jìn)行兩態(tài)/三態(tài)編碼識(shí)別,這樣就完 成了對(duì)本次接收數(shù)據(jù)的自適應(yīng)解碼處理,從而可以將最終的解碼數(shù)據(jù)送至功能 模塊I (輸出寄存器)中,為其他電路的數(shù)據(jù)處理做好準(zhǔn)備。
無(wú)線遙控信號(hào)都是以數(shù)據(jù)幀的形式(如圖3所示)進(jìn)行傳遞的,信號(hào)每一 個(gè)完整的高低電平變化周期即為 一個(gè)數(shù)據(jù)碼元。每個(gè)數(shù)據(jù)幀都是由同步碼(Csyn) 及數(shù)據(jù)碼(D廣D23)組成的,其中,兩態(tài)/三態(tài)編碼的數(shù)據(jù)幀格式是相同的,只 是數(shù)據(jù)碼的數(shù)據(jù)碼元位數(shù)不同。對(duì)于兩態(tài)/三態(tài)編碼,它們的同步碼定義也是相 同的,當(dāng)一個(gè)數(shù)據(jù)碼元的高電平與低電平的占空比為1: 31 (如圖中所示高低電 平寬度比為TH: 31TH),這個(gè)碼元即為同步碼;對(duì)于兩態(tài)編碼,邏輯數(shù)據(jù)"l" 表示為信號(hào)的高低電平比為3: 1 (如"S'屮所示3!l: Tl),邏輯數(shù)據(jù)"0"表示 為信號(hào)的高低電平比為l: 3 (如圏中所示Th: 3Th);對(duì)于三態(tài)編碼,邏輯數(shù)據(jù) "1"是由兩個(gè)連續(xù)的高低電平比為3: 1 (如團(tuán)中所示3Tl: Il)的數(shù)據(jù)碼元組 成的,邏輯數(shù)據(jù)"O"是由兩個(gè)連續(xù)的高低電平比為1: 3 (如圉中所示Th: 3Th) 的數(shù)據(jù)碼元組成的,另外,三態(tài)編碼還有一個(gè)邏輯數(shù)據(jù)"f",表示即非"0"又 非"l"的第三態(tài),其由連續(xù)的一個(gè)高低電平為1: 3 (如圈中所示Th: 3Th)的 數(shù)據(jù)碼元及一個(gè)高低電平為3: 1 (如圈中所示3Tl: 1l)的數(shù)據(jù)碼元組成。圖3 中的采樣時(shí)鐘在本自適應(yīng)解碼硬件方法中,即為系統(tǒng)的工作時(shí)鐘(如圖2中"系 統(tǒng)時(shí)鐘CLK")。
圖1是本發(fā)明在接收電路系統(tǒng)中的示意圖。 圖2是本發(fā)明電路的硬件模塊結(jié)構(gòu)框圖。
圖3是本發(fā)明的工作流程圖。
圖4是本發(fā)明接收編碼的碼元圖例。
具體實(shí)施例方式
a、 接收采樣無(wú)線遙控定碼編碼信號(hào)是以數(shù)據(jù)幀的形式傳輸?shù)?,?duì)于每一
次接收輸入信號(hào)數(shù)據(jù)幀時(shí),在檢測(cè)到輸入信號(hào)的高低電平的上升/下降沿后,利 用采樣時(shí)鐘,分別對(duì)輸入信號(hào)的高電平及碼寬進(jìn)行采樣計(jì)數(shù),并將相應(yīng)的采樣
值保存起來(lái);
b、 確定基準(zhǔn)值對(duì)采樣后的數(shù)值進(jìn)行比對(duì)分析,根據(jù)同步碼高低電平的比
例關(guān)系,對(duì)采樣數(shù)據(jù)進(jìn)行計(jì)算,將同步碼的高電平采樣值作為本次接收的輸入
信號(hào)數(shù)據(jù)幀碼元數(shù)值化的基準(zhǔn)值,保存至基準(zhǔn)值寄存器中;
C、確定誤差及冗余在確立基準(zhǔn)值后,按照設(shè)定的誤差比例,計(jì)算出本次 接收數(shù)據(jù)幀時(shí)的碼元誤差范圍,并且采用前后接收數(shù)據(jù)或者前后同步碼比對(duì)的 冗余算法,再加上本算法對(duì)于每次接收的輸入信號(hào)數(shù)據(jù)幀都更新基準(zhǔn)值,這樣, 對(duì)于系統(tǒng)規(guī)范定義之內(nèi)的噪聲及誤差范圍,準(zhǔn)確處理接收信號(hào);所述誤差比例 為基準(zhǔn)值的±12.5%;
d、 碼元數(shù)據(jù)數(shù)值化在得到基準(zhǔn)值,并且計(jì)算好誤差范圍后,將本次輸入 信號(hào)數(shù)據(jù)幀碼元的高電平及碼寬的采樣值,分別與基準(zhǔn)值進(jìn)行比對(duì),確定比例 關(guān)系,依照定義的碼元固定的占空比關(guān)系將接收的碼元數(shù)據(jù)數(shù)值化;
e、 輸入信號(hào)的自適應(yīng)對(duì)于每一次接收的輸入信號(hào)數(shù)據(jù)幀,都重新確定基 準(zhǔn)值,并且,在對(duì)碼元的數(shù)值化處理時(shí),都只是按照高低電平的占空比關(guān)系確 定具體數(shù)值,實(shí)現(xiàn)對(duì)不同頻率及碼寬輸入信號(hào)的自適應(yīng)識(shí)別。
在碼元數(shù)值化過(guò)程中,根據(jù)碼元寬度與基準(zhǔn)單位數(shù)據(jù)的寬度比,采用寄存 器移位操作。
在輸入信號(hào)的自適應(yīng)過(guò)程中,對(duì)于每次接收的輸入信號(hào)數(shù)據(jù)幀,基準(zhǔn)值都 進(jìn)行更新,并且采用前后輸入信號(hào)數(shù)據(jù)幀數(shù)值或前后同步碼比對(duì)的冗余算法。 在接收到同步碼后,將同步碼高電平的采樣計(jì)數(shù)值作為本次接收的碼元基準(zhǔn)值, 并且在每次接收到新的編碼數(shù)據(jù)的同步碼時(shí)都對(duì)基準(zhǔn)值進(jìn)行更新;由于每個(gè)碼 元的占空比是固定的,因此只要對(duì)各碼元的占空比進(jìn)行計(jì)算,就能夠識(shí)別各碼 元,將其數(shù)據(jù)化。各碼元的數(shù)值化采用如下方法計(jì)算
將同步碼的高電平采樣計(jì)數(shù)值作為基準(zhǔn)值Cc,位寬定義與整個(gè)碼元采樣數(shù) 值相匹配;
如果碼元高電平^Q),且碼寬為d: (CQ<<5),則本碼元為同步碼; 如果碼元高電平=0>,且碼寬為(32 = 0)<<2),則本碼元為數(shù)據(jù)"0"碼; 如果碼元碼寬-碼元高電平=C。,且碼寬為(33= (CQ<<2),則本碼元為 數(shù)據(jù)"1"碼。
在對(duì)誤差比例進(jìn)行處理時(shí), 首先將誤差的允許范圍規(guī)定在±12.5%;
定義一個(gè)寄存器DQ,其寬度設(shè)置為與發(fā)射頻率最低時(shí)計(jì)數(shù)數(shù)據(jù)相匹配; 設(shè)基準(zhǔn)值C。的位數(shù)為n,定義基準(zhǔn)誤差為Eo,位數(shù)為n-3, 貝'J: E0= (C。》3);
數(shù)據(jù)碼元范圍即為D。={ (Q)-Eo), 2,b00}到(Co+Eo), 2,bll};
同步碼包含誤差后范圍為D2 = { (Co-Eq), 5'b00000}到
D3 = { (C0 + E0), 5,blllll}。
在輸入信號(hào)的自適應(yīng)處理時(shí),在發(fā)射端編碼發(fā)射頻率不同時(shí),計(jì)算出不同 的基準(zhǔn)值;同時(shí),碼元的數(shù)據(jù)化處理都只是與其高低電平的占空比相關(guān),不受 其頻率的影響,因此,信號(hào)的接收、處理覆蓋了無(wú)線遙控發(fā)射信號(hào)的全頻率范 圍,實(shí)現(xiàn)自適應(yīng)解碼。
無(wú)線遙控定碼編碼信號(hào)包括兩態(tài)及三態(tài)地址的編碼,由于兩態(tài)及三態(tài)地址 的編碼的同步碼、數(shù)據(jù)碼元的占空比關(guān)系是一致的,只有數(shù)據(jù)碼元的位數(shù)不同, 因此,在以基準(zhǔn)值為參照的基礎(chǔ)上得出碼元數(shù)值后,再按照位數(shù)關(guān)系自動(dòng)區(qū)分 兩態(tài)及三態(tài)地址的編碼信號(hào)。
下面,就本發(fā)明結(jié)合硬件模塊結(jié)構(gòu)(如圖2),按照輸入信號(hào)處理流程進(jìn)行 原理性的闡述
本自適應(yīng)解碼硬件算法電路在應(yīng)用系統(tǒng)中,所處的位置如圖1所示,其算 法硬件模塊結(jié)構(gòu)框圖如圖2所示;
當(dāng)有無(wú)線遙控信號(hào)輸入時(shí),功能模塊A (電平觸發(fā)檢測(cè))偵測(cè)到輸入信號(hào) 的上升/下降沿,繼而觸發(fā)功能模塊B (采樣計(jì)數(shù)器),分別對(duì)接收到的有效單位 碼元(如圖3所示的同步碼、"0"碼、"1"碼)的高電平及碼寬進(jìn)行采樣計(jì)數(shù), 將相應(yīng)的采樣計(jì)數(shù)值依次記錄下來(lái);
如圖3所示,同步碼的高電平和碼寬的比例關(guān)系為1:32,數(shù)據(jù)"0"碼的高 電平和碼寬的比例為l: 4,數(shù)據(jù)"1"碼的高電平和碼寬的比例為3: 4;而32 是2的5次方,4是2的2次方,因此,可以根據(jù)這樣的數(shù)學(xué)關(guān)系依據(jù)一個(gè)基準(zhǔn) 值來(lái)計(jì)算各碼元;
在本次接收數(shù)據(jù)過(guò)程中,將功能模塊B (采樣計(jì)數(shù)器)的采樣值按照上述輸 入信號(hào)數(shù)據(jù)幀中各碼元的的比例關(guān)系,確定出同步碼的高電平,并以此高電平 的采樣值作為本次接收的碼元計(jì)算的基準(zhǔn)值,在下次接收數(shù)據(jù)時(shí),基準(zhǔn)值再依 照當(dāng)次接收的同步碼的高電平采樣值重新確定。在確定基準(zhǔn)值的同時(shí),對(duì)接收 的各碼元的寬度也進(jìn)行記錄;在信號(hào)接收的過(guò)程中,總是會(huì)存在著各種各樣的干擾噪聲,對(duì)于噪聲的處 理有很多種方法,但是,對(duì)于本自適應(yīng)算法,由于每次接收數(shù)據(jù)幀時(shí)都更新基 準(zhǔn)值,即對(duì)每次接收數(shù)據(jù)時(shí)的同步碼都重新記錄采樣計(jì)數(shù)值,并且對(duì)于接收數(shù) 據(jù)采用前后信號(hào)幀或同步碼比對(duì)的冗余算法,這樣就能避免誤碼率,有效地消 除了噪聲干擾對(duì)信號(hào)判斷計(jì)算的影響。
信號(hào)的傳輸通路中,各種因素也會(huì)導(dǎo)致信號(hào)誤差的產(chǎn)生,使得信號(hào)與標(biāo)準(zhǔn) 定義具有一定的誤差。在本自適應(yīng)解碼硬件算法電路中,針對(duì)誤差因素,采用
了一個(gè)簡(jiǎn)單而高效的方法,電路既簡(jiǎn)單又有實(shí)效(下列表達(dá)式采用Verilog語(yǔ)言 描述,后同)
在這里,將同步碼的高電平采樣計(jì)數(shù)值作為基準(zhǔn)值Co (其寄存器位寬定義 與整個(gè)碼元采樣數(shù)值相匹配);
a) 首先將誤差的允許范圍規(guī)定在12.5%,這是一個(gè)比較合適的值,同時(shí)對(duì)于 硬件電路來(lái)講也即為數(shù)據(jù)右移3位的結(jié)果
b) 定義一個(gè)寄存器D。,其寬度設(shè)置為與發(fā)射頻率最低時(shí)計(jì)數(shù)數(shù)據(jù)相匹配
c) 設(shè)基準(zhǔn)值C。的位數(shù)為n,定義基準(zhǔn)誤差為Eo,位數(shù)為n-3,貝lj:
E0= (C0 3)
d) 數(shù)據(jù)碼元范圍即為D0={ (C0-E0), 2'b00)到D產(chǎn)《(C0+E0), 2,bll}
e) 同步碼包含誤差后范圍為D2={ (C0- E0), 5'bOOOOO}到
D3 = { (C0 + E0), 5,blllll} 如此處理之后,在發(fā)射端全頻率范圍內(nèi),并且在規(guī)范定義之內(nèi)的噪聲及誤
差范圍內(nèi),本自適應(yīng)解碼硬件算法電路都能良好地處理接收信號(hào),為之后的碼
元數(shù)值化提供準(zhǔn)確可靠的數(shù)據(jù)。
由于在接收數(shù)據(jù)幀中的每個(gè)碼元的占空比是固定的,因此只要對(duì)各碼元的
占空比依照本次接收數(shù)據(jù)的基準(zhǔn)值進(jìn)行計(jì)算,就能夠識(shí)別各碼元,區(qū)分同步碼
及數(shù)據(jù)碼,得出輸入信號(hào)數(shù)據(jù)幀的碼元性質(zhì)、位數(shù)長(zhǎng)度等信息;
如前所述,同步碼、數(shù)據(jù)"0"碼、數(shù)據(jù)"1"碼的高電平與其碼元寬度都
有一個(gè)固定比例關(guān)系,并且這個(gè)比例關(guān)系都是以2的倍數(shù)關(guān)系存在的,因此以
基準(zhǔn)值作為參考數(shù)據(jù),按照二進(jìn)制的移位運(yùn)算,即可反映出這個(gè)比例關(guān)系。所
以,各碼元的數(shù)值化可以采用如下方法計(jì)算
在這里,將同步碼的高電平采樣計(jì)數(shù)值作為基準(zhǔn)值CQ (其寄存器位寬定義
與整個(gè)碼元采樣數(shù)值相匹配);
如果碼元高電平《。,且碼寬為C (CQ<<5),則本碼元為同步碼; 如果碼元高電平=0>,且碼寬為Cf (Cq<<2),則本碼元為數(shù)據(jù)"0"碼; 如果碼元碼寬-碼元高電平-Co,且碼寬為C3= (Cc 2),則本碼元為數(shù)據(jù) "1"碼;
由于基準(zhǔn)值在每次接收到新的數(shù)據(jù)幀的步碼時(shí)都被更新,因此,在發(fā)射端 編碼發(fā)射頻率不同時(shí),基準(zhǔn)值也是不同的;同時(shí),碼元的數(shù)據(jù)化處理都只是與 其高低電平的占空比關(guān)系相關(guān),不受其頻率的影響,因此,只要設(shè)計(jì)好采樣頻 率,保證在發(fā)射信號(hào)頻率全范圍內(nèi)安全采樣,就能使得信號(hào)的接收、處理覆蓋 發(fā)射信號(hào)頻率全范圍,并且受自身工作頻率的影響也最小,這樣就達(dá)到了自適
應(yīng)解碼的目的。
無(wú)線遙控定碼編碼信號(hào)定義有兩態(tài)地址碼,也有三態(tài)地址碼,其編碼定義
如圖3所示,兩態(tài)地址編碼通過(guò)一個(gè)高低電平寬度比為1:3的碼元來(lái)表示數(shù)據(jù) "0",高低電平卡比為3:1的碼元表示數(shù)據(jù)"l";而三態(tài)地址編碼則通過(guò)兩個(gè)連 續(xù)的高低電平寬度比為1:3的碼元來(lái)表示數(shù)據(jù)"0",兩個(gè)連續(xù)的高低電平寬度比 為3:1的碼元來(lái)表示數(shù)據(jù)"1",另外, 一個(gè)高低電平寬度比為1:3的碼元加一個(gè) 高低電平寬度比為3:1的碼元組合表示數(shù)據(jù)"f",兩態(tài)和三態(tài)編碼的同步碼都是 一樣的,即高低電平寬度比為1:31。由于本算法只按照碼元的占空比來(lái)對(duì)信號(hào) 進(jìn)行數(shù)值化,因此,對(duì)于兩態(tài)/三態(tài)地址編碼,本算法都是先計(jì)算出基準(zhǔn)采樣值, 然后再對(duì)同一幀碼元進(jìn)行數(shù)值化解碼,解碼后可得出碼元的位數(shù),依照兩態(tài)/三 態(tài)編碼數(shù)據(jù)位數(shù)定義的差異,就能夠分辨出兩態(tài)和三態(tài)地址編碼了,并且主頻 無(wú)須根據(jù)發(fā)射端發(fā)射頻率的變化而更改,完全實(shí)現(xiàn)自適應(yīng)。
權(quán)利要求
1、一種用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征在于a、接收采樣無(wú)線遙控定碼編碼信號(hào)是以數(shù)據(jù)幀的形式傳輸?shù)?,?duì)于每一次接收輸入信號(hào)數(shù)據(jù)幀時(shí),在檢測(cè)到輸入信號(hào)的高低電平的上升/下降沿后,利用采樣時(shí)鐘,分別對(duì)輸入信號(hào)的高電平及碼寬進(jìn)行采樣計(jì)數(shù),并將相應(yīng)的采樣值保存起來(lái);b、確定基準(zhǔn)值對(duì)采樣后的數(shù)值進(jìn)行比對(duì)分析,根據(jù)同步碼高低電平的比例關(guān)系,對(duì)采樣數(shù)據(jù)進(jìn)行計(jì)算,將同步碼的高電平采樣值作為本次接收的輸入信號(hào)數(shù)據(jù)幀碼元數(shù)值化的基準(zhǔn)值,保存至基準(zhǔn)值寄存器中;c、確定誤差及冗余在確立基準(zhǔn)值后,按照設(shè)定的誤差比例,計(jì)算出本次接收數(shù)據(jù)幀時(shí)的碼元誤差范圍,并且采用前后接收數(shù)據(jù)或者前后同步碼比對(duì)的冗余算法,再加上本算法對(duì)于每次接收的輸入信號(hào)數(shù)據(jù)幀都更新基準(zhǔn)值,這樣,對(duì)于系統(tǒng)規(guī)范定義之內(nèi)的噪聲及誤差范圍,準(zhǔn)確處理接收信號(hào);所述誤差比例為基準(zhǔn)值的±12.5%;d、碼元數(shù)據(jù)數(shù)值化在得到基準(zhǔn)值,并且計(jì)算好誤差范圍后,將本次輸入信號(hào)數(shù)據(jù)幀碼元的高電平及碼寬的采樣值,分別與基準(zhǔn)值進(jìn)行比對(duì),確定比例關(guān)系,依照定義的碼元固定的占空比關(guān)系將接收的碼元數(shù)據(jù)數(shù)值化;e、輸入信號(hào)的自適應(yīng)對(duì)于每一次接收的輸入信號(hào)數(shù)據(jù)幀,都重新確定基準(zhǔn)值,并且,在對(duì)碼元的數(shù)值化處理時(shí),都只是按照高低電平的占空比關(guān)系確定具體數(shù)值,實(shí)現(xiàn)對(duì)不同頻率及碼寬輸入信號(hào)的自適應(yīng)識(shí)別。
2、 如權(quán)利要求1所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征 在于在碼元數(shù)值化過(guò)程中,根據(jù)碼元寬度與基準(zhǔn)單位數(shù)據(jù)的寬度比,采用 寄存器移位操作。
3、 如權(quán)利要求1所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征 在于在輸入信號(hào)的自適應(yīng)過(guò)程中,對(duì)于每次接收的輸入信號(hào)數(shù)據(jù)幀,基準(zhǔn) 值都進(jìn)行更新,并且采用前后輸入信號(hào)數(shù)據(jù)幀數(shù)值或前后同步碼比對(duì)的冗余 算法。
4、 如權(quán)利要求1所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征 在于在接收到同步碼后,將同步碼高電平的采樣計(jì)數(shù)值作為本次接收的碼 元基準(zhǔn)值,并且在每次接收到新的編碼數(shù)據(jù)的同步碼時(shí)都對(duì)基準(zhǔn)值進(jìn)行更新;由于每個(gè)碼元的占空比是固定的,因此只要對(duì)各碼元的占空比進(jìn)行計(jì)算,就 能夠識(shí)別各碼元,將其數(shù)據(jù)化。
5、 如權(quán)利要求1所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征 在于各碼元的數(shù)值化采用如下方法計(jì)算將同步碼的高電平采樣計(jì)數(shù)值作為基準(zhǔn)值CQ,位寬定義與整個(gè)碼元采樣 數(shù)值相匹配;如果碼元高電平=0>,且碼寬為d= (Cc<<5),則本碼元為同步碼;如果碼元高電平=0),且碼寬為<:2 = <:。<<2),則本碼元為數(shù)據(jù)"0"碼;如果碼元碼寬-碼元高電平=C。,且碼寬為C3 = (C。 << 2),則本碼 元為數(shù)據(jù)"1"碼。
6、 如權(quán)利要求1所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征是在對(duì)誤差比例進(jìn)行處理時(shí),首先將誤差的允許范圍規(guī)定在±12.5%;定義一個(gè)寄存器D。,其寬度設(shè)置為與發(fā)射頻率最低時(shí)計(jì)數(shù)數(shù)據(jù)相匹配; 設(shè)基準(zhǔn)值C。的位數(shù)為n,定義基準(zhǔn)誤差為Eo,位數(shù)為n-3, 則: E0= (C。》3);數(shù)據(jù)碼元范圍即為D(^((Co-Eo),2,b00)到D,((Co+Eo),2,bllh 同步碼包含誤差后范圍為D2={ (Co-Eo), 5,b00000}至UD3 = { (C0 + E0), 5,blllll}。
7、 如權(quán)利要求1所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特征 是在輸入信號(hào)的自適應(yīng)處理時(shí),在發(fā)射端編碼發(fā)射頻率不同時(shí),計(jì)算出不 同的基準(zhǔn)值;同時(shí),碼元的數(shù)據(jù)化處理都只是與其高低電平的占空比相關(guān), 不受其頻率的影響,因此,信號(hào)的接收、處理覆蓋了無(wú)線遙控發(fā)射信號(hào)的全 頻率范圍,實(shí)現(xiàn)自適應(yīng)解碼。
8、如權(quán)利要求l所述用于無(wú)線遙控接收芯片的自適應(yīng)解碼方法,其特 征是無(wú)線遙控定碼編碼信號(hào)包括兩態(tài)及三態(tài)地址的編碼,由于兩態(tài)及三態(tài)地址的編碼的同步碼、數(shù)據(jù)碼元的占空比關(guān)系是一致的,只有數(shù)據(jù)碼元的位 數(shù)不同,因此,在以基準(zhǔn)值為參照的基礎(chǔ)上得出碼元數(shù)值后,再按照位數(shù)關(guān) 系自動(dòng)區(qū)分兩態(tài)及三態(tài)地址的編碼信號(hào)。
全文摘要
本發(fā)明公開(kāi)了一種運(yùn)用于無(wú)線遙控定碼編碼信號(hào)解碼的算法,可應(yīng)用于相關(guān)無(wú)線遙控解碼芯片之中。本算法采樣接收到的信號(hào),依據(jù)算法確定的基準(zhǔn)值對(duì)各碼元占空比進(jìn)行分析計(jì)算,實(shí)現(xiàn)碼元的數(shù)值化處理;由于對(duì)于每幀數(shù)據(jù)信號(hào),其基準(zhǔn)值是不斷更新的,所以對(duì)于接收到的編碼信號(hào),可以忽略其發(fā)射頻率而只關(guān)心占空比,因此實(shí)現(xiàn)了不依賴于收發(fā)雙方工作頻率限制的自適應(yīng)性解碼;基于算法本身的特點(diǎn),加之利用了簡(jiǎn)單的冗余計(jì)算,本算法對(duì)于噪聲干擾以及信號(hào)誤差的處理效果都十分理想;算法中都是利用簡(jiǎn)單直觀的寄存器操作實(shí)現(xiàn)必須的數(shù)學(xué)運(yùn)算,避免了繁復(fù)的硬件乘除法結(jié)構(gòu),能夠?qū)崿F(xiàn)對(duì)兩態(tài)/三態(tài)地址編碼的自動(dòng)識(shí)別處理;具有低功耗低成本的特點(diǎn)與優(yōu)勢(shì)。
文檔編號(hào)G08C17/00GK101201970SQ20071013487
公開(kāi)日2008年6月18日 申請(qǐng)日期2007年10月23日 優(yōu)先權(quán)日2007年10月23日
發(fā)明者沙紹棟, 顧南昌 申請(qǐng)人:無(wú)錫市愛(ài)芯科微電子有限公司