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

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

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

采用RAM分區(qū)循環(huán)移位法來實現(xiàn)DVB-C解交織器的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-11-28 08:27 ? 次閱讀

卷積交織和解交織原理簡介

在DVB-C系統(tǒng)當(dāng)中,實際信道中的突發(fā)錯誤往往是由脈沖干擾、多徑衰落引起的,在統(tǒng)計上是相關(guān)的,所以一旦出現(xiàn)不能糾正的錯誤時,這種錯誤將連續(xù)存在。因此在DVB-C系統(tǒng)里,采用了卷積交織來解決這種問題。它以一定規(guī)律擾亂源符號數(shù)據(jù)的時間順序,使其相關(guān)性減弱,然后將其送入信道,解交織器按相反規(guī)律恢復(fù)出源符號數(shù)據(jù)。

DVB-C的卷積交織和解交織原理為:交織由I=12(I為交織深度)個分支構(gòu)成。每個分支的延時逐漸遞增,遞增的單元數(shù)M=n/I=204/12=17(M為交織基數(shù))。這里的數(shù)據(jù)單位為字節(jié)。0支路無延時,1支路延時17個符號周期,11支路則延時l7×11個符號周期。輸入端有一開關(guān)隨著時間推移依次連接各個延時支路,輸出端有一開關(guān)與輸入端一一對應(yīng),同步連接各延時支路。

解交織器的實現(xiàn)

解交織器的FPGA實現(xiàn)原理

本文采用RAM分區(qū)循環(huán)移位法來實現(xiàn),因為RAM里面暫存一位數(shù)據(jù),只需要用一個邏輯門大小的資源,比基本寄存器暫存一位數(shù)據(jù)需要12個邏輯門大小的資源要優(yōu)化很多。用RAM分區(qū)循環(huán)移位法來實現(xiàn)解交織器,就是把RAM分成11個區(qū)。

每個區(qū)的大小為(單位為字節(jié)):

Ni=M*(I-i-1)(i=0,1,2, …,(I-1))

這里i為RAM所分區(qū)的區(qū)號。

因為11支路不需要延時,所以 RAM的11分區(qū)大小即N11為0。本文在RAM前面設(shè)置一個地址控制器,這是解交織器關(guān)鍵的一步。RAM每區(qū)有一個首地址和區(qū)內(nèi)偏移地址,分別用一個寄存器來存儲。在地址控制器里產(chǎn)生每區(qū)的首地址和區(qū)內(nèi)偏移地址,從而進(jìn)一步產(chǎn)生RAM的讀寫地址。

解交織器的FPGA實現(xiàn)

把解交織器的深度I和基數(shù)M設(shè)成參數(shù),以增強程序的通用性。如果以后設(shè)計的解交織器的系數(shù)I和M需要改動,只要把參數(shù)值重新設(shè)置一下就可以了,不需要改動程序。由前面的計算可知,解交織器總共需要延時的比特數(shù),也就是RAM的大小應(yīng)該為8976比特。

可以用下面一段程序?qū)崿F(xiàn)首地址的初始化:

FirstAddr[0]=0;

for(i=1;i《(I-1);i=i+1)

FirstAddr[i]=(I-i)*M+FirstAddr[i-1];

也就是說0~11支路的首地址在RAM中分別為0,187,357,510,646,765,867,952,1020,1071,1105。

RAM每區(qū)的字節(jié)數(shù)可以由參數(shù)來表示,即為(I-i-1)*M,i為分支號。

每區(qū)內(nèi)偏移地址SectAddr[i]初始化為0,每寫入一個數(shù)據(jù),遞增1并與由參數(shù)表示的每區(qū)的字節(jié)數(shù)進(jìn)行比較,若兩數(shù)相等,則SectAddr[i]重新設(shè)為零,保證區(qū)內(nèi)偏移地址在每區(qū)內(nèi)循環(huán)移動。

由上可知,RAM每區(qū)的讀寫地址為:FirstAddr[i]+SectAddr[i](i為RAM分區(qū)號)

圖1所示的就是由Altera MegaWizard工具配置的雙口RAM。RAM每區(qū)的讀寫地址相同,也就是先讀出給定地址單元的數(shù)據(jù)后,再寫入新的數(shù)據(jù)。這里要同時發(fā)生讀寫操作,所以要使用雙口RAM。每隔一個時鐘周期,RAM讀寫指針就跳到下一個RAM區(qū),這樣讀寫指針在RAM的11個區(qū)循環(huán)移動,實現(xiàn)解交織。

采用RAM分區(qū)循環(huán)移位法來實現(xiàn)DVB-C解交織器的設(shè)計

圖1 解交織器的實現(xiàn)框圖

