0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FLEX10K100A FPGA實(shí)現(xiàn)信道編碼系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:電子技術(shù)應(yīng)用 ? 作者:張蓉,曲晶,王志 ? 2021-03-16 14:21 ? 次閱讀

作者:張蓉,曲晶,王志華,柳春笙,陳國慶

1 數(shù)字音頻廣播(DAB)發(fā)射系統(tǒng)及信道編碼器

DAB是繼調(diào)幅和調(diào)頻廣播之后的第三代廣播體系。與模擬廣播相比它不僅可以提供高質(zhì)量的聲音信號(hào)(CD音質(zhì)),也可以提供數(shù)據(jù)、圖像等多種其他附加服務(wù)。它可以保證在高速移動(dòng)接收時(shí)的聲音質(zhì)量,具有很強(qiáng)的抗干擾能力,在同樣的頻帶寬度和環(huán)境下,DAB可以提供高質(zhì)量的多種多樣的廣播節(jié)目。

DAB的發(fā)射系統(tǒng)主要包括處于節(jié)目提供商位置的信源編碼器,處于廣播臺(tái)演播室位置的復(fù)接器和處于發(fā)射機(jī)內(nèi)部的COFDM(編碼正交頻分復(fù)用)編碼調(diào)制器。其中COFDM可分為信道編碼、OFDM調(diào)制和數(shù)字上變頻。本文主要討論使用FLEX10K系列FPGA來實(shí)現(xiàn)信道編碼的功能。

DAB的信道編碼部分主要包括能量擴(kuò)散、卷積編碼和刪除、時(shí)間交織等,輸入為來自復(fù)接器的ETI(業(yè)務(wù)群傳輸接口Ensemble Transport Interface)幀,輸出為DAB傳輸幀。能量擴(kuò)散的作用是通過對(duì)二進(jìn)制序列的隨機(jī)化處理使頻譜擴(kuò)散,減少連‘0’和連‘1’的出現(xiàn),以保證接收端比特按時(shí)恢復(fù)。對(duì)于信號(hào)的傳輸來說,由于卷積編碼引入了大量的冗余比特,因此DAB的信道編碼采用刪除型的卷積編碼。DAB發(fā)射機(jī)使用時(shí)間交織技術(shù)來糾正突發(fā)性的塊差錯(cuò)。它按照既定的規(guī)則打亂數(shù)據(jù)排列順序,使得信道中成塊的錯(cuò)誤分散在不同幀中,再結(jié)合卷積編碼的點(diǎn)糾錯(cuò)能力,可以使接收機(jī)能夠糾正移動(dòng)傳輸中經(jīng)常出現(xiàn)的塊差錯(cuò)。

2 FLEX10K系列特點(diǎn)

FLEX10K系列是Altera公司生產(chǎn)的一種嵌入式編程邏輯器件PLD-Programmable Logic Device 。Flex可更改邏輯單元陣列采用可重構(gòu)的CMOS SRAM單元,其結(jié)構(gòu)集成了實(shí)現(xiàn)通用多功能門陣列所需的全部特征。FLEX10K系列器件容量可達(dá)25萬門,能夠高速度、高性能地將整個(gè)數(shù)字系統(tǒng)集成于單個(gè)器件中。FLEX10K系列的高密度和易于在設(shè)計(jì)中實(shí)現(xiàn)復(fù)雜宏函數(shù)與存儲(chǔ)器,使其可以適應(yīng)系統(tǒng)級(jí)設(shè)計(jì)的要求。

FLEX10K器件可通過Altera的MAX PLUS II 系統(tǒng)來開發(fā),它具有強(qiáng)大的功能,支持原理圖、硬件描述語言(VHDL,AHDL,verilogHDL)等多種輸入方式。用FPGA來實(shí)現(xiàn)DAB信道編碼器,大大簡化了系統(tǒng)結(jié)構(gòu)。而且VHDL描述語言的使用縮短了開發(fā)時(shí)間,增強(qiáng)了系統(tǒng)的可讀性,便于后續(xù)產(chǎn)品的升級(jí)。如果想改變軟件設(shè)計(jì),只要修改程序、重新編譯、下載即可,十分方便。即使要改變硬件設(shè)計(jì),也可通過重新分配FPGA管腳實(shí)現(xiàn),不需大規(guī)模改動(dòng)原有的硬件。從信道編碼器的的功能特點(diǎn)看,大部分是比特操作。如果使用DSP單片機(jī),每個(gè)指令周期只能處理一個(gè)字節(jié)中的一比特,效率相當(dāng)?shù)?。而FPGA可以對(duì)多個(gè)比特同時(shí)并行操作,大大提高了處理效率。由于FPGA的最高工作頻率在100MHz以上,所以可以通過提高FPGA的工作頻率來提高其處理數(shù)據(jù)的速度。

