一種差分曼徹斯特解碼電路及方法
【技術領域】
[0001]本發明屬于無線通信技術領域,尤其涉及一種差分曼徹斯特解碼電路及方法。
【背景技術】
[0002]曼徹斯特編碼(Manchester Encoding, ME),也叫做相位編碼,是一個同步時鐘編碼技術,常用于局域網傳輸。曼徹斯特編碼是一種數據同步傳輸的編碼方式,每一位的中間有一跳變,從低到高跳變表示0,從高到低跳變表示I ;也可相反的定義,從低到高跳變表示1,從高到低跳變表示0,而差分曼徹斯特編碼在曼徹斯特編碼基礎上有進一步的改進,在碼流中與前一個跳沿同向的為數據0,反向的為數據1,如圖1所示,因此,曼徹斯特解碼時需要區分接收碼流中的長電平和短電平。
[0003]中國發明專利CN201210126893.5的解碼方法是:根據預設的采樣間隔對基于差分曼徹斯特編碼的信號進行采樣,得到一系列采樣點,然后將得到的各采樣點的幅值-時間特征轉化為時間特征,得到與上述一系列采樣點對應的時間流數據;進而根據差分曼徹斯特編碼中碼元O和碼元I對應的波形相位翻轉處與X軸的交點與前一個碼元對應的波形與X軸的最后一個交點之間的時間差關系,從時間流數據中解析出碼元值。該技術存在以下不足:需要一個較為精確的采樣時鐘來進行計數,從而進行跳變沿的長度判斷和時鐘恢復,但是在實際的電路系統中,精確的采樣時鐘可能難以達到,例如在芯片內部的RC振蕩器,其產生的時鐘精度可能有正負30%的偏差,這樣可能導致較高誤碼率發生。
【發明內容】
[0004]本發明實施例提供了一種差分曼徹斯特解碼電路及方法,旨在解決現有需要一個較為精確的采樣時鐘來進行計數,從而進行跳變沿的長度判斷和時鐘恢復,但是在實際的電路系統中,精確的采樣時鐘可能難以達到,從而導致較高誤碼率發生的問題。
[0005]—方面,提供一種差分曼徹斯特解碼電路,包括:
[0006]波形轉化單元,用于對接收到的方波信號進行采樣,以采樣到高電平或低電平對采樣計數器做不同類型計算操作將所述方波信號轉化為三角波信號;
[0007]信號判斷單元,用于分別以預設高電平門限和預設低電平門限來判斷所述三角波信號的高低電平,并通過判斷所述三角波信號的波峰和波谷恢復出解碼時鐘和中間數據;
[0008]數據解碼單元,用于以所述解碼時鐘對所述中間數據進行兩次采樣并將采樣后的數據經過異或處理,獲得解碼數據。
[0009]進一步地,所述電路還包括:
[0010]信號濾波單元,用于對接收到的數字信號進行平均窗濾波,獲得所述方波信號。
[0011]進一步地,所述信號濾波單元具體用于將接收到的數字信號輸入至一個N位移位寄存器,N為大于等于8的正整數;通過加法器對所述移位寄存器中的每一比特位進行求和結果;將所述求和結果與第一配置寄存器、第二配置寄存器進行比較,其中,如果所述求和結果大于等于第一配置寄存器的值,則濾波會后的數據為1,如果所述求和結果小于等于第二配置寄存器的值,則濾波會后的數據為O,其它情況下濾波后的數據不變,將最終獲得濾波后的數據作為方波信號輸出,所述第一配置寄存器中預置的是大于等于N/2的整數,所述第二配置寄存器中預置的是小于等于N/2的整數。
[0012]進一步地,所述波形轉化單元具體包括:
[0013]計數器初始化模塊,用于采樣計數器初始化為O ;
[0014]信號判斷模塊,用于對方波信號進行高低電平判斷,如果采樣到高電平,執行計算器加模塊,如果采樣到低電平,執行計算器減模塊,直至所述方波信號結束,將所述方波信號轉化為三角波信號;
[0015]計算器加模塊,用于所述采樣計數器加I ;
[0016]計算器減模塊,用于所述采樣計數器減I。
[0017]進一步地,所述預設高電平門限為所述三角波信號的均值電平和采樣計數器的波峰中間的某個幅值點;所述預設低電平門限為所述三角波信號的均值電平和采樣計數器的波谷中間的某個幅值點。
[0018]進一步地,所述信號判斷單元具體還用于在所述三角波信號的上跳沿,所述采樣計數器的值小于等于所述預設低電平門限;在所述三角波信號的下跳沿,所述采樣計數器的值大于等于所述預設高電平門限;在上述兩種情況下均可產生解碼時鐘的時鐘跳變。
[0019]另一方面,提供一種差分曼徹斯特解碼方法,包括:
[0020]對接收到的方波信號進行采樣,以采樣到高電平或低電平對采樣計數器做不同類型計算操作將所述方波信號轉化為三角波信號;
[0021 ] 分別以預設高電平門限和預設低電平門限來判斷所述三角波信號的高低電平,并通過判斷所述三角波信號的波峰和波谷恢復出解碼時鐘和中間數據;
[0022]以所述解碼時鐘對所述中間數據進行兩次采樣并將采樣后的數據經過異或處理,獲得解碼數據。
[0023]進一步地,所述對接收到的方波信號進行采樣,以采樣到高電平或低電平對采樣計數器做不同類型計算操作將所述方波信號轉化為三角波信號之前還包括:
[0024]對接收到的數字信號進行平均窗濾波,獲得所述方波信號。
[0025]進一步地,所述對接收到的數字信號進行平均窗濾波,獲得所述方波信號具體:
[0026]將接收到的數字信號輸入至一個N位移位寄存器,N為大于等于8的正整數;
[0027]通過加法器對所述移位寄存器中的每一比特位進行求和結果;
[0028]將所述求和結果與第一配置寄存器、第二配置寄存器進行比較,其中,如果所述求和結果大于等于第一配置寄存器的值,則濾波會后的數據為1,如果所述求和結果小于等于第二配置寄存器的值,則濾波會后的數據為0,其它情況下濾波后的數據不變,將最終獲得濾波后的數據作為方波信號輸出,所述第一配置寄存器中預置的是大于等于N/2的整數,所述第二配置寄存器中預置的是小于等于N/2的整數。
[0029]進一步地,所述對接收到的方波信號進行采樣,以采樣到高電平或低電平對采樣計數器做不同類型計算操作將所述方波信號轉化為三角波信號具體:
[0030]Sll采樣計數器初始化為O ;
[0031]S12對方波信號進行高低電平判斷,如果采樣到高電平,執行步驟S13,如果采樣到低電平,執行步驟S14,直至所述方波信號結束,將所述方波信號轉化為三角波信號;
[0032]S13所述采樣計數器加I ;
[0033]S14所述采樣計數器減I。
[0034]進一步地,所述預設高電平門限為所述三角波信號的均值電平和采樣計數器的波峰中間的某個幅值點;所述預設低電平門限為所述三角波信號的均值電平和采樣計數器的波谷中間的某個幅值點。
[0035]進一步地,所述通過判斷所述三角波信號的波峰和波谷恢復出解碼時鐘具體:
[0036]在所述三角波信號的上跳沿,所述采樣計數器的值小于等于所述預設低電平門限;在所述三角波信號的下跳沿,所述采樣計數器的值大于等于所述預設高電平門限;在上述兩種情況下均可產生解碼時鐘的時鐘跳變。
[0037]在本發明實施例,波形轉化單元,用于對接收到的方波信號進行采樣,以采樣到高電平或低電平對采樣計數器做不同類型計算操作將所述方波信號轉化為三角波信號;信號判斷單元,用于分別以預設高電平門限和預設低電平門限來判斷所述三角波信號的高低電平,并通過判斷所述三角波信號的波峰和波谷恢復出解碼時鐘和中間數據;數據解碼單元,用于以所述解碼時鐘對所述中間數據進行兩次采樣并將采樣后的數據經過異或處理,獲得解碼數據,本發明,通過采樣計數器的自加減來消除時鐘偏差的影響,電路結構簡單,誤碼發生率低。
【附圖說明】
[0038]圖1是本發明【背景技術】提供的曼徹斯特編碼和差分曼徹斯特編碼示意圖;
[0039]圖2是本發明實施例一提供的差分曼徹斯特解碼電路的結構示意圖;
[0040]圖3是本發明實施例一提供的移動平均濾波電路結構示意圖;
[0041]圖4是本發明實施例一提供的差分曼徹斯特解碼數據流圖;
[0042]圖5是本發明實施例一提供的解碼時鐘和中間數據的處理流程圖;
[0043]圖6是本發明實施例二提供的差分曼徹斯特解碼方法的實現流程圖。