CN112737732A - 一种用于dvb-t发射机的信道内交织系统 - Google Patents

一种用于dvb-t发射机的信道内交织系统 Download PDF

Info

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
Application number
CN202011563066.3A
Other languages
English (en)
Other versions
CN112737732B (zh
Inventor
马淑香
谢义方
胡婉如
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Space Science Center of CAS
Original Assignee
National Space Science Center of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Space Science Center of CAS filed Critical National Space Science Center of CAS
Priority to CN202011563066.3A priority Critical patent/CN112737732B/zh
Publication of CN112737732A publication Critical patent/CN112737732A/zh
Application granted granted Critical
Publication of CN112737732B publication Critical patent/CN112737732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error 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发射机的信道交织系统。
背景技术
目前,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
Figure BDA0002859857880000031
则RAM2的读地址r_addr2为:
wk0=0:r_addr2=2*q
Figure BDA0002859857880000032
作为上述系统的一种改进,所述符号交织模块包括:第二初始化单元、读写地址控制单元、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为:
Figure BDA0002859857880000051
Figure BDA0002859857880000052
则RAM4的写地址w_addr4和读地址r_addr4为:
Figure BDA0002859857880000053
Figure BDA0002859857880000054
作为上述系统的一种改进,所述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),则输出矢量和输入矢量之间存在如下关系:
Figure BDA0002859857880000061
其中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
Figure BDA0002859857880000071
其中,信号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)是符号交织器的置换函数,它的定义为:
定义一个二进制字R′i,大小为Nr-1,其中
Figure BDA0002859857880000072
那么R′i的取值如下:
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];
Figure BDA0002859857880000073
根据上述符号交织的原理,本发明通过奇偶符号标识信号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中取出。
Figure BDA0002859857880000074
Figure BDA0002859857880000075
对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
Figure BDA0002859857880000081
Figure BDA0002859857880000082
Figure BDA0002859857880000083
其中,信号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
Figure BDA0002859857880000101
其中,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中。
Figure BDA0002859857880000121
Figure BDA0002859857880000122
四、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。
5.根据权利要求4所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述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
wk0=1:
Figure FDA0002859857870000021
则RAM2的读地址r_addr2为:
wk0=0:r_addr2=2*q
wk0=1:
Figure FDA0002859857870000022
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的读写操作。
8.根据权利要求7所述的用于DVB-T发射机的信道内交织系统,其特征在于,所述读地址和写地址根据odd_even的状态有规律地产生,具体包括:
利用置换函数H(q)计算出Hq,将计算结果Hq存放进ROM中;
则RAM3的写地址w_addr3和读地址r_addr3为:
Figure FDA0002859857870000041
Figure FDA0002859857870000042
则RAM4的写地址w_addr4和读地址r_addr4为:
Figure FDA0002859857870000043
Figure FDA0002859857870000044
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映射。
CN202011563066.3A 2020-12-25 2020-12-25 一种用于dvb-t发射机的信道内交织系统 Active CN112737732B (zh)

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)

* Cited by examiner, † Cited by third party
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 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种应用于正交分频复用传输系统的并行处理交织器

Patent Citations (5)

* Cited by examiner, † Cited by third party
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