CN112737732A - 一种用于dvb-t发射机的信道内交织系统 - Google Patents
一种用于dvb-t发射机的信道内交织系统 Download PDFInfo
- Publication number
- CN112737732A CN112737732A CN202011563066.3A CN202011563066A CN112737732A CN 112737732 A CN112737732 A CN 112737732A CN 202011563066 A CN202011563066 A CN 202011563066A CN 112737732 A CN112737732 A CN 112737732A
- Authority
- CN
- China
- Prior art keywords
- read
- data
- write
- ram1
- address
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
Abstract
本发明公开了一种用于DVB‑T发射机的信道内交织系统,包括:数据流模块、比特交织模块、符号交织模块和FIFO;数据流模块用于产生符合输出速率要求的串行比特流,输出至比特交织模块,并为输出数据设置有效数据标志信号;比特交织模块用于通过两块RAM的“乒乓操作”,对接收到的数据进行缓存,并且控制缓存数据的输出速率;符号交织模块用于使用多块双口RAM对从比特交织模块读出的串行数据进行缓存,实现符号交织;用于对从多块双口RAM读出的并行数据进行计数,当计数到TPS、导频、零的子载波位置时,进行预处理操作;FIFO用于对符号交织模块输出的数据流进行缓冲传输。本发明的系统不但能够节省片内的资源,使得后续的组帧过程更加简单。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种信道内交织的实现方法,特别涉及一种用于DVB-T发射机的信道交织系统。
背景技术
目前,DVB-T发射端的FPGA实现方法大多是将信源编码形成的TS流,经过能量扩散、卷积编码、卷积交织、删余卷积编码、信道内交织(比特交织和符号交织)、星座映射、TPS(传输参数信令)/导频/零插入、OFDM、保护间隔插入形成完整的帧数据。其中,通用的信道内交织结构包括串并转换器、比特交织器以及符号交织器三部分。比特交织将删余卷积编码后的串行比特流按照星座映射模式的不同,将其分为v=2、4、6个子流送入v路比特交织器(v=2时对应QPSK模式,v=4时对应16QAM模式,v=6时对应64QAM模式)。一路比特交织器的实现方法大多是通过两块RAM来存和读数据,对一块RAM按照顺序写数据的同时,对另一块RAM按照交织函数的规则读数据。因此,v路比特交织器需要2v块RAM。符号交织器是把比特交织器送出的一组v比特映射到一个OFDM符号的1512(2K模式)个有用子载波上进一步抗拒频率选择性失真和干扰。对于符号交织,比较普遍的设计方式是采用两块RAM分别存储OFDM的奇符号和偶符号。另外,由于系统对于数据输入和输出速率的要求,在功能模块间会通过FIFO来进行控制数据的速率,比如,删余卷积编码输出的数据流会通过FIFO进行缓冲,改变数据的输出速率,满足比特交织模块的输入时钟要求。
上述的信道内交织实现方案占用的硬件资源较多,并且需要对数据进行星座映射之后,才会在OFDM符号的相应载波位置处插入TPS/导频/零,形成包含2048个载波的OFDM符号,实现过程比较复杂。
发明内容
本发明的目的在于克服上述技术缺陷,提出了一种用于DVB-T发射机的信道内交织系统,所述系统包括:数据流模块、比特交织模块、符号交织模块和FIFO;
所述数据流模块,用于产生符合输出速率要求的串行比特流,输出至比特交织模块,并为输出数据设置有效数据标志信号;
所述比特交织模块,用于通过两块RAM的“乒乓操作”,对接收到的数据进行缓存,并且控制缓存数据的输出速率;
所述符号交织模块,用于使用多块双口RAM对从比特交织模块读出的串行数据进行缓存,实现符号交织;用于对从多块双口RAM读出的并行数据进行计数,当计数到TPS、导频、零的子载波位置时,进行预处理操作;
所述FIFO,用于对符号交织模块输出的数据流进行缓冲传输。
作为上述系统的一种改进,当DVB-T发射机的星座映射方式采用QPSK模式,所述符号交织模块内的双口RAM为2块,当DVB-T发射机的星座映射方式采用16QAM模式,所述符号交织模块内的双口RAM为4块;当DVB-T发射机的星座映射方式采用64QAM模式,所述符号交织模块内的双口RAM为8块。
作为上述系统的一种改进,当系统采用QPSK模式,所述比特交织模块包括:第一初始化单元、写地址产生单元、读地址产生单元、输入数据流选择单元、RAM1、RAM2和输出数据流选择单元;
所述第一初始化单元,用于对该模块的各项参数进行初始化;
所述写地址产生单元,用于对RAM1或RAM2写入的数据进行计数,产生写地址;
所述读地址产生单元,用于对从RAM1或RAM2读出的数据进行计数,产生读地址;
所述输入数据流选择单元,用于通过控制RAM1和RAM2的写使能,将数据写入RAM1或RAM2;
所述RAM1和RAM2的深度均为3024,宽度均为1比特,写时钟clkw均为10.8MHz,读时钟clkr均为36.56MHz;
所述输出数据流选择单元,用于通过控制RAM1和RAM2的读使能,将数据从RAM1或RAM2读出。
作为上述系统的一种改进,所述比特交织模块的具体实现过程为:
第一初始化单元设置RAM1和RAM2的读、写使能均无效,即,wr_en1=0,wr_en2=0,rd_en1=0,rd_en2=0;设置写计数器w_cnt1初始值为0;设置读计数器r_cnt1初始值为3023;
当输入数据流选择单元接收到的数据流的source_valid=1时,设置RAM1写使能有效,wr_en1=1,写地址产生单元的写计数器w_cnt1从0进行加1计数,产生RAM1写地址w_addr1,按该地址将数据写入RAM1;
当w_cnt1=3023时,wr_en1置0;当r_cnt1=3023时,rd_en2置0;两个计数器的值都是3023时,输出数据流选择单元设置RAM1读使能有效,rd_en1=1,产生RAM1读地址r_addr1,从RAM1读数据;同时,输入数据流选择单元设置RAM2的写使能有效,wr_en2=1,写地址产生单元的写计数器w_cnt1重新从0进行加1计数,产生RAM2写地址w_addr2,按该地址将数据写入RAM2;
当写地址产生单元的写计数器w_cnt1=3023时,wr_en2置0;当读地址产生单元的读计数器r_cnt1=3023时,rd_en1置0;两个计数器的值都是3023时,输出数据流选择单元设置RAM2读使能有效,rd_en2=1,读地址产生单元产生RAM2读地址r_addr2,按该地址从RAM2读数据;同时,输入数据流选择单元设置RAM1的写使能有效,wr_en1=1,写地址产生单元的写计数器w_cnt1重新从0进行加1计数,产生RAM1写地址w_addr1,按该地址将数据写入RAM1。
作为上述系统的一种改进,所述RAM1的读地址和RAM2的读地址的产生步骤为:
设置信号wk0,wk0可以通过r_cnt1%2来产生,有效值为0~1;
设置信号q,q可以通过r_cnt1/2来产生,有效值为0~1511;
则RAM1的读地址r_addr1为:
wk0=0:r_addr1=2*q
则RAM2的读地址r_addr2为:
wk0=0:r_addr2=2*q
作为上述系统的一种改进,所述符号交织模块包括:第二初始化单元、读写地址控制单元、RAM3、RAM4、读计数器r_cnt3和预处理单元;
所述第二初始化单元,用于对该模块的各项参数进行初始化;
所述读写地址控制单元,用于通过奇偶符号标识信号odd_even以及信号wk0和q,对RAM3和RAM4进行有规律地读写控制;
所述RAM3的写时钟是36.56MHz,读时钟是18.28MHz,深度为1512,宽度为1比特,并为“先读后写”模式;
所述RAM4的写时钟是36.56MHz,读时钟是18.28MHz,深度为1512,宽度为1比特,并为“先读后写”模式;
所述预处理单元,用于当读计数器r_cnt3计数到TPS、导频、零的子载波位置时,在该位置上插入零,同时将相应的标志信号置1,从而对后续插入TPS/导频/零的过程进行预处理。
作为上述系统的一种改进,所述符号交织模块的具体实现过程为:
第二初始化单元设置RAM3写使能wr_en3=0,RAM3读使能rd_en3=0,RAM4写使能wr_en4=0,RAM4读使能rd_en4=0;符号计数器symbol_cnt初始值为0,有效计数值为0~67;奇偶标识信号odd_even初始态为0;odd_even=0,表示偶符号;odd_even=1,表示奇符号;有效数据标识信号rdata_valid初始态为0,表示从RAM3或RAM4中读出的是无效数据;表示OFDM符号中有效数据、导频、TPS和零的标识信号初始值都为0,data_flag=0,tps_flag=0,pilot_flag=0,zero_flag=0;计数器r_cnt3的初始值为0;
当rd_en1或者rd_en2为1时,当wk0=0,读写地址控制单元设置RAM3读使能有效和RAM4读使能有效,从RAM3和RAM4中读取数据;同时,设置RAM3写使能有效,将RAM1或RAM2读出的数据写入RAM3;当wk0=1时,设置RAM4写使能有效,将RAM1或RAM2读出写入RAM4;其中,读地址和写地址根据odd_even的状态有规律地产生;
在读RAM3和RAM4的前1512个并行数据时rdata_valid置为0,从读出的第1513个数据开始置为1;计数器r_cnt3对rdata_valid=1的对应数据进行加1计数;r_cnt3=1704时,symbol_cnt加1,且odd_even信号通过取反操作改变状态;
读出数据的同时,预处理单元将有效数据/导频/TPS/零的相应标识信号置1:
1)从RAM3和RAM4读出有效数据的同时将data_flag置1;
2)当r_cnt3计数到需插入导频或TPS的位置时,rdata_valid置1,r_cnt3继续加1计数,并将相应的标识信号tps_flag或pilot_flag置1;
3)当r_cnt3计数到需插入零的位置时,rdata_valid置0,r_cnt3不对其进行加1计数,并将标识信号zero_flag置1。
4)在插入TPS/导频/零时,通过将rd_en1和rd_en2置为无效来暂停RAM3和RAM4的读写操作。
作为上述系统的一种改进,所述读地址和写地址根据odd_even的状态有规律地产生,具体包括:
利用置换函数H(q)计算出Hq,将计算结果Hq存放进ROM中;
则RAM3的写地址w_addr3和读地址r_addr3为:
则RAM4的写地址w_addr4和读地址r_addr4为:
作为上述系统的一种改进,所述FIFO的写时钟为18.28MHz,读时钟为9.14MHz。
作为上述系统的一种改进,所述FIFO的具体实现过程包括:
当FIFO的满信号full_fifo=1时,FIFO的写使能fifo_wen置为“0”,同时,RAM1或RAM2的读使能置0,r_cnt3保持计数值不变;直到FIFO为非满状态,fifo_wen、rd_en1、rd_en2、r_cnt3进入为正常运行状态;
当FIFO输出的数据流对应的标识信号data_flag=1时,对该数据进行QPSK映射。
本发明的优势在于:
本发明的系统不但能够节省片内的资源,而且在实现信道内交织的同时,在需要插入TPS/导频/零的子载波位置处进行预先处理,使得后续的组帧过程更加简单。
附图说明
图1为本发明的用于DVB-T发射机的信道内交织系统的整体架构图;
图2为本发明的RAM缓存模块结构;
图3为source_valid有效时RAM1和RAM2“乒乓操作”的流程图;
图4为QPSK模式RAM1存储示意图;
图5为本发明的符号交织模块组成框图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明。
本发明中DVB-T发射机选用的参数是:2K模式、3/4码率的删余卷积编码、QPSK的映射方式和1/4的保护间隔。
如图1所示,本发明提出了一种用于DVB-T发射机的信道内交织系统,包括:数据流模块、比特交织模块、符号交织模块和FIFO。
(一)数据流模块
数据流模块通过将它的使能信号source_en置为1,控制产生与删余卷积编码输出速率相同的串行比特流,即,source_data为10.8Mbit/s。同时,会设置有效数据标志信号source_valid为1,表示输出数据有效。
(二)比特交织模块
如图2所示,RAM1和RAM2通过“输入数据流选择单元”和“输出数据流选择单元”对source_data进行存储,并且控制缓存数据的输出速率。对于QPSK模式,RAM1和RAM2的深度都是3024,宽度为1比特,写时钟clkw都是10.8MHz,读时钟clkr都是36.56MHz。通过两块RAM的“乒乓操作”,对一块RAM写数据的同时对另一个RAM读数据。由于数据读出速率大约为数据写入速率的4倍,因此,正常情况下,在RAM1(2)写满之前,RAM2(1)已经处于读空状态,数据流可以进行无间断缓存。但如果对读、写时钟频率的设置不能完全保证模块工作在正常情况下,可能会出现“一块RAM处于满状态,而另一块RAM还处于非空状态”的异常情况。因此,为保证在异常情况下不会发生缓存数据丢失或者覆盖等错误,设置读计数器r_cnt1来确保数据缓存的可靠性。
比特交织的原理:
假设每路比特交织器的输入矢量为B(e)=(be,0,be,1,...,be,125)(0≤e≤v-1),输出矢量为A(e)=(ae,0,Ae,1,...,ae,125)(0≤e≤v-1),则输出矢量和输入矢量之间存在如下关系:其中He(w)是比特交织器的置换函数,定义如下:
I0:H0(w)=w
I1:H1(w)=(w+63)mod126
I2:H2(w)=(w+105)mod126
I3:H4(w)=(w+42)mod126
I4:H5(w)=(w+21)mod126
I5:H6(w)=(w+84)mod126
根据上述比特交织器置换函数的规律,本发明通过对RAM1和RAM2按规律的读操作来完成DVB-T发射机中比特交织的功能。如果是星座映射采用QPSK模式,读地址的规律如下。
wk0=0:r_addr1(2)=2*q
其中,信号wk0可以通过r_cnt1%2来产生,有效值为0~1;信号q可以通过r_cnt1/2来产生,有效值为0~1511。
(三)符号交织模块
符号交织的原理:
在2K模式下,一个OFDM符号含有1512个有效数据子载波。设符号交织器输入矢量Y′=(y′0,Y′1,y′2,...Y′1511),输出矢量Y=(y0,y1,y2,...Y1511),则输出与输入有如下关系:
对OFDM帧中的偶数编号的OFDM符号,有
yH(q)=y′q,q=0,1,1,...,1511
对OFDM帧中的奇数编号的OFDM符号,有
yq=y′H(q),q=0,1,1,...,1511
其中,H(q)是符号交织器的置换函数,它的定义为:
i=0,1时,R′i[Nr-2,Nr-3,...,1,0]=0,0,...0,0;
i=2时,R′i[Nr-2,Nr-3,...,1,0]=0,0,...0,1;
2<i<2048时,{R′i[Nr-3,Nr-4,...,1,0]=R′i[Nr-2,Nr-3,...,2,1];
根据上述符号交织的原理,本发明通过奇偶符号标识信号odd_even和计数器wk0(0~1)、q(0~1511)对两块简单双口RAM(RAM3和RAM4)有规律的读写操作来实现符号交织的功能。其中,当wk0=0时,同时读RAM3和RAM4,并且将当前数据写入RAM3;当wk0=1时,将当前数据写入RAM4。
两块RAM的写时钟是36.56MHz,读时钟是18.28MHz,深度为1512,宽度为1比特。Hq是符号交织器中对应q的置换函数,计算出Hq并放进ROM中,需要时从ROM中取出。
对RAM3和RAM4进行读操作的同时,读计数器r_cnt3(0~1704)进行加1计数,当计数到TPS、导频、零的子载波位置时,在该位置上插入零,同时将相应的标志信号置1,从而对后续插入TPS/导频/零的过程进行预处理。
对双口RAM的同一地址同时进行读写操作时,可能会发生读写冲突的问题。因此,RAM设置为“先读后写”模式。
(四)FIFO
为满足后续QPSK映射9.14MHz的输入数据速率要求,将符号交织输出的数据流通过FIFO进行缓冲传输。FIFO的写时钟为18.28MHz,读时钟为9.14MHz。另外,当FIFO输出的数据对应的标识信号data_flag=1时,可对该数据进行QPSK映射。
本发明的创新点:
(1)通过对RAM1和RAM2按规律的读操作来完成DVB-T发射机中比特交织的功能。
(2)将从RAM1和RAM2读出的串行数据使用两块大小为1512比特的双口RAM进行缓存,对它们按规律进行“先读后写”操作,输出两路并行数据,实现符号交织。
(3)对从RAM3和RAM4读出的两路并行数据进行计数,当计数到TPS、导频、零的子载波位置时,进行预处理操作。
可能的替换方案:
1、本发明采用的是QPSK模式,如果采用16QAM模式,则v=4,可在上述技术方案的基础上进行如下修改:
(1)对于存储容量为6048比特(深度为6048,宽度为1比特)的RAM1和RAM2,通过如下读操作规律实现比特交织:
wk0=0:r_addr1(2)=4*q
其中,信号q的有效值为0~1511,信号wk0的有效值为0~3。
(2)将从RAM1和RAM2读出的串行数据流根据wk0的值分别存入4块大小为1512比特(深度为1512,宽度为1比特)的双口RAM中,读写地址规律与QPSK模式类似。
2、本发明中的RAM1和RAM2可以采用真双口RAM,有两个写端口和两个读端口,可以同时读取两个数据,从而直接得到两路并行数据。因此RAM3和RAM4的写操作可在同一时钟周期内完成。
3、本发明中设置RAM1和RAM2的写时钟为10.8MHz,读时钟为36.56MHz,来保证不会发生异常情况(一块RAM已写满,另一块RAM未读空)。可以修改两块RAM的写时钟为10.8MHz,读时钟为18.28MHz,虽然可能出现异常情况,但在设计中已设置r_cnt1来保证不会出现错误。并且,在此读、写时钟频率下,符号交织后的数据输出速率为9.14MHz,不需要FIFO来匹配数据输出速率,进一步节省了片内资源。
对于QPSK模式,通常实现信道内交织的方法是,将输入的串行数据流转换为并行的两路数据,分别经过2块简单双口RAM,进行比特交织。然后再通过两块简单双口RAM进行符号交织。本发明中仅需对用于缓存和控制数据速率的RAM1和RAM2按照规律进行读操作就可实现比特交织,比特交织后的数据经过两块简单双口RAM来实现符号交织,减少了片内资源的消耗,同时,还可以对后续组帧的过程进行预处理。
本发明的设计方案是针对QPSK模式,可以在此基础上对其进行简单修改,应用于16QAM、64QAM模式。
通过合理地设置RAM1和RAM2的读、写时钟,可以在无间隔存储数据流的同时,提高发射机中信道内交织部分的工作速率。
以下给出的一个具体的实施方案。
一、数据流模块
数据流模块的使能信号在系统复位时为无效态,即,source_en=0,表示没有数据流产生。由于没有数据流产生,因此数据流模块输出的有效数据标志信号source_valid为0。复位结束后,source_en置位1,开始产生数据流。
二、比特交织模块
RAM1和RAM2利用“乒乓操作”缓存数据的同时实现比特交织功能。
1、由于后续采用的是QPSK的映射方式,并且一个OFDM符号包含1512个有效数据载波,即1512个QPSK数据,每个QPSK数据包含2比特,因此,RAM1和RAM2的深度均为3024,宽度为1比特。
2、如图3所示,通过“输入数据流选择单元”和“输出数据流选择单元”进行两个双口RAM的“乒乓操作”的具体流程描述如下:
(1)初始态:系统复位,设置RAM1和RAM2的读、写使能均无效,即,wr_en1=0,wr_en2=0,rd_en1=0,rd_en2=0;设置写计数器w_cnt1(0~3023)初始值为0;设置读计数器r_cnt1(0~3023)初始值为3023。
(2)当source_valid=1时,设置RAM1写使能有效,wr_en1=1,写计数器w_cnt1从0进行加1计数,产生RAM1写地址w_addr1,写RAM1。
(3)当w_cnt1=3023时,wr_en1置0。当r_cnt1=3023时,rd_en2置0。两个计数器的值都是3023时,设置RAM1读使能有效,rd_en1=1,产生RAM1读地址r_addr1,读RAM1;同时,设置RAM2的写使能有效,wr_en2=1,w_cnt1重新从0进行加1计数,产生RAM2写地址w_addr2,写RAM2。
(4)当w_cnt1=3023时,wr_en2置0。当r_cnt1=3023时,rd_en1置0。两个计数器的值都是3023时,设置RAM2读使能有效,rd_en2=1,产生RAM2读地址r_addr2,读RAM2;同时,设置RAM1的写使能有效,wr_en1=1,w_cnt1重新从0进行加1计数,产生RAM1写地址w_addr1,写RAM1。循环进行步骤(3)和步骤(4)。
3、产生RAM1和RAM2的读、写地址:
图4是RAM1和RAM2的存储示意图,其中,0,1,2……3023为RAM中的存储地址。
RAM1和RAM2的写地址:w_addr1(2)=w_cnt1。
定义信号wk0(0~1)和q(0~1511),wk0=r_cnt1%2,q=r_cnt/2。
按照下面的读地址公式对RAM1或RAM2执行读操作:第一个时钟周期,q=0,wk0=0,读地址“0”的数据;第二个时钟周期,q=0,wk0=1,读地址“127”的数据;第三个时钟周期,q=1,wk0=0,读地址“2”的数据;第四个时钟周期,q=1,wk0=1,读地址“129”的数据。依次类推,通过按规律的读操作可以完成DVB-T发射机中比特交织的功能。
wk0=0:r_addr1(2)=2*q
其中,RAM1和RAM2的写时钟clkw都是10.8MHz,读时钟clkr都是36.56MHz。由于数据读出速率大约为数据写入速率的4倍,因此,正常情况下,在RAM1(2)写满之前,RAM2(1)已经处于读空状态,对数据流可以进行无间断缓存。但如果对读、写时钟频率的设置不能完全保证模块工作在正常情况下,可能会出现“一块RAM处于满状态,而另一块RAM还处于非空状态”的异常情况。因此,为保证在异常情况下不会发生缓存数据丢失或者覆盖等错误,设置读计数器r_cnt1来确保数据缓存的可靠性。
三、符号交织模块
将从RAM1和RAM2读取的数据按照规律存储到RAM3和RAM4中。RAM3和RAM4的写时钟为36.56MHz,读时钟为18.28MHz,深度为1512,宽度为1比特。如图5所示。
RAM3和RAM4的详细缓存过程描述如下:
(1)系统复位,进入初始状态。对相关信号进行复位操作:
1)设置RAM3和RAM4的读、写使能无效:w_en3=0,r_en3=0,w_en4=0,r_en4=0;
2)符号计数器symbol_cnt初始值为0,有效计数值为0~67;
3)奇偶标识信号odd_even初始态为0。odd_even=0,表示偶符号;odd_even=1,表示奇符号;
4)有效数据标识信号rdata_valid初始态为0,表示从RAM3(4)中读出的是无效数据;
5)表示OFDM符号中有效数据、导频、TPS和零的标识信号初始值都为0,data_flag=0,tps_flag=0,pilot_flag=0,zero_flag=0;
6)计数器r_cnt3(0~1704)的初始值为0。
(2)当r_en1或者r_en2为1时,开始RAM3和RAM4的读写操作:
1)当wk0=0时,设置RAM3和RAM4的读使能有效,读RAM3和RAM4。同时,设置RAM3的写使能有效,将从RAM1或RAM2读出的数据写入RAM3;当wk0=1时,设置RAM4的写使能有效,将从RAM1或RAM2读出的数据写入RAM4;
根据odd_even的状态产生不同规律的读、写地址。
2)rdata_valid在读RAM3和RAM4的前1512个并行数据时置为0,从读出的第1513个数据开始置为1。目的是解决“系统刚开始运行时,对RAM进行“先读后写”操作会造成读出的前1512个并行数据都为0”的问题,保证有效数据的正确性。
3)r_cnt3对rdata_valid=1的对应数据进行加一计数。r_cnt3=1704时,symbol_cnt加1,且odd_even信号通过取反操作改变状态。
(3)读出数据的同时将有效数据/导频/TPS/零的相应标识信号置1:
1)从RAM3和RAM4读出有效数据的同时将data_flag置1;
2)当r_cnt3计数到需插入导频或TPS的位置时,rdata_valid置1,r_cnt3继续加1计数,并将相应的标识信号tps_flag或pilot_flag置1;
3)当r_cnt3计数到需插入零的位置时,rdata_valid置0,r_cnt3不对其进行加1计数,并将标识信号zero_flag置1。
4)在插入TPS/导频/零时,通过将r_en1和r_en2置为无效来暂停RAM3和RAM4的读写操作。
下面是通过q和wk0来产生RAM3和RAM4的读、写地址的方法。其中,Hq是符号交织器的置换函数,使用MATLAB计算出Hq,将计算结果存放进ROM中。在偶数符号(符号计数器为0,2,4……)期间,假设当前q为n,则以n为地址读取ROM中的置换函数Hn。当wk0=0时,从RAM3和RAM4中读出Hn位置存储的奇数符号数据(两路并行数据),同时,将从RAM1或RAM2读取的有效数据写入RAM3的Hn位置。在下一个时钟周期时,wk0=1,将从RAM1或RAM2读取的有效数据写入RAM4的Hn位置。在奇数符号(符号计数器为1,3,5……)期间,当wk0=0时,按地址q读出RAM3和RAM4中的偶数符号数据,同时以q为地址将有效数据写入RAM3中。在下一个时钟周期时,wk0=1,以q为地址将有效数据写入RAM4中。
四、FIFO
(1)为满足QPSK模式输入时钟的要求,将符号交织模块输出的两路并行数据通过FIFO进行缓冲传输。
(2)FIFO的写时钟为18.28MHz,读时钟为9.14MHz。
(3)当FIFO的满信号full_fifo=1时,FIFO的写使能fifo_wen置为“0”(无效态),同时,RAM1或RAM2的读使能置0,r_cnt3保持计数值不变。直到FIFO为非满状态,fifo_wen、rd_en1、rd_en2、r_cnt3进入为正常运行状态。
(4)当FIFO输出的数据流对应的标识信号data_flag=1时,对该数据进行QPSK映射。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种用于DVB-T发射机的信道内交织系统,其特征在于,所述系统包括:数据流模块、比特交织模块、符号交织模块和FIFO;
所述数据流模块,用于产生符合输出速率要求的串行比特流,输出至比特交织模块,并为输出数据设置有效数据标志信号;
所述比特交织模块,用于通过两块RAM的“乒乓操作”,对接收到的数据进行缓存,并且控制缓存数据的输出速率;
所述符号交织模块,用于使用多块双口RAM对从比特交织模块读出的串行数据进行缓存,实现符号交织;用于对从多块双口RAM读出的并行数据进行计数,当计数到TPS、导频、零的子载波位置时,进行预处理操作;
所述FIFO,用于对符号交织模块输出的数据流进行缓冲传输。
2.根据权利要求1所述的用于DVB-T发射机的信道内交织系统,其特征在于,当DVB-T发射机的星座映射方式采用QPSK模式,所述符号交织模块内的双口RAM为2块,当DVB-T发射机的星座映射方式采用16QAM模式,所述符号交织模块内的双口RAM为4块;当DVB-T发射机的星座映射方式采用64QAM模式,所述符号交织模块内的双口RAM为8块。
3.根据权利要求2所述的用于DVB-T发射机的信道内交织系统,其特征在于,当系统采用QPSK模式,所述比特交织模块包括:第一初始化单元、写地址产生单元、读地址产生单元、输入数据流选择单元、RAM1、RAM2和输出数据流选择单元;
所述第一初始化单元,用于对该模块的各项参数进行初始化;
所述写地址产生单元,用于对RAM1或RAM2写入的数据进行计数,产生写地址;
所述读地址产生单元,用于对从RAM1或RAM2读出的数据进行计数,产生读地址;
所述输入数据流选择单元,用于通过控制RAM1和RAM2的写使能,将数据写入RAM1或RAM2;
所述RAM1和RAM2的深度均为3024,宽度均为1比特,写时钟clkw均为10.8MHz,读时钟clkr均为36.56MHz;
所述输出数据流选择单元,用于通过控制RAM1和RAM2的读使能,将数据从RAM1或RAM2读出。
4.根据权利要求3所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述比特交织模块的具体实现过程为:
第一初始化单元设置RAM1和RAM2的读、写使能均无效,即,wr_en1=0,wr_en2=0,rd_en1=0,rd_en2=0;设置写计数器w_cnt1初始值为0;设置读计数器r_cnt1初始值为3023;
当输入数据流选择单元接收到的数据流的source_valid=1时,设置RAM1写使能有效,wr_en1=1,写地址产生单元的写计数器w_cnt1从0进行加1计数,产生RAM1写地址w_addr1,按该地址将数据写入RAM1;
当w_cnt1=3023时,wr_en1置0;当r_cnt1=3023时,rd_en2置0;两个计数器的值都是3023时,输出数据流选择单元设置RAM1读使能有效,rd_en1=1,产生RAM1读地址r_addr1,从RAM1读数据;同时,输入数据流选择单元设置RAM2的写使能有效,wr_en2=1,写地址产生单元的写计数器w_cnt1重新从0进行加1计数,产生RAM2写地址w_addr2,按该地址将数据写入RAM2;
当写地址产生单元的写计数器w_cnt1=3023时,wr_en2置0;当读地址产生单元的读计数器r_cnt1=3023时,rd_en1置0;两个计数器的值都是3023时,输出数据流选择单元设置RAM2读使能有效,rd_en2=1,读地址产生单元产生RAM2读地址r_addr2,按该地址从RAM2读数据;同时,输入数据流选择单元设置RAM1的写使能有效,wr_en1=1,写地址产生单元的写计数器w_cnt1重新从0进行加1计数,产生RAM1写地址w_addr1,按该地址将数据写入RAM1。
6.根据权利要求5所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述符号交织模块包括:第二初始化单元、读写地址控制单元、RAM3、RAM4、读计数器r_cnt3和预处理单元;
所述第二初始化单元,用于对该模块的各项参数进行初始化;
所述读写地址控制单元,用于通过奇偶符号标识信号odd_even以及信号wk0和q,对RAM3和RAM4进行有规律地读写控制;
所述RAM3的写时钟是36.56MHz,读时钟是18.28MHz,深度为1512,宽度为1比特,并为“先读后写”模式;
所述RAM4的写时钟是36.56MHz,读时钟是18.28MHz,深度为1512,宽度为1比特,并为“先读后写”模式;
所述预处理单元,用于当读计数器r_cnt3计数到TPS、导频、零的子载波位置时,在该位置上插入零,同时将相应的标志信号置1,从而对后续插入TPS/导频/零的过程进行预处理。
7.根据权利要求6所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述符号交织模块的具体实现过程为:
第二初始化单元设置RAM3写使能wr_en3=0,RAM3读使能rd_en3=0,RAM4写使能wr_en4=0,RAM4读使能rd_en4=0;符号计数器symbol_cnt初始值为0,有效计数值为0~67;奇偶标识信号odd_even初始态为0;odd_even=0,表示偶符号;odd_even=1,表示奇符号;有效数据标识信号rdata_valid初始态为0,表示从RAM3或RAM4中读出的是无效数据;表示OFDM符号中有效数据、导频、TPS和零的标识信号初始值都为0,data_flag=0,tps_flag=0,pilot_flag=0,zero_flag=0;计数器r_cnt3的初始值为0;
当rd_en1或者rd_en2为1时,当wk0=0,读写地址控制单元设置RAM3读使能有效和RAM4读使能有效,从RAM3和RAM4中读取数据;同时,设置RAM3写使能有效,将RAM1或RAM2读出的数据写入RAM3;当wk0=1时,设置RAM4写使能有效,将RAM1或RAM2读出写入RAM4;其中,读地址和写地址根据odd_even的状态有规律地产生;
在读RAM3和RAM4的前1512个并行数据时rdata_valid置为0,从读出的第1513个数据开始置为1;计数器r_cnt3对rdata_valid=1的对应数据进行加1计数;r_cnt3=1704时,symbol_cnt加1,且odd_even信号通过取反操作改变状态;
读出数据的同时,预处理单元将有效数据/导频/TPS/零的相应标识信号置1:
1)从RAM3和RAM4读出有效数据的同时将data_flag置1;
2)当r_cnt3计数到需插入导频或TPS的位置时,rdata_valid置1,r_cnt3继续加1计数,并将相应的标识信号tps_flag或pilot_flag置1;
3)当r_cnt3计数到需插入零的位置时,rdata_valid置0,r_cnt3不对其进行加1计数,并将标识信号zero_flag置1;
4)在插入TPS/导频/零时,通过将rd_en1和rd_en2置为无效来暂停RAM3和RAM4的读写操作。
9.根据权利要求8所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述FIFO的写时钟为18.28MHz,读时钟为9.14MHz。
10.根据权利要求9所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述FIFO的具体实现过程包括:
当FIFO的满信号full_fifo=1时,FIFO的写使能fifo_wen置为“0”,同时,RAM1或RAM2的读使能置0,r_cnt3保持计数值不变;直到FIFO为非满状态,fifo_wen、rd_en1、rd_en2、r_cnt3进入为正常运行状态;
当FIFO输出的数据流对应的标识信号data_flag=1时,对该数据进行QPSK映射。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011563066.3A CN112737732B (zh) | 2020-12-25 | 2020-12-25 | 一种用于dvb-t发射机的信道内交织系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011563066.3A CN112737732B (zh) | 2020-12-25 | 2020-12-25 | 一种用于dvb-t发射机的信道内交织系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112737732A true CN112737732A (zh) | 2021-04-30 |
CN112737732B CN112737732B (zh) | 2022-10-04 |
Family
ID=75616638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011563066.3A Active CN112737732B (zh) | 2020-12-25 | 2020-12-25 | 一种用于dvb-t发射机的信道内交织系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112737732B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040022239A1 (en) * | 2002-07-31 | 2004-02-05 | Texas Instruments Incorporated. | Random access memory based space time switch architecture |
US6781976B1 (en) * | 1999-09-28 | 2004-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Time-alignment apparatus and method for providing data frames of a plurality of channels with predetermined time-offsets |
CN102316059A (zh) * | 2010-07-05 | 2012-01-11 | 中国科学院微电子研究所 | 一种ofdm系统的交织方法和装置 |
CN102437896A (zh) * | 2011-11-10 | 2012-05-02 | 北京市北康晟电子技术有限公司 | 一种比特交织及星座映射的方法及装置 |
CN105577325A (zh) * | 2015-12-25 | 2016-05-11 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种应用于正交分频复用传输系统的并行处理交织器 |
-
2020
- 2020-12-25 CN CN202011563066.3A patent/CN112737732B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781976B1 (en) * | 1999-09-28 | 2004-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Time-alignment apparatus and method for providing data frames of a plurality of channels with predetermined time-offsets |
US20040022239A1 (en) * | 2002-07-31 | 2004-02-05 | Texas Instruments Incorporated. | Random access memory based space time switch architecture |
CN102316059A (zh) * | 2010-07-05 | 2012-01-11 | 中国科学院微电子研究所 | 一种ofdm系统的交织方法和装置 |
CN102437896A (zh) * | 2011-11-10 | 2012-05-02 | 北京市北康晟电子技术有限公司 | 一种比特交织及星座映射的方法及装置 |
CN105577325A (zh) * | 2015-12-25 | 2016-05-11 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种应用于正交分频复用传输系统的并行处理交织器 |
Also Published As
Publication number | Publication date |
---|---|
CN112737732B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2129065B1 (en) | Data processing apparatus and method | |
US8132076B1 (en) | Method and apparatus for interleaving portions of a data block in a communication system | |
US7594160B2 (en) | Apparatus and method for receiving signal in a communication system | |
JP2958308B1 (ja) | インターリーブ解除装置 | |
US7385925B2 (en) | Data flow control method for simultaneous packet reception | |
CN106209319A (zh) | 一种支持任意符号率的调制器装置及实现方法 | |
KR100984987B1 (ko) | 동적 패킷 리오더링을 위한 방법 및 장치 | |
CN104765573A (zh) | 一种串口通讯数据处理分析方法 | |
US7069398B2 (en) | Apparatus and method for de-interleaving the interleaved data in a coded orthogonal frequency division multiplexing receiver | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
KR100212833B1 (ko) | 가변레이트 비터비 복호기 | |
US6421796B1 (en) | Efficient memory addressing for convolutional interleaving | |
CN112737732B (zh) | 一种用于dvb-t发射机的信道内交织系统 | |
US7360142B1 (en) | Methods, architectures, circuits, software and systems for CRC determination | |
CN101517902B (zh) | 采用比特位对处理的用于多级交织方案的解交织器 | |
CN102437896B (zh) | 一种比特交织及星座映射的方法及装置 | |
CN111030780A (zh) | 一种可配置并行比特分组交织器及交织方法 | |
US20030091109A1 (en) | Convolution interleaver and deinterleaver for systems with error correction encoding | |
CN103560977A (zh) | 具有输出延迟可精确配置能力的e1成帧控制器及工作方法 | |
EP1085427A2 (en) | Embedded RAM based digital signal processor | |
TW201622411A (zh) | 頻率解交錯與時間解交錯電路與方法以及數位電視之接收電路 | |
EP2688211A1 (en) | Interleaving and de-interleaving method, interleaver and de-interleaver | |
US6031876A (en) | Trellis decoder for ATSC 8VSB | |
JP4765227B2 (ja) | Ofdm受信装置 | |
CN106612120B (zh) | 一种用于sar成像系统的crc32校验方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |