圖2、ASK 解調示意圖
2. 2、PSK 解調子模塊
當閱讀器接收來自電子標簽的信號采用PSK調制時,接收信號可以用如下表達式表示:
式中A0 為信號穩定幅度值,Φm 為調制相位值(BPSK調制時取0或π),g ( n - m )、頻率偏移、相位差△φ 、n0 與對式( 1)的描述相同。
載波頻偏和相差將會影響PSK 信號的正確解調,所以在對PSK 信號進行解調時必須進行載波同步。PSK 解調的具體實現電路如圖3所示,由相位旋轉、相位誤差提取和二階相位跟蹤環三部分組成。
圖3、PSK解調示意圖
在相位旋轉過程中有四個乘法運算,而若在用硬件實現時直接調用四個硬件乘法器,將會消耗很大的硬件資源。所以本文在設計中只使用一個乘法器,然后用一個計數器來控制分時復用,從而節省資源。
為實現相位跟蹤,相位誤差提取部分根據MAP算法來估計得到相位誤差信號θe ( n )。θe ( n )反映了環路跟蹤相位的程度,但不能直接用于相位旋轉,因為:1.存在噪聲干擾;2.由于存在載波頻率偏移,載波相位誤差會隨時間積累。所以需要對θe ( n)進行濾波和積分,進而實現相位跟蹤,其實現如圖3中的二階相位跟蹤環部分所示。
設計中,K 1、K 2 分別取值1 /256、1 /8。用硬件實現時,乘K 1、K 2 的運算可以用簡單的右移運算來完成,而不必調用復雜的硬件除法器。
3、解碼器設計
解碼器包括FM0解碼器、M iller解碼器、CRC 校驗器、幀起始超時檢測和解碼結果同步輸出控制五個主要子模塊。FM 0 /M iller解碼后的數據data 若需要進行CRC 校驗,則進入CRC 校驗器進行CRC校驗并輸出校驗結果。由于幀結束在有的情況下不能完全確定,而需要借助CRC 校驗來確定幀的結尾,所以在解碼器r中還有一個解碼結果同步輸出子模塊用來控制同步解碼結果輸出。幀起始超時檢測模塊是用來進行幀起始超時檢測的,當輸入有效數據后超過規定時間沒有檢測到正確的幀起始序列,則輸出錯誤標志脈沖。
3. 1、FM0解碼子模塊
FM0解碼子模塊由幀起始檢測、FM0 解碼/編碼規則檢測/幀結束檢測以及輸出同步脈沖產生三部分組成,如圖4所示。
圖4、FM0解碼子模塊框圖
幀起始檢測部分中設有一個十八位的移位寄存器data_ r[ 17:0] ,當檢測到幀起始序列(即data_ r[ 11:0] = “110 100 100 011”) 時,幀起始信號o _start輸出一個脈沖,并置indecode有效,表示開始接收到新的幀數據;FM0 解碼/編碼規則檢測/幀結束檢測部分,在indecode有效時,在解碼同步脈沖信號o_pulse的同步下對data _r[ 2:0]進行分析判斷,若data_r[ 0]與data_r[ 1]相同則輸出o_data= ?1 ,反之則輸出o_data= “0”;同時檢測da ta_r[ 1]與data_r[ 2] ,若兩個相同,則出現了不符合FM0編碼規則的情況,輸出編碼規則錯誤標志信號o _code_err為“1”;在o_start脈沖后對i_pu lse進行二分頻得解碼輸出同步脈沖o _pulse,o_pu lse 用于同步解碼過程和解碼后數據輸出。