本設(shè)計(jì)中所用的FLEX10K100A FPGA是FLEX10K系列中的一種,它的等效門數(shù)為10萬門,內(nèi)建24K字節(jié)RAM,可用的I/O管腳達(dá)到189個(gè),核心電壓3.3V,支持5V輸入輸出。設(shè)計(jì)中采用原理圖和VHDL語言混合輸入的方法。

3 用FPGA實(shí)現(xiàn)信道編碼功能

DAB信道編碼技術(shù)包括ETI解復(fù)接、能量擴(kuò)散、卷積編碼和刪除和時(shí)間交織。其中ETI解復(fù)接和系統(tǒng)控制由一片DSP ADSP2181來實(shí)現(xiàn),核心部分能量擴(kuò)散、卷積編碼刪除時(shí)間交織全部由一片F(xiàn)LEX10K100A實(shí)現(xiàn)。一個(gè)ETI幀中主要包括幀頭信息本幀及幀內(nèi)各子通道的相關(guān)信息和主業(yè)務(wù)流數(shù)據(jù)MST包括音頻數(shù)據(jù)碼流和快速數(shù)據(jù)通道(FIC)。圖1是信道編碼的硬件實(shí)現(xiàn)示意圖。

基于FLEX10K100A FPGA實(shí)現(xiàn)信道編碼系統(tǒng)的設(shè)計(jì)

來自復(fù)接器的碼流(ETI)經(jīng)E1接口板,解出ETI幀,存入輸入雙口RAM緩沖區(qū)。在每幀(24ms)開始時(shí),控制器2181從輸入緩沖區(qū)讀入ETI幀并根據(jù)幀頭信息計(jì)算得一組控制矢量,并將其寫回到輸入緩沖區(qū),然后啟動(dòng)FPGA。FPGA首先讀入控制矢量,然后根據(jù)其描述讀入ETI幀中MST域的各子通道數(shù)據(jù)并進(jìn)行能量擴(kuò)散、卷積編碼和刪除、時(shí)間交織的處理,結(jié)果輸出到輸出緩沖區(qū)給OFDM調(diào)制器。其中SRAM交織緩沖區(qū)是用來存放用于交織的6幀數(shù)據(jù)的。

信道編碼的控制器由adsp2181實(shí)現(xiàn),控制整個(gè)信道編碼過程的全部動(dòng)作,其中主要包括啟動(dòng)編碼模塊FPGA開始編碼、控制FPGA從外部存儲(chǔ)器的相應(yīng)地址讀取數(shù)據(jù)、為編碼模塊提供進(jìn)行卷積編碼所需的全部參數(shù)、為編碼后數(shù)據(jù)提供存儲(chǔ)地址等。

下面詳細(xì)介紹用FPGA實(shí)現(xiàn)信道編碼的過程。當(dāng)DSP計(jì)算完控制信息后,啟動(dòng)FPGA。FPGA首先讀入計(jì)算所得控制矢量的前幾位幀特征字節(jié),根據(jù)這幾個(gè)字節(jié)確定了包括FIC通道在內(nèi)的子通道個(gè)數(shù)和輸入數(shù)據(jù)的起始地址,然后分別讀入各子通道特征字節(jié),并根據(jù)其描述對(duì)各子通道進(jìn)行處理。

3.1 能量擴(kuò)散

能量擴(kuò)散采用原理圖輸入的方法,由9個(gè)D觸發(fā)器和邏輯門實(shí)現(xiàn)。在FPGA中,首先按字節(jié)讀入數(shù)據(jù),然后進(jìn)行并/串轉(zhuǎn)換,將串行輸入碼流與生成多項(xiàng)式為 Px=x9+x5+1、初始狀態(tài)全‘1’的偽隨機(jī)比特序列(PRBS)模二相加處理的順序是串行輸入的第0比特與PRBS序列的第0比特異或,就得到能量擴(kuò)散的輸出碼流。將輸出的串行碼流送入卷積編碼器。圖2是能量擴(kuò)散的實(shí)現(xiàn)原理圖。