圖2為解交織器在Mentor公司的Modelsim SE環(huán)境下的邏輯仿真圖。Clk為時鐘信號,Reset為異步復(fù)位信號,ClkEn為時鐘使能信號,高電平有效,F(xiàn)rameFirstIn為幀同步信號,高電平有效。DeinterleaverIn為輸入數(shù)據(jù)。設(shè)計時要注意數(shù)據(jù)同步問題,要不然會造成數(shù)據(jù)錯位,導(dǎo)致設(shè)計的失敗。DeinterleaverIn為了在selector模塊輸入時和RAM的輸出數(shù)據(jù)q保持同步,要作相應(yīng)的延時,同步延時后DataIn4,同理,對應(yīng)地RAM的輸入數(shù)據(jù)DataIn1,selector模塊的使能信號ClkEn4等也是經(jīng)過同步處理得到。Flag為selector模塊的選擇控制信號,當(dāng)Flag信號為0~10時,選擇RAM的輸出數(shù)據(jù)q作為輸出,而當(dāng)Flag=11時,則選擇DeinterleaverIn經(jīng)過同步處理后的數(shù)據(jù)DataIn4作為輸出,從而保證在解交織器的11支路實現(xiàn)無延時輸出。在解交織器的最前面輸出的字節(jié)有些是無效的,加一個DataEffect模塊是為了等全部字節(jié)都有效時,才把FrameFirstOut信號置高,告訴后面的模塊數(shù)據(jù)開始全部有效。

采用RAM分區(qū)循環(huán)移位法來實現(xiàn)DVB-C解交織器的設(shè)計

圖2 解交織器的Modelsim仿真圖

從資源利用方面考慮,使用RAM分區(qū)循環(huán)移位法來實現(xiàn)DVB-C解交織器比全部用基本寄存器或用配置FIFO的方法來實現(xiàn)要優(yōu)化得多。

為了更好地驗證,本文把設(shè)計在synopsys 公司的synplifypro軟件環(huán)境下進(jìn)行綜合,選用Altera公司的Cyclone EP1C12Q240C8器件。因為使用了軟核IP,所以再把生成的*.vqm文件導(dǎo)入synopsys公司的QuartusII 軟件進(jìn)行再綜合,選擇同樣的器件類型和型號,結(jié)果說明采用雙口RAM設(shè)計所使用的邏輯單元較少,而且使用的8976比特RAM資源占用了Cyclone器件中的3個M4K,只有全部存儲資源的3%。

結(jié)語

雖然采用卷積交織會在剛開始傳輸數(shù)據(jù)的時候輸出一些無效數(shù)據(jù),在系統(tǒng)中引入一定的延時,但是它能把突發(fā)干擾造成的突發(fā)錯誤分散成隨機錯誤,利于RS糾錯,這樣一權(quán)衡,有延時也是很值得的。本文利用EDA工具完成解交織器的設(shè)計,并且采用Verilog和原理圖協(xié)同輸入的設(shè)計方法,大大提高了設(shè)計效率。這里設(shè)計的解交織器具有通用性,如果要用不同深度I和基數(shù)M的解交織器,只要重設(shè)程序里的參數(shù)值就可以了,非常方便。

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

    關(guān)注

    1625

    文章

    21636

    瀏覽量

    601315
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1365

    瀏覽量

    114476
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4025

    瀏覽量

    133344
