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