3.2 卷積編碼

卷積編碼器也是采用原理圖輸入的方法,如圖3所示,通過移位寄存器和其不同抽頭的組合來實(shí)現(xiàn)的。[/td][/tr][tr][td=2,1]寄存器的初始化狀態(tài)為全‘0’,每輸入一個(gè)比特會(huì)產(chǎn)生4個(gè)比特的輸出。當(dāng)有效數(shù)據(jù)送完時(shí),還要繼續(xù)送入6個(gè)‘0’以使全部寄存器清零。若輸入長度I的序列,則輸出序列為。輸出序列也可表示為U=(u0 u1 u2?…?u4i+23?其中ui=x(i=0,1,2,...,4I+23),其中R、Q分別是i/4的余數(shù)和商。

3.3 卷積編碼的刪除

卷積編碼輸出的前4I個(gè)比特被分成連續(xù)的比特塊,每塊128比特。每塊又被分為32比特的4個(gè)子塊,這4個(gè)子塊使用同一個(gè)刪除模式,刪除模式由PI決定,表1是刪除模式表的一部分。卷積編碼的輸出與刪除模式表中的刪除矢量V相與,剩下的比特壓入一個(gè)堆棧中。當(dāng)16比特的堆棧中堆積的比特?cái)?shù)>8時(shí),編碼器將刪除結(jié)果按字節(jié)輸出到16幀長度的交織緩沖區(qū)暫存。原始數(shù)據(jù)的讀入、能量擴(kuò)散、卷積編碼和刪除是同時(shí)進(jìn)行的。當(dāng)一個(gè)子通道(或FIC)的數(shù)據(jù)讀完時(shí),能量擴(kuò)散也同時(shí)停止,但編碼和刪除并不停止,還要進(jìn)行最后24比特的編碼和刪除,這24比特使用固定的刪除矢量VT=(1100 1100 1100 1100 1100 1100)進(jìn)行刪除。對(duì)于有填充字節(jié)(Pad)的還要加入填充,最后輸出一個(gè)字節(jié)。

PI是根據(jù)輸入碼流的比特率、保護(hù)級(jí)(P)和保護(hù)方式(EEP/UEP)決定的。在UEP(非平衡差錯(cuò)保護(hù))中,把整個(gè)幀的碼流(某個(gè)子通道)分為3或4塊(L1~L4),然后查表即得到相應(yīng)塊的PI和填充比特?cái)?shù)。表2是此保護(hù)級(jí)模式表的一部分。對(duì)于EEP(平衡差錯(cuò)保護(hù)),有A和B兩類保護(hù)模式表,分別對(duì)應(yīng)輸入碼率是8Kbits/s的整數(shù)倍和32Kbits/s的整數(shù)倍,每幀中一個(gè)子通道分為2塊。一般的刪除處理是通過查表進(jìn)行的,而這里查表的工作由控制器完成,查表結(jié)果存在控制矢量字節(jié)中。FPGA可直接根據(jù)結(jié)果編碼,有效降低了FPGA的復(fù)雜度。

3.4 時(shí)間交織

交織開始時(shí),F(xiàn)PGA已經(jīng)將卷積編碼刪除的結(jié)果順序地寫入交織緩沖區(qū),然后按照交織規(guī)則亂序地讀出數(shù)據(jù),完成交織深度為16幀的時(shí)間交織。這個(gè)緩沖區(qū)是一片容量128K字節(jié)的SRAM,分為16個(gè)8K的塊,每塊用來存儲(chǔ)一幀的卷積編碼結(jié)果。SRAM的地址組織如圖4(括號(hào)內(nèi)是各幀的起始地址)。

表3所示的交織規(guī)則對(duì)應(yīng)于128K的交織緩沖區(qū),其中r是輸入幀的序號(hào),r'是輸出幀的序號(hào),i表示比特的序號(hào),R(i/16)表示i除以16的余數(shù),r‘(r i)表示輸出第r’幀第i比特應(yīng)該對(duì)應(yīng)輸出第r幀第i比特。Ram_addr表示在交織緩沖區(qū)中此幀的起始地址。