收藏 人收藏

    評論

    相關(guān)推薦

    DVB-C標(biāo)準(zhǔn)及相關(guān)測量技術(shù)

    :電纜頭端電纜分布連接(含同軸電纜和電纜信號放大器)從分布到用戶的最后連接除了利用傳統(tǒng)電纜還可以利用光纖傳輸數(shù)字電視信號。DVB-CDVB-S結(jié)構(gòu)和標(biāo)準(zhǔn)相似,僅僅是最后一個階段不
    發(fā)表于 10-20 10:24

    請問誰有完整的DVB-C故障及解決方法?

    請問誰有完整的DVB-C故障及解決方法?有經(jīng)驗的請幫忙說下。
    發(fā)表于 02-13 08:58

    DVB-C解決方案產(chǎn)品說明

    DVB-C解決方案,產(chǎn)品說明
    發(fā)表于 04-11 10:18

    DVB-C測量技術(shù)

    DVB-C標(biāo)準(zhǔn)及相關(guān)測量技術(shù)電纜傳輸網(wǎng)絡(luò)帶寬:  400MHz(50-450MHz)  800MHz(50-860MHz) 優(yōu)點:無需附加器件,傳統(tǒng)電視接收機可以     
    發(fā)表于 10-20 10:19 ?27次下載

    基于Hi2011 的DVB-C 機頂盒設(shè)計與實現(xiàn)

    本文介紹了數(shù)字電視機頂盒基本原理,然后設(shè)計了以Hi2011 芯片為核心的DVB-C 機頂盒的硬件架構(gòu),并分析了機頂盒的軟件實現(xiàn)問題,主要包括系統(tǒng)的軟件結(jié)構(gòu)、搜臺算法的實現(xiàn)和數(shù)據(jù)庫構(gòu)
    發(fā)表于 06-17 08:49 ?39次下載

    有線數(shù)字電視(DVB-C)機頂盒的安全試驗

    有線數(shù)字電視(DVB-C)機頂盒的安全試驗:隨著科技的不斷發(fā)展,人們的生活水平越來越高,而有線數(shù)字電視機頂盒(簡稱DVB-C)的出現(xiàn),能在一定程度上滿足人們對日新月異的生活的精
    發(fā)表于 10-06 08:45 ?39次下載

    DVB-C視頻傳輸中SPI接口和ASI接口

        在目前的DVB-C系統(tǒng)設(shè)備的傳輸接
    發(fā)表于 04-16 20:04 ?1890次閱讀

    DVB-C數(shù)字機頂盒的設(shè)計方案與實現(xiàn)方法

    DVB-C數(shù)字機頂盒的設(shè)計方案與實現(xiàn)方法  引言在我國,數(shù)字電視節(jié)目在許多省市已經(jīng)開始試播,由于用戶端使用的基本都是模擬電視機,無
    發(fā)表于 07-27 22:47 ?1186次閱讀
    <b class='flag-5'>DVB-C</b>數(shù)字機頂盒的設(shè)計方案與<b class='flag-5'>實現(xiàn)</b>方法

    GX1001國產(chǎn)首款支持DVB-C標(biāo)準(zhǔn)的有線數(shù)字電視信道接收

    GX1001……QAM (DVB-C) 產(chǎn)品描述:   GX1001是國產(chǎn)首款支持DVB-C標(biāo)準(zhǔn)的有線數(shù)字電視信道接收芯片,提供業(yè)界領(lǐng)先的抗多徑、回波延時、載波頻偏能
    發(fā)表于 09-24 08:25 ?1752次閱讀

    GX3001 面向DVB-C/DVB-S/DVB-T市場推出

    GX3001……MPEG2+CA (高性能標(biāo)清解碼) 產(chǎn)品描述:   GX3001是面向DVB-C/DVB-S/DVB-T市場推出的一款低成本高性能機頂盒解碼芯片,內(nèi)部集成
    發(fā)表于 09-24 08:30 ?1498次閱讀

    GX3002 面向DVB-C/DVB-S/DVB-T推出的高

    GX3002……MPEG2+ PVR+PIP(交互式雙路標(biāo)清解碼) 產(chǎn)品描述:  GX3002是面向DVB-C/DVB-S/DVB-T等市場推出的一款高性能低成本機頂盒解碼芯片,內(nèi)部集
    發(fā)表于 09-24 08:30 ?1195次閱讀

    DVB-C視頻傳輸接口ASI的實現(xiàn)

    DVB-C視頻傳輸接口ASI的實現(xiàn) 在目前的DVB-C廣播電視系統(tǒng)的傳輸接口中,有兩種MPEG-2視頻傳輸接口標(biāo)準(zhǔn):異步串行接口標(biāo)準(zhǔn) ASI和同步并行接口SPI。SPI一共有11位有用信號,
    發(fā)表于 10-13 14:28 ?2655次閱讀
    <b class='flag-5'>DVB-C</b>視頻傳輸接口ASI的<b class='flag-5'>實現(xiàn)</b>

    一種交織解交織的FPGA電路實現(xiàn)

    一種交織解交織的FPGA電路實現(xiàn) 交織解交織
    發(fā)表于 02-08 23:21 ?1656次閱讀
    一種<b class='flag-5'>交織</b><b class='flag-5'>器</b>和<b class='flag-5'>解交織</b><b class='flag-5'>器</b>的FPGA電路<b class='flag-5'>實現(xiàn)</b>

    DVB-C信道解調(diào)解碼芯片GX1001的設(shè)計

    杭州國芯推出的GX1001系列就是一款頗具特色的DVB-C信道解調(diào)解碼芯片。它集成了10位A/D轉(zhuǎn)換采用直接中頻信號輸入,支持DVB-C下16QAM、32QAM、64QAM、128
    發(fā)表于 06-23 16:08 ?43次下載
    <b class='flag-5'>DVB-C</b>信道解調(diào)解碼芯片GX1001的設(shè)計

    FPGA如何使用RAM分區(qū)循環(huán)移位實現(xiàn)解交織

    本文分析了卷積交織解交織的基本原理,然后采用Altera 的FPGA器件,用RAM分區(qū)循環(huán)
    的頭像 發(fā)表于 09-28 17:53 ?2718次閱讀