CN103544113A - 基于数据块的卷积交织在fpga中ram的实现方法 - Google Patents
基于数据块的卷积交织在fpga中ram的实现方法 Download PDFInfo
- Publication number
- CN103544113A CN103544113A CN201210235433.6A CN201210235433A CN103544113A CN 103544113 A CN103544113 A CN 103544113A CN 201210235433 A CN201210235433 A CN 201210235433A CN 103544113 A CN103544113 A CN 103544113A
- Authority
- CN
- China
- Prior art keywords
- data
- ram
- frame
- address interval
- interweaves
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于数据块的卷积交织在FPGA中RAM的实现方法,首先设定一个长度大于或等于2倍数据块长度的RAM存储区做为交织RAM;将所述交织RAM按地址分为高地址区间和低地址区间;数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,输入和输出的延时为一帧数据长度,当第二帧数据开始输入的时候,前一帧交织后的数据开始输出,实现了数据流基于RAM存储区的卷积交织,交织所占用的存取器为一连续的RAM区间,采用两个空间上连续、逻辑上分开的RAM区间作交替操作,交织所产生的数据延时为一信号帧周期,可实现连续输入和输出,占用FIFO资源少,且数据延时小。
Description
技术领域
本发明涉及卫星移动通信领域,尤其涉及一种基于数据块的卷积交织在FPGA中RAM的实现方法。
背景技术
由于卫星广播过程中的信号衰减十分严重,由此产生的传输误码率较高,要求传输系统具有较强的差错保护能力。DVB-S传输系统中的纠错编码采用的是内、外两层级联编码,中间加一次交织的方案,在FPGA中实现。
当交织深度I=12时,只要输入误码率小于2×10-4,经过RS解码后的误码率可达10-11,即“准无失真”的水平;而当采用无限字节交织时,只要输入误码率小于7×10-4,经过RS解码后的误码率即可达到“准无失真”的水平。
实现交织最基本传统的的有两种方法:其一在RAM矩阵中交织,把数据的数据分成固定大小的数据块,然后把分块的数据送入到RAM矩阵中重现组合,通常按行写入而列读取的方式,要等前一块数据输出完后才能进行下一块数据的输入。
其二为卷积交织,卷积交织则可以连续的输入和输出:例如I=12(I为交织深度),交织由12个分支构成。每个分支的延时逐渐递增,递增的单元数M=n/I=204/12=17(M为交织基数)。这里的数据单位为字节。0支路无延时,1支路延时17个符号周期,11支路则延时l7×11个符号周期。输入端有一开关随着时间推移依次连接各个延时支路,输出端有一开关与输入端一一对应,同步连接各延时支路。即RS编码码字向第0~第11支路依次循环输入数据,每条支路每次输入一个字节;交织后的数据按相同的顺序从各支路中输出,每条支路每次输出一个字节。
上述交织方法不仅消耗太多的FIFO资源,且数据延时较大。
发明内容
本发明的目的是提供一种基于数据块的卷积交织在FPGA中RAM的实现方法,解决现有交织方法消耗FIFO资源多,且数据延时较大的问题。
为了实现上述发明目的,本发明提供了一种基于数据块的卷积交织在FPGA中RAM的实现方法,包括:设定一个长度大于或等于2倍数据块长度的RAM存储区做为交织RAM;将所述交织RAM按地址分为高地址区间和低地址区间;数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,输入和输出的延时为一帧数据长度,当第二帧数据开始输入的时候,前一帧交织后的数据开始输出。
其中,所述数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,进一步包括:第一帧数据输入后,存储到低地址RAM存储区;第二帧数据输入时,变换RAM写入地址到高地址区间,第一帧交织后的数据开始输出;第三帧数据输入时,又变换RAM写入地址到低地址区间,同时第二帧交织后的数据开始输出。
其中,所述方法还包括:将所述交织RAM的高地址区间和低地址区间都分为12路, 每路长度17个字节;每一帧数据写入时,从第1路到第12路循环写入,一个时钟数据写入一路,直到12 路的17个字节写完;在输出交织后的数据时,从第1路数据开始,每一路数据输出完后再输出下一路,同时输出和数据同步的有效信号。
其中,所述数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,其高地址区间和低地址区间之间的变换由一个寄存器控制,在时钟作用下,寄存器在起始同步脉冲来时翻转,一次同步起始脉冲表示一帧数据。
与现有技术相比,本发明具有如下有益效果:
本发明技术实现了数据流基于RAM存储区的卷积交织,交织所占用的存取器为一连续的RAM区间,其RAM的长度大于或等于2倍数据块长度,采用两个空间上连续、逻辑上分开的RAM区间作交替操作,交织所产生的数据延时为一信号帧周期,当第二帧数据开始输入的时候,前一帧交织后的数据开始输出,可实现连续输入和输出,占用FIFO资源少,且数据延时小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:
图1为本发明数据块的在FPGA的RAM中实现卷积交织的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种基于数据块的卷积交织方法,在一块片上RAM中实现,不需要耗太多的FIFO资源,输入和输出的延时为一帧数据长度;及当第二帧数据开始输入的时候,前一帧交织后的数据开始输出,以此类推,可是现实连续输入和输出。
交织即把原始的数据流的顺序打乱,按照特定的数据重组方式重组,再输出.数据经过交织能有效地抗信道的突发干扰。使得发送信号发送的数据在受到干扰后的错误不会集中在一处,这样不利于译码正确的恢复出原始数据流。
本发明首先定制长度大于或等于2倍数据块长度的RAM存储区做为交织RAM,如图1中采用256*2 字节的RAM存储区,多余的地址保留。把这个RAM按地址分为高地址区间和低地址区间,低地址区间:0~255, 高地址区间:256-511。数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,输入和输出的延时为一帧数据长度,当第二帧数据开始输入的时候,前一帧交织后的数据开始输出。
模块的输入端包含数据的输入信号(图1中“输入数据流”)、帧起始同步脉冲和输入数据有效的同步信号(图1中的“输入同步”)。从RS编码后的送来数据的同时,送出帧的起始同步脉冲和数据有效同步信号。在起始脉冲有效的时候复位交织内的寄存器,而在数据有效的信号下,按事先约束的地址顺序写入到RAM中,具体做法是把RAM区分为12路, 每路长度17个,虽然把RAM分为12路,在RAM内部地址空间其实是连续的存储区。在时钟的作用下,一个时钟数据写入一路,数据先写入第1路,然后写入第2路,一直写到12路的RAM中,然后进行下次循环。在写入的时候,从各路的首地址开始写入,直道12 路的17个字节都写完,这就完成了一帧数据的写入。及而完成了数据在RAM内的交织,数据读出的时候,同时输出和数据同步的有效信号。这种方法和传统的卷积交织有点区别,区别在于:先把第1路的数据17个数据输出完后,再输出第2路的所有数据, 第1路的数据延时为0, 第2路的数据延时为17*1,直到12路的数据完全输出,就输出完了一帧的数据。
第一次同步脉起始冲来的时候,是第一帧数据,存储到RAM的低地址区间, 当第二次同步起始脉冲来的时候(即第二帧数据输入时),开始变换RAM的写入地址,写入到高地址区间,同时从低地址区间读出数据(即上一帧的数据),输出一个字节, 数据有效位置1,同时地址加1,直到一帧的所有数据都输出完成。当第三次同步起始脉冲来的时候(即第三帧数据输入时), 又回去写RAM的低地址区间, 而读出高地址区间的数据,这样实现了数据块在RAM中的高、低地址区间的交替存取。高地址区间和低地址区间之间的变换由一个寄存器控制,在时钟作用下, 该寄存器在起始同步脉冲来时翻转,这个寄存器产生的高低地址信号产生地址的高位,而同步脉冲计数的计数器产生地址的低位8位。整个交织器的延时可预知:为一帧的数据长度的时间。为了更加易于实现,每次数据的数据流为一个完整的帧,输入的数据流为一帧的数据长度,数据帧起始脉冲有效后,数据保持一帧连续的,中间没有空余时钟,数据不够补0;在所有输入帧数据完成后,输出最后一次输入的帧数据,即最后一次数据的交织后的数据。
本发明属于无线数字通信领域的传输中的前向纠错便码中用于改善信道的随机错误中的外交织的方法。本例的具体的应用场合在DVB(Digital Video Broadcasting)传输系统中在RS编码和Viterbi编码之间数据的交织,或者其他系统中数据交织的场合。
软件无线电数技术结合FPGA的实际应用,使得各种算法能在FPGA中实现,在DVB-S中采用RS编码和卷积码相结合的编码方式,经过RS编码后的数据在进入Viterbi编码之前,要经过数据的交织,系统上称为外交织。本例实现的方法就是一种基于数据块的在RAM中的交织的方法.本模块接收来自RS编码后的数据块,在RAM中交织,交织后把数据送出到Viterbi编码器接收端。
此方法以DVB-S为例作说明:DVB-S中采用RS(204, 188)的编码方式,每帧长为204个字节,每字8比特.外交织是实现字节的交织。根据编码的长度选择交织深度I=12,M=17,以实现帧内的数据交织。 帧内的数据交织有两好处:1、当某个RS码字在接收端解码时出现无法纠正的错误时,误码集中在一个TS包中,不会影响到其它的TS包,便于分接器进行差错指示;2、便于分接器提取TS包的同步,简化了TS包同步提取系统结构。
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (4)
1.基于数据块的卷积交织在FPGA中RAM的实现方法,其特征在于,包括:
设定一个长度大于或等于2倍数据块长度的RAM存储区做为交织RAM;
将所述交织RAM按地址分为高地址区间和低地址区间;
数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,输入和输出的延时为一帧数据长度,当第二帧数据开始输入的时候,前一帧交织后的数据开始输出。
2.如权利要求1所述的方法,其特征在于,所述数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,进一步包括:
第一帧数据输入后,存储到低地址RAM存储区;
第二帧数据输入时,变换RAM写入地址到高地址区间,第一帧交织后的数据开始输出;
第三帧数据输入时,又变换RAM写入地址到低地址区间,同时第二帧交织后的数据开始输出。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
将所述交织RAM的高地址区间和低地址区间都分为12路, 每路长度17个字节;
每一帧数据写入时,从第1路到第12路循环写入,一个时钟数据写入一路,直到12 路的17个字节写完;
在输出交织后的数据时,从第1路数据开始,每一路数据输出完后再输出下一路,同时输出和数据同步的有效信号。
4.如权利要求3所述的方法,其特征在于,所述数据块在所述交织RAM中的高地址区间和低地址区间之间交替存取,其高地址区间和低地址区间之间的变换由一个寄存器控制,在时钟作用下,寄存器在起始同步脉冲来时翻转,一次同步起始脉冲表示一帧数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210235433.6A CN103544113A (zh) | 2012-07-09 | 2012-07-09 | 基于数据块的卷积交织在fpga中ram的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210235433.6A CN103544113A (zh) | 2012-07-09 | 2012-07-09 | 基于数据块的卷积交织在fpga中ram的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103544113A true CN103544113A (zh) | 2014-01-29 |
Family
ID=49967585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210235433.6A Pending CN103544113A (zh) | 2012-07-09 | 2012-07-09 | 基于数据块的卷积交织在fpga中ram的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544113A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461934A (zh) * | 2014-11-07 | 2015-03-25 | 北京海尔集成电路设计有限公司 | 一种适合ddr存储器的时域解卷积交织装置及方法 |
TWI561007B (en) * | 2015-07-22 | 2016-12-01 | Nuvoton Technology Corp | Function programmable circuit and operation method thereof |
CN109889210A (zh) * | 2019-02-21 | 2019-06-14 | 成都德芯数字科技股份有限公司 | 交织编码方法及装置 |
US10432196B2 (en) | 2015-07-22 | 2019-10-01 | Nuvoton Technology Corporation | Communication device, communication system and operation method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875147A (en) * | 1996-07-31 | 1999-02-23 | Lg Semicon Co., Ltd. | Address alignment system for semiconductor memory device |
-
2012
- 2012-07-09 CN CN201210235433.6A patent/CN103544113A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875147A (en) * | 1996-07-31 | 1999-02-23 | Lg Semicon Co., Ltd. | Address alignment system for semiconductor memory device |
Non-Patent Citations (2)
Title |
---|
牛鑫华: "基于FPGA的OFDM基带系统的研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
蒲锦先: "用块RAM实现卷积交织解交织", 《电子设计应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461934A (zh) * | 2014-11-07 | 2015-03-25 | 北京海尔集成电路设计有限公司 | 一种适合ddr存储器的时域解卷积交织装置及方法 |
CN104461934B (zh) * | 2014-11-07 | 2017-06-30 | 北京海尔集成电路设计有限公司 | 一种适合ddr存储器的时域解卷积交织装置及方法 |
TWI561007B (en) * | 2015-07-22 | 2016-12-01 | Nuvoton Technology Corp | Function programmable circuit and operation method thereof |
US10432196B2 (en) | 2015-07-22 | 2019-10-01 | Nuvoton Technology Corporation | Communication device, communication system and operation method thereof |
CN109889210A (zh) * | 2019-02-21 | 2019-06-14 | 成都德芯数字科技股份有限公司 | 交织编码方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6810499B2 (en) | Product code based forward error correction system | |
US7444580B2 (en) | System and method for interleaving data in a communication device | |
EP0681373B1 (en) | Convolutional interleaver with reduced memory requirements and address generator therefor | |
KR100699491B1 (ko) | 인터리빙 방법 및 그 장치 | |
JP2000151426A (ja) | インターリーブ・デインターリーブ回路 | |
CN103544113A (zh) | 基于数据块的卷积交织在fpga中ram的实现方法 | |
CN101667887A (zh) | 编码方法及其装置、解码方法及其装置 | |
CN102414991B (zh) | 用于解码器的数据重排 | |
WO2011095115A1 (zh) | 一种解交织方法和装置 | |
CN104601180B (zh) | 一种基于扩展汉明码的二维乘积码编码装置及编码方法 | |
US11303304B2 (en) | Receiver receiving a signal including physical layer frames, and including a convolutional deinterleaver and a deinterleaver selector | |
CN101662336B (zh) | 一种可配置的交织解交织方法及其装置 | |
CN106506010B (zh) | 一种基于dvb-s2标准多码率兼容的ldpc编码器 | |
CN105577196B (zh) | 基于宽带OFDM电力线通信系统的Turbo码数据交织方法和交织器 | |
CN103546169A (zh) | Fpga中实现3/4速率(2,1,7)卷积编码的方法 | |
CN102833044B (zh) | 一种cmmb系统中rs编码和字节交织的联合处理装置和方法 | |
KR100230912B1 (ko) | 고화질 텔레비젼(hdtv)의 복호지연에 의한 오류 데이타 제거장치 및 방법 | |
KR100243468B1 (ko) | 듀얼 포트 메모리를 이용한 길쌈 인터리버 /디인터리버 | |
WO2005088848A1 (en) | Deinterleaving apparatus and method using inner memory and outer memory | |
CN108023662B (zh) | 一种可配置的分组交织方法及交织器 | |
CN105119685B (zh) | 数据交织/解交织方法及装置 | |
CN102064916A (zh) | 一种基于cmmb标准的字节交织方法 | |
JP2863726B2 (ja) | 符号化伝送方式 | |
CN103078702A (zh) | 数据交织处理方法、装置和系统 | |
CN105356965A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20171103 |
|
AD01 | Patent right deemed abandoned |