為符合DAB發(fā)射系統(tǒng)下級(jí)OFDM調(diào)制器需要的碼元格式,交織后的結(jié)果按字節(jié)寫入輸出雙口RAM緩沖區(qū)時(shí)要符合傳輸幀的數(shù)據(jù)結(jié)構(gòu)。根據(jù)DAB傳輸幀的要求,這里的輸出緩沖區(qū)可容納4個(gè)邏輯幀的數(shù)據(jù),其片選邏輯也是每96ms變化一次,輸出RAM緩沖區(qū)內(nèi)的數(shù)據(jù)結(jié)構(gòu)如圖5。

如上所述,DAB信道編碼器可由單片F(xiàn)LEX10K系列FPGA(adsp2181做控制器)完全實(shí)現(xiàn)。這一方法易于實(shí)現(xiàn)、工作穩(wěn)定、速度快、易于升級(jí),可以作為今后集成專用ASIC芯片研制的核心技術(shù)基礎(chǔ)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598901
  • 嵌入式
    +關(guān)注

    關(guān)注

    5045

    文章

    18817

    瀏覽量

    298491
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163091
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用FLEX10K系列FPGA實(shí)現(xiàn)信道編碼的功能?

    本文主要討論使用FLEX10K系列FPGA實(shí)現(xiàn)信道編碼的功能。
    發(fā)表于 06-07 06:00

    TD_SCDMA中的信道編碼

    TD_SCDMA中的信道編碼:
    發(fā)表于 05-22 16:22 ?22次下載

    CDMA信道編碼及結(jié)構(gòu)解析

    本文以cdma的兩個(gè)主要技術(shù)——碼分技術(shù)和多址技術(shù)為基礎(chǔ),圖文并茂的介紹了cdma(IS95和20001x)技術(shù)體制的信道編碼信道結(jié)構(gòu)。信道編碼技術(shù)包括沃爾什碼(WalshCode)、長短PN碼(偽
    發(fā)表于 06-10 15:30 ?40次下載

    信道編碼——引言

    信道編碼:從消息到信道波形或矢量的映射目的:了解信道編碼的作用與意義,對(duì)信道編碼的研究方法和成果有廣泛的基本認(rèn)識(shí),學(xué)會(huì)應(yīng)用,為進(jìn)一步研究打下基礎(chǔ)特點(diǎn):以概
    發(fā)表于 08-01 09:11 ?44次下載
    <b class='flag-5'>信道編碼</b>——引言

    3G系統(tǒng)采用了什么信道編碼技術(shù)?

    3G系統(tǒng)采用了什么信道編碼技術(shù)? 信道編解碼主要目的是保證信號(hào)在傳輸工程中的正確性。與無編碼情況相比,傳統(tǒng)的卷積碼可以
    發(fā)表于 06-15 09:49 ?5319次閱讀

    跳頻通信系統(tǒng)信道編碼的DSP實(shí)現(xiàn)

    針對(duì)跳頻通信對(duì)信道編碼要求較高的問題!提出了混合糾錯(cuò)方式的RS碼和重傳反饋方式相級(jí)連的方法!主要研究了RS碼的編碼解碼過程以及ARQ 協(xié)議的DSP實(shí)現(xiàn).
    發(fā)表于 05-16 17:33 ?51次下載

    基于FPGA的數(shù)字音頻廣播信道編碼器的實(shí)現(xiàn)

    介紹了數(shù)字音頻廣播(DAB) 信道編碼 的原理和關(guān)鍵技術(shù),并應(yīng)用單片FLEX10K100 系列FPGA 實(shí)現(xiàn)DAB 信道編碼器。
    發(fā)表于 07-18 17:04 ?68次下載
    基于<b class='flag-5'>FPGA</b>的數(shù)字音頻廣播<b class='flag-5'>信道編碼</b>器的<b class='flag-5'>實(shí)現(xiàn)</b>

    Real BCH的聯(lián)合信源信道編碼系統(tǒng)構(gòu)建

    構(gòu)建了基于Real BCH的聯(lián)合信源信道編碼系統(tǒng),考慮量化噪聲和信道噪聲,將由量化、給定轉(zhuǎn)移概率的二進(jìn)制對(duì)稱信道、反量化構(gòu)成的實(shí)際聯(lián)合信道
    發(fā)表于 12-27 10:31 ?0次下載
    Real BCH的聯(lián)合信源<b class='flag-5'>信道編碼</b><b class='flag-5'>系統(tǒng)</b>構(gòu)建

    遙測同步和信道編碼系統(tǒng)FPGA實(shí)現(xiàn)

    、可靠的遙測同步和信道編碼系統(tǒng)。系統(tǒng)不僅降低了信號(hào)傳輸誤碼率,提高了數(shù)據(jù)傳輸?shù)目煽啃?,同時(shí)降低了硬件實(shí)現(xiàn)的復(fù)雜度并減少了資源消耗。實(shí)驗(yàn)結(jié)果標(biāo)明:該
    發(fā)表于 01-09 15:36 ?1次下載
    遙測同步和<b class='flag-5'>信道編碼</b><b class='flag-5'>系統(tǒng)</b>及<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>

    什么是信道編碼?信道編碼簡史

    所謂信道編碼,也叫差錯(cuò)控制編碼,就是在發(fā)送端對(duì)原數(shù)據(jù)添加冗余信息,這些冗余信息是和原數(shù)據(jù)相關(guān)的,再在接收端根據(jù)這種相關(guān)性來檢測和糾正傳輸過程產(chǎn)生的差錯(cuò),從而對(duì)抗傳輸過程的干擾。
    的頭像 發(fā)表于 05-14 10:39 ?2.8w次閱讀
    什么是<b class='flag-5'>信道編碼</b>?<b class='flag-5'>信道編碼</b>簡史

    帶你了解什么是信道編碼

    信道編碼,也被叫做錯(cuò)控制編碼,是目前現(xiàn)代通信當(dāng)中的基礎(chǔ)、地基。在這幾十年當(dāng)中,信道編碼技術(shù)不斷逼近香農(nóng)極限,正在推動(dòng)著現(xiàn)代人類通信。
    發(fā)表于 11-15 10:03 ?1.6w次閱讀

    信道編碼推動(dòng)著現(xiàn)代人類通信

    錯(cuò)誤。 信道編碼的目的是改善通信系統(tǒng)的傳輸質(zhì)量?;舅枷胧歉鶕?jù)一定的規(guī)則在要傳輸?shù)男畔⒋a中增加一些冗余符號(hào),以保證傳輸過程的可靠性。 信道編碼的任務(wù)是構(gòu)造具有最小冗余成本的良好代碼,以獲得最大的抗干擾性能。
    發(fā)表于 12-22 16:24 ?602次閱讀

    如何使用FPGA實(shí)現(xiàn)信道編碼

    信道編碼發(fā)展迅速, 應(yīng)用越來越廣泛, 而信道編碼的好壞對(duì)眾多工程技術(shù)領(lǐng)域的發(fā)展有著重要影響,所以對(duì)信道編碼的研究工作有著非常重要的意義。本論文從闡述信道編碼理論出發(fā), 介紹了
    發(fā)表于 08-18 17:11 ?11次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>信道編碼</b>

    信道編碼有哪幾種 信道編碼的作用及種類 信道編碼的主要特點(diǎn)

    信道編碼是數(shù)字通信系統(tǒng)中常用的一種技術(shù)手段,它的作用是提高信道傳輸?shù)目煽啃院涂垢蓴_性。在數(shù)字通信中,信道編碼通過將原始數(shù)據(jù)進(jìn)行編碼,使得發(fā)送
    的頭像 發(fā)表于 06-28 18:11 ?6105次閱讀

    信道編碼有哪幾種 matlab的信道編碼仿真

      通信技術(shù)的飛速開展,信道編碼已經(jīng)成功地應(yīng)用于各種通信系統(tǒng)中。以及各種傳輸方式對(duì)可靠性要求的不斷提高,信道編碼技術(shù)作為抗干擾技術(shù)的一種重要的手段,在數(shù)字通信技術(shù)領(lǐng)域和數(shù)字傳輸系統(tǒng)中顯
    發(fā)表于 07-18 15:15 ?0次下載