【原创论文全套栏目提醒】:以下是网学会员为您推荐的原创论文全套-论文原创性声明 本人郑重声明:此处所提交的论文《基于 … - 学士论文,希望本篇文章对您学习有所帮助。
论文原创性声明 本人郑重声明:此处所提交的
论文《基于 FPGA 的移动 DTV 调制系统技术的数字通信》 ,是本人在导师指导下,在攻读学士学位期间进行研究工作所取得的成果。
据本人所知,
论文中除已注明部分外不包含他人已发表或撰写过的研究成果。
对本文的研究工作做出重要贡献的个人和集体, 均已在文中以明确方式注明。
本声明的法律结果将完全由本人承担。
作者签字 葛立扬 葛海亮 高鹏 日期: 2009 年 6 月 15 日 摘要 我们重点研究基于移动 DTV 调制系统技术的数字通信,我们对基于移动 DTV 调制系统技术在深入研究移动 DTV 国家标准的基础上,首先对系统的调制系统进行了设计规划,然后对信道调制的星座映射、系统信息插入、帧体数据处理、PN 序列插入的帧形成模块和成形滤波模块进行了设计和仿真,并验证了其在公交站牌系统上的正确性。
3780 个子载波的时域同步正交多载波技术(TDS-OFDM)是移动 DTV 调制系统的关键技术之一。
由于载波数不是 2 的整数次幂,考虑到实现的有效性,不能采用现已成熟的基-2或基-4 的快速傅立叶变换(FFT)算法。
针对调制系统中特有的 3780 点 IFFT,课题深入分析和比较了 Cooley-Tukey、Winograd 和素因子三种离散快速傅立叶变换算法的特点和性能,综合利用了三种算法优势,考虑了算法的复杂度、运算的速度、资源的消耗,设计出一种新的算法,进行了 Matlab 验证和基于 FPGA(现场可编程门阵列)的仿真。
分析表明,该算法所需的加法、乘法次数已很逼近 4096 点 FFT 算法。
移动 DTV 发射端的基带成形滤波采用了平方根升余弦滚降滤波,由于其 0.05 的滚降系数在实现中比较苛刻,所以是设计的难点之一。
本次我们利用 alteria 公司的 DE2 平台的 FPGAMatlab 工具采用了等纹波最优滤波的方法设计了 169 阶数字滤波器,其阻带衰减达到了 46.9dB完全符合标准的要求;利用四倍插值的方法实现了 I、Q 合路的该滤波器的 FPGA 设计,并进行了设计优化,显著降低了滤波器的运算量,大大节约了实现该滤波器所需的乘法器资源。
关键词:移动 DTV,TDS-OFDM,IFFT,平方根升余弦滚降滤波 ,FPGA ABSTRACT This dissertation firstly formulates and designs the modulation system of mobile DTV basedon researching the mobile DTV’s national standard deeplythen designs and simulatesthe stargraph mapping modulethe insertion of system information moduletheprocessor of frame-bodydatathe frame form with inserting PN sequences and theshaping filter which areverified.TDS-OFDMTime Domain Synchronous Orthogonal Frequency DivisionMultiplexingwith 3780 carries is oneof the key technologies of the mobile DTV’smodulation system.Because the number of carrerwave is not the integer power of 2wecannot use the maturational radix-2 and radix-4 FFTalgorithm in consideration of therealization effectivity.Aiming at the typical 3780-point IFFTthesubject deeplyanalyses and compares the speciality and capability of Cooley-TukeyWinograd andPrime Factor Algorithm.Considering the complexity and algorithmthe speed of calculationtheconsumption of resourcewe design a new algorithm using the advantage of three kinds ofalgorithm synthetically.After thatwe verify it by Matlab and carry out imitation based onFPGA.By analysis it is cleared that the number ofaddition and multiplication of the algorithmcloses to the 4096-point FFT. The system can operate at a rate of 70 frame/s for 320×240 arrays. In the image processing modulenon-uniformity characteristics of infrared focal plane and thecharacteristic of infrared image are studied.Hardware implement circuits for two-pointnon-uniformity correction algorithmlinear transformation algorithm for gray image andpseudo-color algorithm are proposed.Histogram equalization algorithmlinear smoothing filteralgorithm and nonlinear smoothing filter algorithm are simulated using MATLAB.The resultshows that histogram equalization algorithm can enlarge the dynamic range of gray imageand thesmoothing filter pseudo-color algorithm is proposed and a new adaptive nonlinear pseudo-coloralgorithm is used to make the image look soft and different temperature regions and the target canbe easily recognized. Keywords:nonuniformity correctionimage enhancementadaptive nonlinear pseudo-coloralgorithmFPGA 第一部分 引言 本课题研究的内容正是我国公交车移动电视系统帧结构、 信道编码和调制的传输调制技术。
本课题的主要任务是:通过对移动 DTV 国家标准的深入了解,对移动 DTV 系统的调制端的部分关键技术进行研究设计,提高算法的效率,对实现的方法进行优化,在 alteria公司的 DE2 平台的 FPGA 上上实现。
第二部分 星座映射、帧形成和 PN 序列插入模块的2.1 星座映射的设计实现由于星座映射的 MATLAB 仿真比较简单,所以在这里不详述。
基于 FPGA 的设计接口定义如下:clk_bitx2:系统比特时钟 2 倍周期的输入时钟;QAM_para:控制模块的参数信号;constellation:星座映射模式;data_in_en:输入数据有效信号;data_v_in:输入数据,数据宽度为 6 位;data_I:输出 I 路数据,数据宽度为 16 位;data_Q:输出 Q 路数据,数据宽度为 16 位;data_out_en:输出数据有效信号。
如图 1 所示为映射模块的 FPGA 设计结构,时钟信号为比特时钟周期的 2 倍。
图 1 星座映射硬件实现模块图控制模块由 QAM_para 信号控制,输出 64QAM、32QAM、16QAM、4QAM 调制信息constellation 外,还包括是否进行 NR 映射处理的控制信息 NR_con。
当检测到输入数据有效时,由输入选择器根据星座映射的模式把数据送入映射模块,按照 constellation 信号完成不同的映射。
输入选择器还完成了在不同映射模式下将数据串转并,分别转换成 4 比特、5 比特、6 比特并行输出。
在映射模块里根据标准里的星座映射图把输入的数据映射成 I、Q 两路。
最后通过输出选择器选择其中一种调制模式的 I、 两路数据作为输出送到帧形成模块。
Q输出选择器是个 ROM 存储器,深度为 116,位宽 32,存储各种星座映射对应的符号数据。
其中地址 03 存储 QPSK 及 QPSKNR 对应的 4 个符号数据;地址 419 存储 16QAM 对应的 16 个符号数据; 地址 2051 存储 32QAM 对应的 32 个符号数据;地址 52115 存储 64QAM对应的 64 个符号数据,且高 16 位为实部映射数据,低 16 位为虚部映射数据。
图 2 映射模块时序的仿真的波形图 2 为 64QAM 的星座映射模式下 constellation2’ b11经过星座映射后的时序仿真波形图,仿真工具用的是 ModelSim SE 6.0,可以看出时序波形比较整齐。
在 Windows XP 和 quartusDE2 的软件环境下,在 altera 公司的 DE2 平台的 FPGA 上综合之后消耗资源情况如下:占用了 90 个触发器,138 个四输入查找表,69 个 Slices,占用 1 个片内存储块 Block RAM,不到总数的 1。
2.2 系统信息插入的设计实现1.系统信息 TPS 是传输参数信令的英文缩写,也叫系统信息;用于给出传输参数,即为信道编码和调制的每个信号帧提供必要的解调和解码信息。
它包括符号映射方式、LDPC 编码的码率、交织模式信息、帧体信息模式等。
本系统中预设了 64 种不同的系统信息模式,并采用扩频技术传输。
这 64 种系统信息在扩频前可以用 6 个信息比特(s5s4s3s2s1s0)来表示,其中 s5为 MSB,定义如下:s3s2s1s0:编码调制模式,s4:交织信息;s5:保留。
该 6 比特扩频前的系统信息将采用扩频技术成为 32 比特长的系统信息矢量, 即用长度为32 的 Walsh 序列和长度为 32 的随机序列来映射保护。
国家标准中已经给出了扩频后的 64个 32 位的系统信息矢量,将这 32 比特采用 I、Q 相同的 4QAM 调制映射成为 32 个复符号,再加上 4 个帧体模式符号,得到了 36 个系统信息符号。
“ 在本设计中帧体模式 C3780, 1111”4 个比特也采用 I、Q 相同的 4QAM 映射为 4 个复符号,由于这种映射模式是 2 位到 2 位的映射,所以把它扩展为 8 位的符号,用补码表示。
映射后的 4 个帧体模式指示符号在前,32 个调制和码率等模式指示符号在后。
该 36 个系统信息符号通过复用模块与信道编码后的数据符号复合成帧体数据。
如图 3 和 4 所示: 图 3 帧体信息的结构图4 个帧体模式符号 32 个调制和码率等模式符号 3744 个数据符号 图 4 系统信息形成框图 2 系统信息插入的实现 系统信息插入模块的端口定义为: tps_in5:0:输入的系统信息比特位,6 比特并行数据; data_Qed:输入数据,经过 QAM 映射后的 32 位帧体数据,高 16 位为实部,低 16 位为虚部; data_valid_in:输入数据有效信号; clk:模块工作时钟,也是数据输入时钟; rst:复位信号,低电平有效,等于 0 时可以复位控制模块的寄存器值; dout_start:输出 3780 个连续数据的起始脉冲信号,持续一个时钟周期; dout_en:输出 3780 个连续数据的有效使能信号; dout:输出数据,高 16 位为实部,低 16 位为虚部; 图 5 系统信息插入模块的实现结构 输入 tps_in5:0经过系统信息模块, 产生 36 个系统信息符号, 写入到 RAM0(深度为 36)中;再插入经 QAM 模块映射的 3744 个符号数据之前,形成了 3780 点的帧体数据。
QAM模块的输出数据 data_Qed 写入到 RAM1(深度为 3744)中。
RAM 控制单元完成 RAM0 和RAM1 的读写地址和读写使能信号产生。
当 RAM1 的 3708 个数据写完时,控制单元产生RAM0 的读使能信号,启动 RAM0 的读数据操作。
当 RAM0 读完 36 个系统信息符号后,3744 个数据正好读完, 控制单元产生 RAM1 的读使能信号, 启动 RAM1 的读数据操作。
RAM0和 RAM1 数据经由一个数据选择器输出, 按照图 5 的结构模式形成 OFDM 调制需要的 3780个数据。
如波形图所示,输入的 tps_in 信号为 010001,表示信息模式是:4QAM、LDPC 码率 1、交织模式 2,系统的信息矢量为 10001000001110001101111000100101。
当输入数据计数到 3709 之后,RAM0 开始存储系统信息符号,启动 RAM0 的读使能信号 cont_en1,数据选择器开始输出系统信息符号,输出的前 4 个是帧体模式信息。
(波形图 9 中指示的 4 个数据就是帧体的模式信息符号) ,然后是 TPS 信息。
当输入数据计数到 3744 时,RAM1 已经读取完 36 个系统信息符号, 数据选择器正好可以连续输出 3744 个星座映射的符号, 避免了系统信息和帧体信息中间的隔断,保证了信号的连续完整性。
图 6 系统信息插入模块仿真波形图 在 在 Windows XP 和 quartus DE2 的软件环境下, altera 公司的 DE2 平台的 FPGA 上综合之后消耗资源情况如下:占用了 115 个 Slices,187 个触发器,208 个四输入查找表,占用片内 Block RAM 资源不到 6。
帧头及 PN 保护间隔 (55.6μs) 帧体帧头(420 个符号) (500μs) 信号帧模式 1 (3780 个符号)帧头(595 个符号)78.7μs 帧体 (500μs) 信号帧模式 2 (3780 个符号)帧头(945 个符号)125μs 帧体 (500μs) 信号帧模式 3 (3780 个符号) 图 7 三种帧头模式 信号的数据帧结构的基本单元为信号帧,信号帧由帧头和帧体两部分组成。
由于地面传输环境的多样性和复杂性, 不同条件下引起的信道最大延时扩展各不相同。
为了系统的兼容性考虑,标准中定义了三种可选的帧头模式,如图 7 所示,三种帧头模式所对应的信号的帧体长度和超帧的长度保持不变,分别由长度不同的 PN 序列构成。
帧头和帧体信号的基带符号率相同。
三种帧头模式所对应的信号帧的帧体长度和超帧的长度保持不变, 帧体包含了系统信息和数据。
其中帧头 1 和帧头 3 信号平均功率是帧体信号平均功率的 2 倍,帧头 2 信号平均功率与帧体相同。
PN 序列的产生前同步缓冲82 PN 序列255 后同步缓冲83 图 8 PN420 结构 接下来以模式 1 为例,介绍 PN 序列的产生设计,它的结构图由图 12 给出。
帧头模式 1采用的 PN 序列定义为循环扩展的 8 阶 m 序列。
可由一个 m 序列发生器实现,m 序列发生器又叫作最大长度的线性反馈移位寄存器(LFSR) ,由 n 级带反馈的移位寄存器构成。
一个特征多项式及其寄存器的初始值完全确定了一个 m 序列。
产生序列 PN255 的特征多项式为:G255xx8x6x5x1 该 LFSR 的初始状态有多种,可产生 225 个不同相位的 PN420 序列。
对于每个超帧中的225 个信号帧,每个信号帧的帧头采用不同相位的 PV420 信号作为信号帧的识别符, 并在每个超帧的开始时复位。
8 位 LFSR 的结构图如图 9 所示。
8 个移位寄存器根据连接向量与模2 加法器相连,并将反馈结果送入第一级,而输出数据从最后一级送出。
图 9 8 阶 m 序列的生成结构 前后同步缓冲 移动 DTV 的帧头由前同步缓冲、PN 序列和后同步缓冲组成。
前、后同步缓冲又称作前、后保护间隔,是长度为 255 的 m 序列的循环扩展。
前同步缓冲是防止前一帧的 IDFT 带来的影响,后同步缓冲则是为了防止 PN 序列带给随后的 IDFT 的影响。
前、后同步缓冲根据帧头模式的不同采用不同的长度。
本文中设计的是帧头模式 1,长度为 420,是 OFDM 帧体长的 1/9。
前同步缓冲的长度取82,后同步缓冲的长度取 83。
帧头模式 1(PN420)的保护间隔结构图如图 10。
图 10 PN420 前后同步缓冲的形成PN 序列的帧头数据插入的实现 PN 帧头数据插入模块的结构定义如下: clk:模块工作时钟,是系统的符号时钟; data_in:32 位的输入数据,数据的高 16 位为实部,低 16 位为虚部; data_in_en:输入有效数据使能信号,高电平有效; data_in_start:输入有效数据起始信号,高电平有效; PN_mode:插入 PN 序列的模式指示信号; dout_start:输出有效数据起始信号,高电平有效; dout_en:输出有效数据使能信号,高电平有效; dout:32 位输出数据,数据的高 16 位为数据实部,低 16 位为数据虚部。
图 11 帧头插入模块的实现结构框图及顶层模块图 PN 帧头数据插入模块主要完成 OFDM 调制的 3780 个数据和 PN 帧头的数据拼接。
在具体实现时,输入的 3780 个数据首先缓存在 RAM 中,当所需要的 PN 头数据产生完以后,启动读 RAM 操作,把缓存数据输出。
PN 帧头数据插入模块的具体结构及其顶层模块图如图 11 所示。
控制模块主要由模分别为 766 和 3780 的两个计数器组成,并控制 RAM 读写地址和 ROM读地址产生。
当帧体的 3780 计数器计数时,先完成 ROM 中存储的帧头的输出,紧接着把缓存的 3780 个 OFDM 调制数据顺序读出。
ROM 存储的是三种 PN 模式的 PN 帧头, 由于保护间隔的数据是 PN 序列的循环扩展,所以只需存储 PN 序列,通过控制 ROM 的读地址来产生完整的帧头。
PN420 模式存储地址为 0254 位,PN595 和 PN945 模式各顺序存储在255765 位, 以 所以 ROM 的深度需要 766 位。
PN420 为例, 先从 172254 读取前保护间隔,再读取 0254 的 PN 序列,然后读取 082 作为后保护间隔,从而完成一个完整的帧头。
波形图如下图所示,输出 PN420 模式帧头时,PN_mode01,ROM 的读地址控制信号从 172开始,dout 开始输出 ROM 的数据,同时 dout_en 和 dout_start 有效,读到 254 地址,这个是前保护间隔,然后开始读取 0254 的 PN 序列,最后才是 082 的后保护间隔。
图 12 PN 帧头插入模块的仿真波形图 。
在 Windows XP 和 quartus DE2 的软件环境下,在 altera 公司的 DE2 平台的 FPGA 上综合之后消耗资源情况如下:占用了 145 个 Slices,207 个触发器,273 个四输入查找表,占用片内 Block RAM 资源 6。
本模块部分小结。
详细介绍了移动 DTV 的调制系统中星座影射、系统信息插入、帧形成和 PN 序列插入模块的 FPGA 设计和仿真结果, 并给出了每个模块在 Windows XP 和 quartusDE2 的软件环境下设计所耗费的资源情况。
信道编码后的数据经过星座映射、系统信息插入和帧形成模块可以得到 OFDM 多载波调制的数据帧, 3780 个子载波的 OFDM 将在下一章重点介绍; 帧头形成模块和 PN 保护间隔插入模块,这个模块是数据帧经过 OFDM调制后为了最大限度地消除符号间干扰的重要模块 第四部分 帧体数据处理的研究设计1 傅里叶变换在 OFDM 系统中的应用。
设一个时间信号 st的抽样函数为 sk,其中 k0,1,2,…,N-1,则 sk 的离散傅里叶变换(DFT)为Sn的离散傅里叶反变换(IDFT)为若对上式中 St进行抽样,抽样间隔为 T,假定在一个码元周期内 T 内含有 N 个抽样值。
又由于 OFDM 信号的产生首先在基带上实现,然后通过上变频产生输出信号。
因此,基带处理时可令上式可简化为显然上几式相同,这说明 OFDM 系统的调制可以由 IDFT 来实现;同理,它的解调可以用离散傅里叶变换实现。
这就大大简化系统实现的复杂度。
下面讨论如何用 DFT 来实现 IDFT。
令 Xk是 N 点离散系列 xn的 DFT,于是有下面两式成立: 把 Xk看作是 OFDM 调制系统的输入信号,那么它的 IDFT 就是系统调制后的输出,所以我们可以通过正向的傅里叶变换来实现 IDFT。
从式中可以看出,可以分三个步骤来实现: 首先,将长度为 N 的输入数据取共轭;然后,对 N 点数据做正向傅立叶变换;最后,把得到的结果求共轭,再乘以系数 1/N。
若要完成 N 点傅里叶变换,需要 NN 次复数乘法和 NN-1次复数加法。
N 值较大时,计算量会相当的惊人,可能会因为计算量过大,占用系统大部分的资源并造成较长的延时,最终导致系统无法实时。
为了减少计算量,需要对直接的 DFT 算法进行改进,设计出一种新的快速傅里叶变换算法。
比较常用的有基-2 和基-4的快速傅里叶变换FFT,使用这类变换的前提分别是 N 必须是 2 的整数次幂或 4 的整数次幂。
然而,TDS-OFDM 系统的子载波数是 3780,介于 2048 与 4096 之间。
若通过补零到 4096,再采用基-2 或基-4 的 FFT 运算,会降低 FFT 运算的有效性。
我希望设计出一种合理、高效的快速算法,既能直接实现 3780 个数据的傅里叶变换,达到 100的运算有效性,又可以最大程度地减少计算量。
2 3780 点快速傅立叶变换算法为了实现时域同步正交频分复用(TDS-OFDM)技术,3780 点的 FFT 模块是其中不可或缺的重要模块之一,所以研究 3780 点 FFT 对理解移动 DTV 系统有重要的现实意义。
2.1 算法概述目前,关于 FFT 的算法主要是基于基-2 和基-4 的。
关于基-2 和基-4 的 FFT,从软件仿真到硬件实现已有很多种成熟的算法。
64 点、1024 点、2048 点或 4096 点的 FFT,在工程上都有多种对应的处理器和 FPGA,也有不少的改进型算法。
例如,FFT 实时谱分析系统的 1024点基-4 的 FFT 算法采用 FPGA 实现。
快速傅立叶变换的并行算法并要包括:基于 SIMD-MC2,SIMD-BF, SIMD-CC, MIMD-DM 四种体系结构上的 FFT 算法, 它们都是基-2 的 FFT 算法。
但是,对于不是基-2 或基-4 的 FFT,这些方法就都无能为力了。
3780 点 FFT 不是以 2 为基或以 4 为基,并且由于 3780 点 FFT 是移动 DTV 系统的独创,而移动 DTV 系统本身也刚提出不久,因而对于 3780 点 FFT 算法和处理器的研究才刚刚起步。
所以要实现 3780 点 FFT是有难度的。
实现 3780 点 FFT 的一种方法是把 3780 点通过内插得到 4096 点, 再利用各种基-2 或基-4 算法把 4096 点的 FFT,再减采样从而得到 3780 点 FFT。
这种方法前后采用了内插器,所以必然会带来误差。
另一个问题就是采样速率.
上一篇:
厦门大学学位论文原创性声明01
下一篇:
青青子衿,悠悠我心