一種曼徹斯特碼流接收抗干擾比特解析方法
【專利摘要】本發(fā)明涉及一種曼徹斯特碼流接收抗干擾比特解析方法。本發(fā)明方法分為電平采樣、數(shù)據(jù)糾錯、比特定位和比特提取四個步驟,其中數(shù)據(jù)糾錯步驟包括至少一個數(shù)據(jù)糾錯環(huán)節(jié),每個數(shù)據(jù)糾錯環(huán)節(jié)并行讀取采樣值序列中的數(shù)據(jù)片段,將其與預設(shè)的錯誤模式序列進行比較,若符合,則將其糾正為正確的數(shù)據(jù)片段后并行寫回原采樣值序列中相同的位置;若不符合,則將原數(shù)據(jù)片段并行寫回原采樣值序列中相同的位置。本發(fā)明在接收端對曼徹斯特碼流進行比特解析前,通過數(shù)據(jù)糾錯步驟對接收的采樣值序列進行錯誤識別,將其中的錯誤數(shù)據(jù)修改為正確的數(shù)據(jù)后再進行比特解析,避免了因信源、信道缺陷導致的數(shù)據(jù)錯誤對解析過程造成干擾,提高了曼徹斯特碼流接收解析的準確性。
【專利說明】一種曼徹斯特碼流接收抗干擾比特解析方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種曼徹斯特碼流接收抗干擾比特解析方法,屬于數(shù)字信號處理領(lǐng)域。
【背景技術(shù)】
[0002]曼徹斯特碼是一種同步時鐘編碼技術(shù),廣泛應用于數(shù)字通信系統(tǒng)中。在曼徹斯特碼中,每一位的中間有一個跳變,既作時鐘信號,又作數(shù)據(jù)信號。實際使用中存在兩種編碼模式:一種是信號電平從低到高跳變表示"1",從高到低跳變表示"O";另一種是從低到高跳變表示"0",從高到低跳變表示"I"。接收曼徹斯特碼流時,需要從接收電平序列中解析出各個比特,承擔此任務(wù)的模塊就是比特解析模塊。目前實現(xiàn)這一功能的技術(shù)方案大多數(shù)是基于FPGA實現(xiàn)。由于信源、信道缺陷的影響,F(xiàn)PGA收到的電平信號序列中會存在毛刺、跳變邊沿位置偏移的現(xiàn)象,如果不加以處理,將導致接收比特解析錯誤,進而導致在鏈路層無法通過校驗、丟失數(shù)據(jù),如果錯誤數(shù)量太多,則可能超出后續(xù)模塊的補償能力,導致整個裝置不能達到預定的性能要求。
【發(fā)明內(nèi)容】
[0003]針對上述問題,本發(fā)明設(shè)計了一種抗干擾比特解析方法,確保在過采樣倍率m (以曼徹斯特碼流波特率的峰值為基數(shù))不低于8的情況下,且干擾程度在每2比特不超過I個毛刺、邊沿偏移導致的波特周期變化量不超過0.25倍比特周期的情況下,能夠正確解析出比特流。
[0004]為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
一種曼徹斯特碼流接收抗干擾比特解析方法,包括以下步驟:
Si電平采樣:對輸入電平信號進行過采樣,獲得串行二進制采樣值序列;
S2數(shù)據(jù)糾錯:包括至少一個前后銜接的結(jié)構(gòu)相同、預設(shè)錯誤模式各異的數(shù)據(jù)糾錯環(huán)節(jié),每個數(shù)據(jù)糾錯環(huán)節(jié)的步驟是:并行讀取采樣值序列中的數(shù)據(jù)片段,將其與預設(shè)的錯誤模式序列進行比較,若符合,則將其糾正為正確的數(shù)據(jù)片段后并行寫回原采樣值序列中相同的位置;若不符合,則將原數(shù)據(jù)片段并行寫回原采樣值序列中相同的位置;
S3比特定位:根據(jù)采樣值序列中“O” “I”的變化規(guī)律確定采樣值序列中每比特中間的跳變邊沿;
S4比特提取:根據(jù)每比特中間的跳變邊沿確定每個比特的實際值。
[0005]本發(fā)明的數(shù)據(jù)處理方法分為電平采樣、數(shù)據(jù)糾錯、比特定位和比特提取四個步驟,先是對時間上連續(xù)的輸入電平信號離散化,以便于后期的數(shù)字信號處理,通常是在每個主時鐘脈沖的上升沿讀取從FPGA引腳輸入的電平信號,對其進行過采樣,將其轉(zhuǎn)換為串行二進制序列。數(shù)據(jù)糾錯步驟是本發(fā)明的關(guān)鍵步驟,用于識別電平采樣序列中由信源、信道缺陷導致的錯誤,并將其修改為正確的數(shù)據(jù)。該步驟分三個環(huán)節(jié)進行,既可去除毛刺,還能防止誤判,并能對信源、信道缺陷導致的跳變沿偏移進行糾錯,多方面保證了采樣值序列錯誤識別及修正的準確性,確保后續(xù)比特定位和比特提取解析步驟能正確解析出比特流。
[0006]進一步,數(shù)據(jù)糾錯步驟包括三個數(shù)據(jù)糾錯環(huán)節(jié),第一個數(shù)據(jù)糾錯環(huán)節(jié)中需讀取最新的4個采樣值數(shù)據(jù),預設(shè)的錯誤模式序列是“0010”、“1101”,預設(shè)的糾正方式是將采樣值數(shù)據(jù)中從左到右第3個數(shù)據(jù)值取反,其他數(shù)據(jù)不變;第二個數(shù)據(jù)糾錯環(huán)節(jié)中需讀取最新的m+6個采樣值數(shù)據(jù),其中,m是過采樣倍率,預設(shè)的錯誤模式序列是首位和末位為1、中間有m+2或m+3或m+4個O的序列以及首位和末位為O、中間有m+2或m+3或m+4個I的序列,預設(shè)的糾正方式是將采樣值數(shù)據(jù)中間最后2個或3個或4個連續(xù)的“O”或“I”取反,其他數(shù)據(jù)不變;第三個數(shù)據(jù)糾錯環(huán)節(jié)中需讀取最新的2m+6個采樣值數(shù)據(jù),其中,m是過采樣倍率,預設(shè)的錯誤模式序列是首位和末位為1、中間有2m+2或2m+3或2m+4個O的序列以及首位和末位為O、中間有2m+2或2m+3或2m+4個I的序列,預設(shè)的糾正方式是將采樣值數(shù)據(jù)中間最后2個或3個或4個連續(xù)的“O”或“ I”取反,其他數(shù)據(jù)不變。
[0007]進一步,電平采樣步驟中進行采樣的主時鐘脈沖的頻率大于等于曼徹斯特碼流波特率峰值的8倍。
[0008]進一步,每個數(shù)據(jù)糾錯環(huán)節(jié)需將采樣值數(shù)據(jù)順序送入串行移位寄存器。在每個環(huán)節(jié)中,每次將I個采樣值數(shù)據(jù)輸入移位寄存器后,讀取規(guī)定數(shù)量的采樣值數(shù)據(jù),進行判斷。
[0009]進一步,比特定位步驟的具體方法是:實時監(jiān)測步驟S2最新輸出的采樣值序列,一旦發(fā)現(xiàn)持續(xù)約I個比特周期的連續(xù)“O”或連續(xù)“I”采樣值序列,位于其結(jié)束位置的跳變沿即為每比特中間的跳變邊沿。
[0010]進一步,比特提取步驟的具體方法是:比特提取步驟的具體方法是:檢測到一個位于比特中間的跳變邊沿之后,以時鐘邊沿觸發(fā)計數(shù),計到1.5m個時鐘周期附近的時刻,檢查采樣值,根據(jù)預先獲知的、在發(fā)送端采用的曼徹斯特編碼模式進行判斷:對于信號電平從低到高跳變表示“I”、從高到低跳變表示“O”的編碼模式,若此處采樣值為1,則對應的比特值為0,反之為I ;對于信號電平從低到高跳變表示“O”、從高到低跳變表示“I”的編碼模式,若此處采樣值為1,則對應的比特值為1,反之為O ;然后以下一個跳變沿作為位于比特中間的跳變邊沿,再計數(shù)、檢查采樣值,如此順序進行,直到采樣值序列結(jié)尾,提取出所有的比特值。
[0011]本發(fā)明在接收端對曼徹斯特碼流進行比特解析前,通過數(shù)據(jù)糾錯步驟的“接收采樣值序列故障特征識別糾正法”對接收的采樣值序列進行錯誤識別,將其中的錯誤數(shù)據(jù)修改為正確的數(shù)據(jù)后再進行比特解析,避免了因信源、信道缺陷導致的數(shù)據(jù)錯誤對解析過程造成干擾,提高了曼徹斯特碼流接收解析的準確性。
【專利附圖】
【附圖說明】
[0012]圖1是本發(fā)明數(shù)據(jù)處理頂層框圖;
圖2是單個數(shù)據(jù)糾錯環(huán)節(jié)的硬件框圖。
【具體實施方式】
[0013]下面以時鐘頻率為曼徹斯特碼流波特率峰值的8倍為例來說明本發(fā)明方法的具體實施過程,過采樣倍率更高的情況下可參考本方法予以實施。
[0014]一種曼徹斯特碼流接收抗干擾比特解析方法,該方法基于FPGA芯片實現(xiàn),具體包括以下步驟:
SI電平采樣步驟:
以頻率為曼徹斯特碼流波特率峰值的8倍(即過采樣倍率m=8)的主時鐘對FPGA引腳輸入的電平信號進行過采樣,在每個主時鐘脈沖的上升沿讀取電平信號,將時間上連續(xù)的電平信號離散化為串行二進制采樣值序列(即“O”和“ I ”構(gòu)成的序列)。
[0015]S2數(shù)據(jù)糾錯步驟:該步驟由3個前后銜接的結(jié)構(gòu)相同、預設(shè)錯誤模式不同的數(shù)據(jù)糾錯環(huán)節(jié)構(gòu)成。每個數(shù)據(jù)糾錯環(huán)節(jié)的功能框圖見圖2,其特征是并行讀取采樣值序列中的數(shù)據(jù)片段,將其與預設(shè)的錯誤模式進行比較,若符合則按照預設(shè)的方式糾正為正確的數(shù)據(jù)片段、寫回采樣值序列中,用以替代原有的存在錯誤的數(shù)據(jù)片段。
[0016]在第I個數(shù)據(jù)糾錯環(huán)節(jié)中,將每個時鐘周期采樣得到的數(shù)據(jù)順序送入串行移位寄存器,每次將I個采樣數(shù)據(jù)輸入移位寄存器后,讀取最新的4個采樣數(shù)據(jù),進行如下判斷、處理:讀出的值是否為“0010”或“1101”?若是,則判斷從左到右第3個數(shù)據(jù)是被毛刺干擾的數(shù)據(jù),將其值取反,整個數(shù)據(jù)片段改為“0000”或“ 1111”,重新寫回原始數(shù)據(jù)序列中相同的位置;若否,則將原數(shù)據(jù)片段寫回原始數(shù)據(jù)序列中相同的位置。該環(huán)節(jié)的主要作用是濾除毛刺。
[0017]但上述糾錯算法有可能誤判:將“001011”或“110100”(其中第4個數(shù)據(jù)是被干擾導致反轉(zhuǎn)的)中的第3個數(shù)據(jù)誤判為被干擾的數(shù)據(jù)進而被反轉(zhuǎn)、同時未對第4個數(shù)據(jù)進行修正。針對這種情況,并且考慮到需要對信源、信道缺陷導致的跳變沿偏移進行糾錯,在完成上述糾錯環(huán)節(jié)之后,將數(shù)據(jù)流送入后續(xù)的第2、第3個數(shù)據(jù)糾錯環(huán)節(jié),在其中根據(jù)過采樣倍率m的取值進行如下判斷、處理--第2個數(shù)據(jù)糾錯環(huán)節(jié),每次將I個采樣值數(shù)據(jù)輸入移位寄存器后,讀取最新的m+6個(B卩14個)采樣值數(shù)據(jù),進行如下判斷、處理:讀出的值是否為 “100000000001” 或“1000000000001” 或“10000000000001” 或“011111111110”或“0111111111110”或“01111111111110”中的一種。若是其中一種,則判斷最后2個或3個或4個連續(xù)O (或I)數(shù)據(jù)是需要糾正的數(shù)據(jù),將其值取反,整個數(shù)據(jù)段對應改為“100000000111” 或“1000000001111” 或“10000000011111” 或“011111111000” 或“0111111110000”或“01111111100000”,重新寫回原始數(shù)據(jù)序列中相同的位置;若都不是,則將原值寫回原始數(shù)據(jù)序列中相同的位置。
[0018]第3個數(shù)據(jù)糾錯環(huán)節(jié)緊隨第2個之后,每次將I個采樣值數(shù)據(jù)輸入移位寄存器后,讀取最新的2m+6個(即22個)采樣值數(shù)據(jù),進行如下判斷、處理:讀出的值是否為“100...01 (中間夾有18個或19個或20個O)”或“011...10(中間夾有18個或19個或20個I)”中的一種。若是其中一種,則判斷最后2個或3個或4個連續(xù)O (或I)數(shù)據(jù)是需要糾正的數(shù)據(jù),將其值取反,整個數(shù)據(jù)段對應改為“100...0111”或“100...01111”或“100...011111” 或“011...1000” 或“011...10000” 或“011...100000”(前三種中間有 16個0,后三種中間有16個1),重新寫回原始數(shù)據(jù)序列中相同的位置;若都不是,則將原值寫回原始數(shù)據(jù)序列中相同的位置。
[0019]S3比特定位步驟:根據(jù)采樣值序列中“O” “I”的變化規(guī)律確定采樣值序列中每比特中間的跳變邊沿;具體方法是:實時監(jiān)測步驟S2最新輸出的采樣值序列,一旦發(fā)現(xiàn)持續(xù)約I個比特周期的15、16或17個(實際周期不可能嚴格為16個時鐘周期,需要考慮略微偏斜的情況,還需要考慮時鐘周期與數(shù)據(jù)周期之間的相位關(guān)系導致的計數(shù)變化,因此15、16、17都需考慮)連續(xù)“O”或連續(xù)“I”采樣值序列,位于其結(jié)束位置的跳變沿即為每比特中間的跳變邊沿。
[0020]S4比特提取步驟:根據(jù)每比特中間的跳變邊沿確定每個比特的實際值。具體方法是:檢測到一個位于比特中間的跳變邊沿之后,以時鐘邊沿觸發(fā)計數(shù),計到12個時鐘周期附近的時刻,檢查采樣值,根據(jù)預先獲知的、在發(fā)送端采用的曼徹斯特編碼模式進行判斷:對于信號電平從低到高跳變表示“ I ”、從高到低跳變表示“O”的編碼模式,若此處采樣值為1,則對應的比特值為0,反之為I ;對于信號電平從低到高跳變表示“O”、從高到低跳變表示“I”的編碼模式,若此處采樣值為1,則對應的比特值為1,反之為O ;然后以下一個跳變沿作為位于比特中間的跳變邊沿,再計數(shù)、檢查采樣值,如此順序進行,直到采樣值序列結(jié)尾,提取出所有的比特值。
[0021]本發(fā)明不依賴于特定的專用功能模塊,可以由目前市場上的任一型FPGA予以實現(xiàn)。
【權(quán)利要求】
1.一種曼徹斯特碼流接收抗干擾比特解析方法,其特征在于包括以下步驟: Si電平采樣:對輸入電平信號進行過采樣,獲得串行二進制采樣值序列; S2數(shù)據(jù)糾錯:包括至少一個前后銜接的結(jié)構(gòu)相同、預設(shè)錯誤模式各異的數(shù)據(jù)糾錯環(huán)節(jié),每個數(shù)據(jù)糾錯環(huán)節(jié)的步驟是:并行讀取采樣值序列中的數(shù)據(jù)片段,將其與預設(shè)的錯誤模式序列進行比較,若符合,則將其糾正為正確的數(shù)據(jù)片段后并行寫回原采樣值序列中相同的位置;若不符合,則將原數(shù)據(jù)片段并行寫回原采樣值序列中相同的位置; S3比特定位:根據(jù)采樣值序列中“O” “I”的變化規(guī)律確定采樣值序列中每比特中間的跳變邊沿; S4比特提取:根據(jù)每比特中間的跳變邊沿確定每個比特的實際值。
2.根據(jù)權(quán)利要求1所述的曼徹斯特碼流接收抗干擾比特解析方法,其特征在于:數(shù)據(jù)糾錯步驟包括三個數(shù)據(jù)糾錯環(huán)節(jié),第一個數(shù)據(jù)糾錯環(huán)節(jié)中需讀取最新的4個采樣值數(shù)據(jù),預設(shè)的錯誤模式序列是“0010”、“1101”,預設(shè)的糾正方式是將采樣值數(shù)據(jù)中從左到右第3個數(shù)據(jù)值取反,其他數(shù)據(jù)不變;第二個數(shù)據(jù)糾錯環(huán)節(jié)中需讀取最新的m+6個采樣值數(shù)據(jù),其中,m是過采樣倍率,預設(shè)的錯誤模式序列是首位和末位為1、中間有m+2或m+3或m+4個O的序列以及首位和末位為O、中間有m+2或m+3或m+4個I的序列,預設(shè)的糾正方式是將采樣值數(shù)據(jù)中間最后2個或3個或4個連續(xù)的“O”或“I”取反,其他數(shù)據(jù)不變;第三個數(shù)據(jù)糾錯環(huán)節(jié)中需讀取最新的2m+6個采樣值數(shù)據(jù),其中,m是過采樣倍率,預設(shè)的錯誤模式序列是首位和末位為1、中間有2m+2或2m+3或2m+4個O的序列以及首位和末位為O、中間有2m+2或2m+3或2m+4個I的序列,預設(shè)的糾正方式是將采樣值數(shù)據(jù)中間最后2個或3個或4個連續(xù)的“O”或“ I”取反,其他數(shù)據(jù)不變。
3.根據(jù)權(quán)利要求1所述的曼徹斯特碼流接收抗干擾比特解析方法,其特征在于:電平采樣步驟中進行采樣的主時鐘脈沖的頻率大于等于曼徹斯特碼流波特率峰值的8倍。
4.根據(jù)權(quán)利要求1或2所述的曼徹斯特碼流接收抗干擾比特解析方法,其特征在于:每個數(shù)據(jù)糾錯環(huán)節(jié)需將采樣值數(shù)據(jù)順序送入串行移位寄存器。
5.根據(jù)權(quán)利要求1所述的曼徹斯特碼流接收抗干擾比特解析方法,其特征在于:比特定位步驟的具體方法是:實時監(jiān)測步驟S2最新輸出的采樣值序列,一旦發(fā)現(xiàn)持續(xù)約I個比特周期的連續(xù)“O”或連續(xù)“I”采樣值序列,位于其結(jié)束位置的跳變沿即為每比特中間的跳變邊沿。
6.根據(jù)權(quán)利要求1或5所述的曼徹斯特碼流接收抗干擾比特解析方法,其特征在于:比特提取步驟的具體方法是:檢測到一個位于比特中間的跳變邊沿之后,以時鐘邊沿觸發(fā)計數(shù),計到1.5m個時鐘周期附近的時刻,檢查采樣值,根據(jù)預先獲知的、在發(fā)送端采用的曼徹斯特編碼模式進行判斷:對于信號電平從低到高跳變表示“I”、從高到低跳變表示“O”的編碼模式,若此處采樣值為1,則對應的比特值為O,反之為I ;對于信號電平從低到高跳變表示“O”、從高到低跳變表示“I”的編碼模式,若此處采樣值為1,則對應的比特值為1,反之為O ;然后以下一個跳變沿作為位于比特中間的跳變邊沿,再計數(shù)、檢查采樣值,如此順序進行,直到采樣值序列結(jié)尾,提取出所有的比特值。
【文檔編號】H04L1/00GK104270155SQ201410583650
【公開日】2015年1月7日 申請日期:2014年10月28日 優(yōu)先權(quán)日:2014年10月28日
【發(fā)明者】林偉, 滕兆宏, 黃磊 申請人:積成電子股份有限公司