基于DSP的Manchester編譯碼系統(tǒng)設(shè)計
摘要:介紹基于TI公司C6000 DSP的Manchester編譯碼器定點實現(xiàn)的設(shè)計過程,主要內(nèi)容包括Manchester編碼器、信號調(diào)制、碼元同步、信道均衡、匹配濾波、信號解調(diào)、判決譯碼等。同時介紹了CCS開發(fā)環(huán)境以及編譯結(jié)果。系統(tǒng)要求誤碼率不超過1E-8。
關(guān)鍵詞:曼徹斯特編碼;匹配濾波;均衡;碼元同步;判決譯碼;誤碼率
引言
隨著無線通信芯片技術(shù)的發(fā)展,越來越多的便攜式或電池供電的無線傳輸設(shè)備進入人們?nèi)粘I?,如遙控車門開關(guān)(REK)系統(tǒng)、汽車輪胎壓力監(jiān)視系統(tǒng)(TPMS)、無線內(nèi)窺鏡系統(tǒng)、藍牙技術(shù)等。這種小功率無線傳輸系統(tǒng)的關(guān)鍵技術(shù)是在低電流消耗和信道干擾較強的情況下實現(xiàn)數(shù)據(jù)穩(wěn)定可靠的傳輸。曼徹斯特碼由于其特殊的性能,被廣泛應(yīng)用于小功率無線傳輸系統(tǒng)中。曼徹斯特編碼是串行數(shù)據(jù)傳輸?shù)囊环N重要的編碼方式。曼徹斯特編碼最大的優(yōu)點是:數(shù)據(jù)和同步時鐘統(tǒng)一編碼,曼徹斯特碼中含有豐富的時鐘信號,直流分量基本為零,接收器能夠較容易地恢復(fù)同步時鐘,并同步解調(diào)出數(shù)據(jù),具有很好的抗干擾性能,這使它更適合于信道傳輸。
1 曼徹斯特編碼原理
用于數(shù)字基帶傳輸?shù)拇a型種類較多,Manchester碼是其中常用的一種。Manchester碼是一種用跳變沿(而非電平)來表示要傳輸?shù)亩M制信息(0或1),一般規(guī)定在位元中間用下跳變表示“1”,用上跳變表示“0”。其編碼規(guī)則如表1所列。
2 數(shù)字基帶信號處理框架概述
本文所設(shè)計的通信信號處理可以分為編碼、同步、二元信號的信道傳輸預(yù)處理、自適應(yīng)信道均衡、幀同步檢測、匹配濾波、分數(shù)時延濾波、判決譯碼等過程。系統(tǒng)流程如圖1所示。
在數(shù)字通信中,總是需要先將模擬信號數(shù)字化,也就是抽樣、量化和編碼三步曲。
2.1 同步
在本設(shè)計中,假定一個8位的同步頭為HeadSyn,在ParameterSet中初始化為10110001,同步頭的長度越長越好,但是執(zhí)行的速度也就越慢。理論上來說,在對Manchester碼加同步頭時,同步頭最好為全1,而不是巴克碼。從實際仿真檢測效果來看,該同步處理同樣做到了很低的誤碼率。
2.2 二元信號調(diào)制
對于已經(jīng)添加了同步頭的編碼信號,為了讓其能通過下一步的上變頻,從而在信道中傳輸,則需要進行成型濾波。
本設(shè)計中,首先確立了4倍過采樣率(OverSampleRate),通過MatIab擬合了一個21階的成型濾波器,對于一個N長度的編碼信號,相當(dāng)于算法循環(huán)N次,成型濾波值每隔4位賦予調(diào)制信號Signal,然后對應(yīng)位相加,得到一個長度為N×OverSampleRate+FilterOrder-1的適合于信道傳輸?shù)臄?shù)字調(diào)制信號。這個結(jié)果可以用仿真軟件之后觀察到。
二元信號調(diào)制流程如圖2所示。
2.3 信道傳輸處理
由于信號傳輸過程中,會經(jīng)過信道雜波干擾,同時還有傳輸噪聲影響,因此直接通過信道出來的波形必然有不同程度的失真,還會有各種諧波干擾,信道均衡在此顯得尤為重要。本設(shè)計中采用的是時域橫向FIR濾波器(自適應(yīng)LMS算法)來進行信道均衡,并且由于信道均衡自帶分數(shù)時延的效果,同步檢測步驟后的分數(shù)時延濾波器也可以省略掉,當(dāng)然保留也并無影響。
系統(tǒng)仿真所加噪聲為白噪聲信號。
均衡器得到的波形將一直與輸入信號進行循環(huán)比較,但是由于同步信號已知,而其后波形是未知的,因此僅僅根據(jù)同步頭位數(shù)確定循環(huán)比較次數(shù)。只要同步信號相等,即可大致認為整個信號已均衡處理完畢。(因此同步頭長度越長,均衡效果越好。)
2.4 幀同步檢測
由于接收到的信號含有同步信息,但是同步頭的位置又不明確,所以在解調(diào)前,必須首先判斷同步信息位置,這就需用到自相關(guān)函數(shù)波峰。幀同步頭檢測流程圖如圖3所示。
2.5 匹配濾波
由前面的幀同步頭檢測步驟,已經(jīng)得到同步頭之后的碼元所在位置,但是由于信道傳輸過程中將引入大量噪聲以及無用信息,故想要獲得最大結(jié)果,必須通過匹配濾波器處理。從本質(zhì)上來講,就是二次成型濾波,也就是FIR濾波。當(dāng)有了同步之后碼元匹配濾波的極值點信息,再由同步處理部分得到的距離最佳采樣點最近的前一個整數(shù)位置信息,就可以得出delay的延遲信息。
2.6 分數(shù)時延濾波
由于銳化之后波形的極值點,可能并非實際中的采樣點,這樣就需要通過分數(shù)時延濾波器處理后,對極值進行估計。這樣,就可以更準確地進行下一步的判決譯碼。
如果定義為有限長時延濾波器DelayFilter的時域信號,其近似對應(yīng)的頻域變換為H(jw)=e-jwD,其中D為同步處理后的返回值delay數(shù)值與距離最佳采樣點最近的前一個整數(shù)位置長度之差,也就是delay數(shù)值的小數(shù)部分,式中ak,n為在ParameterSet部分中聲明的Del ayFilter二元矩陣。
所以,一旦同步處理結(jié)束后,知道了D值就能得到該頻域響應(yīng)下的時域信號,有了時域信號之后,再對同步頭之后一個碼元周圍作插值濾波,便可得到最佳采樣點幅值。
2.7 判決譯碼
在本設(shè)計中,對于經(jīng)過上述處理后得到的極值(附近的2~3個數(shù)值與極值信息相同),如果大于0,則為高電平,如果小于0,則為低電平,并且同時進行解碼,實現(xiàn)曼徹斯特編碼的逆反過程。在程序中表現(xiàn)為:如果檢測到高電平,表示下一位肯定是低電平,所以對應(yīng)的解碼位就是“1”;如果檢測到低電平,表示下一位肯定是高電平,所以對應(yīng)的解碼位就是“0”。
3 CCS環(huán)境以及仿真結(jié)果
CCS是一款集成性DSP軟件開發(fā)工具,其有軟件和硬件仿真兩種模式,.cmd文件主要是用來分配處理器的ROM和RAM空間的。它告訴鏈接程序怎樣計算地址和分配空間。所以不同的芯片就有不同大小的ROM和RAM,存放用戶程序的地方也不盡相同。所以要根據(jù)芯片進行修改。 .cmd文件分兩部分:MEMORY和SECTIONS。
圖4為code碼元在CCS下的仿真波形。
圖5為code_在CCS下的仿真波形。
從圖中看出,code為10001101011……,code_為10001101011……。可以觀察出編碼code與解碼code_是相同的,符合誤碼率要求。
code_manch波形如圖6所示。
另外,code_manch前8位代表同步頭,第9位開始是編碼信號,為10110001100101010……第9位開始的10對應(yīng)code中的1,01對應(yīng)0。
評論