




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北经贸大学毕业论文 I 河河北北经经贸贸大大学学毕毕业业论论文文 通通信信系系统统信信道道编编码码的的设设计计与与实实现现 摘摘 要要 扩频技术是扩展频谱通信 Spread Spectrum Communcation SSC 的简称 它是 随着在军事通信中的应用发展起来的 由于其具有其它一般通信方式不具备的 抗干扰强 抗多径衰落好 保密性好等一系列的优点 因此近年来它在民用通 信中的应用也开始越来越受到人们的重视 信道编码是扩频通信的关键技术之一 是解决信号在信道中无差错传输的 技术 本文主要研究内容包括 信道编码技术的研究背景 发展状况和现实意 义 着重介绍了差错控制编码中的分组码 卷积码和Turbo码的编解码的理论基础以 及具体硬件实现的过程 卷积码是目前无线通信中比较多使用的一种编码方法 其优点是结构清晰 编码器硬件实现较容易且有比较好的查错纠错效果 但其解码器的设计比较困 难 目前一般使用的是 Viterbi译码器 Turbo码是接近香农限的一种编码方法 拥 有及其优秀的降低误码率的性能 但也存在着结构复杂 解码困难的缺陷 关键词 无线扩频通 信 信道编码 卷积码 Viterbi译码 Turbo码 河北经贸大学毕业论文 II Abstract Spread Spectrum Communication SSC is developed with its application in military communication It owns a lot of advantages that other communication system do not have With the development of Spread Spectrum Communication technology it gradually applied in civil communication widely Channel Encoding technology is one of the key technology in SSC It aims to realize the non error transmission of the signal This paper discusses the background history and the signification of the Channel Encoding technology I mainly recommended the principle and hardware realization of Block coding Convolutional coding and Turbo coding in this paper Convolutional coding is the common function in wireless communications It has legible structure and good error check and error correct character but the decoder of Convolutional coding is difficult and Viterbi decode now is the comparative good Turbo coding has great character of error check and error correct and can almost reach the Shannon limitation also it has complicated structure in both encoder and decoder Keywords Spread spectrum communication Channel Encoding Convolutional coding Turbo coding Viterbi decoding 河北经贸大学毕业论文 III 河北经贸大学毕业论文 I 目目录录 1 绪论 1 1 1信道编码研究背景及意义 1 1 2研究现状 1 2 信道编码概述 4 2 1信道编码原理 4 2 2差错控制编码 4 2 3 分组码 5 2 3 1 基本原理 5 2 3 2 线性分组码 7 2 3 3 循环码 7 3 信道编码的几种常用编码 8 3 1卷积编码 8 3 1 1 卷积码的表示 8 3 1 2 状态流图 10 3 1 3 网格图 11 3 1 4 卷积码距离特性 12 3 1 5 卷积编码器的 FPGA实现 12 3 2Turbo码概述 16 3 3Turbo编码器 16 3 3 1 递归系统卷积码 RSC 17 3 3 2 交织与解解交织 18 3 3 3 块交织 18 3 3 4 PN交织 19 3 4 低密度奇偶校验 LDPC 码的研究意义 21 3 5LDPC码的编码简介 22 4 信道编码的FPGA实现 23 4 1 系统概述 23 河北经贸大学毕业论文 II 4 1 1 总体设计 23 4 1 2 基带部分的FPGA设计流程 23 4 1 3 芯片介绍 23 4 2 基于FPGA的扩频信号处理芯片的总体设计 25 4 2 1 设计指标 26 4 2 2 发射子系统 27 4 2 3 数据的差分编码 27 5 论文总结 29 致 谢 30 附 录 31 参考文献 35 河北经贸大学毕业论文 1 通信系统信道编码的设计与实现 1 绪论 1 1 信道编码研究背景及意义 随着现代无线通信技术的迅猛发展 数字信号已经逐渐取代了模拟信号成 为主要的传输信号类型 与模拟信号相比较 数字通信具有高抗干扰能力 易 于加密提高保密性 可以使用现代数字信号处理技术等优势 但由于信道的特 性复杂 当调制好的信号在信道里进行传输的时候 必然要受到信道的影响 信道的影响可以分成以下三个主要方面 第一是信道本身对信号产生的衰落 由于信道本身频率响应特性不理想 造成对信号的破坏 第二是信道中的各种 噪声 如背景噪声 脉冲噪声等等 这些噪声叠加在信号上面 改变信号的幅 度 相位和频率 使信号在解调时产生错误 第三 是信号在传输过程中由于 反射 折射或沿不同路径传播从而带来的叠加效应 即通常所说的多径效应 这会带来时间上前后信号互相干扰 总而言之 这三种加性干扰都会导致在接 收端信号解调的错误 使系统的误码率大大增加 导致了其在无线信道中传输 过程中极易受到干扰而使码元波形变坏 所以传输到接收端后可能发生错误判 决 而信道条件越是恶劣 产生错误的可能性就越大 由于信道中的加性干扰不能通过均衡等方法完全消除 因此在一个实用的通信 系统中 必须采取一定的措施来纠正错误 降低系统的误码率 信道编码就是 一种非常有效的措施 信道编码的任务就是 在发送端以可控的方式在信号中 加入一定的冗余度 而在接收端这些冗余度可以用来检测并且纠正信号通过信 道后产生的错误 当然 冗余度的加入降低了系统的工作效率 但是和系统 误码率的降低 即信号更加正确地传送 相比 这些代价是可以接受的 信道 编码正是基于此提出并发展起来的 1 2 研究现状 1948年 信息论的开创者 C E Shannon在其题为 A mathematical theory of communication 的论文中 第一次提出了在有扰信道中实现可靠通信的方法 即 河北经贸大学毕业论文 2 著名的信道编码定理 为现代信息论奠定了基础 信道编码定理是指对于一个给定的有干扰信道 信道存在着容量的上限 即信道的最大传输能力是固定的 称之为Shannon限 用C表示 他还指出实际传输 的速率r C时 我们一定可以通过编码的方法使得误码率P随着码长n的增加而下 降到任意小 即 1 1 nE r pe 式1 1中为误差指数 同时 Shannon也给出了信道编码定理的逆定理 E r 即当通信速率超过信道容量时 不可能实现无差错传输 AWGN信道的容限可以由 Shannon Hartley公式计算 1 2 2 log 1 CBS N 为系统带宽 是信噪比 由于与符号信噪比 比特信噪比B S N S N 0 S EN 存在以下关系 0 b EN 1 3 2 00 log Sb EES MR NNN 其中 分别代表符号能量和比特能量 而为单边噪声功率谱密度 S E b E 0 N 是系统的调制级数 是系统编码的码率 MR 实际上 Shannon限是一个极限 在实际的编码当中只能无限逼近而无法达 到 同时Shannon等人给出了接近 Shannon限的三个基本条件 1 采用随机编 译码 2 编 译码长度 趋于无穷 n 3 译码使用最大似然译码方法 编码效率和误码率是衡量信道编码质量的重要参数 香农信道编码定理肯定了逼近香农限的编码方案的存在 但并未说明如何 找到符合要求的编码方案 为了找到逼近香农限的编码方案 上世纪五十年代 到六十年代初 人们相继研究了两大类纠错编码 线性分组码和卷积码 线性 分组码以代数中的群论 域论等理论为数学基础 他们的译码方法通常是大数 逻辑和捕错译码 卷积码在编码过程中引入了寄存器 增加了码元之间的相关 河北经贸大学毕业论文 3 性 在相同复杂度的条件下可以获得比分组码更高的编码增益 卷积码的译码算法主 要有序列译码算法和维特比 Viterbi 算法 但存在的问题是 无论是分组码还是卷积码大多采用短码 因为它们的译 码复杂度与码长成指数关系 随着码长的增加 译码的计算量极大的增加 要 达到香农限 纠错码的码长必须足够长 所以上述的短码都难以达到逼近香农 限的目标 到了上世纪八十年代到九十年代初 经过几十年的研究和实践 纠错编码 理论和技术取得了突飞猛进的发展 1993 年 C Berror 等人在ICC 93 会议上提出了 Turbo 码 它巧妙的将卷积码和随机交织器结合在一起 实现了随机编码的思想 采用软输入 软输出的迭代译码算法 这种编码能够在码长较长时逼近香农的 理论极限 目前较为流行的 Turbo 码译码算法主要有 MAP 算法 Log MAP 算法 Max Log MAP 算法和SOVA 算法 仿真结果表明 在 AWGN 信道和BPSK 调制 下 如果采用 65535 的随机交织器 并且进行 18 次迭代 则在 Eb N0 0 7dB 时 码 率1 2 的Turbo 码的误比特率 BER 10 5 逼近了香农限的性能 1 2 码率的香 农限约为0dB Turbo 码被看作是1982年TCM 技术问世以来 信道编码理论所 取得的最大成就 具有里程碑的意义 在Turbo 码获得巨大成功的启发下 另一种具有相似特性的纠错码复活了 这就是低密度奇偶校验 LDPC 码 LDPC 码是Gallager 码的推广 1962 年 Gallager 在中提出了一种编码 现在通常称为Gallager 码 这种编码由于校验矩阵 的稀疏性 使得译码的复杂度只与码长成线性关系 当码长较长时 仍然可以 进行有效的译码 然而当时人们普遍认为级联码更容易实现 忽视了Gallager码的存 在 D J C Mackay M Neal 和N Wiberg 等人对 Gallager 码重新进行了研究 发现 Gallager 码虽然性能较 Turbo 码略有差距 但它同样具有逼近香农限的性能 在 Gallager 码的基础上 他们进一步研究了多元域上的LDPC 码 发现多元域上的 Gallager 码较二元域上的码的性能有较大提高 且域的阶数越高编码的性能越好 M G Luby 和M Mitzenmacher 等人从另一个角度对 Gallager 码进行了推广 提出非 正则 LDPC 码 这种纠错码的性能能够赶上甚至超过Turbo 码 河北经贸大学毕业论文 4 2 信道编码概述 2 1 信道编码原理 在一个噪声信道中 如果我们把调制 解调器和检测器看作是信道的一个组成部 分 那么一个数字通信系统模型可以用图2 1表示 虚线框为假想的信道部分 图2 1 数字通信系统模型 信道编码器的作用是以可控的方式在二进制信息序列里插入一些冗余度 以达到在接受端利用这些冗余度来克服信号在信道中受到的干扰和噪声的影响 编码的一般过程是 每次取k 个比特的信息序列 把这个k 比特信息组映射成与之 唯一对应的 n 比特组 这些 n 比特组称为码字 在这种方式中 由信道编码引入 的冗余量可以用比值来衡量 该比值的倒数 即 称为码率 n k k n 信道编码器输出的二进制序列被送入调制器 进入信道 调制器把二进制序列映射 2 2 差错控制编码 数字信号在信道中受到的乘性干扰而引起的码间干扰 通常可以采用均衡的 方法纠正 而加性干扰则要通过其它途径来解决 通常我们在数字系统中用差 河北经贸大学毕业论文 5 错控制的方法来解决 从差错控制角度来看 按加性干扰的错码分布规律不同 信道可以分为三 类 即随机信道 突发信道和混合信道 在随机信道中 错码是随机且相互之 间统计独立的出现的 白噪声引起的错码就是这种性质 而在突发信道中 错 码的出现是成串集中的 在一些短时间内会出现大量的错码 而在这些短促的 时间区间与区间之间又存在较长的无错码区间 这些成串出现的错码称为突发 错码 经过分析我们发现产生突发错码的主要原因是脉冲干扰和信道中的衰落 现象 那么如果在一个信道中同时出现随机错码和突发错码 那么我门就称该信道为 混合信道 对于不同类型的信道 应采取不同的差错控制技术 通常用到的有 1 检错重发法 接收端在收到信码中检测到错码以后 不一定能判断具 体的错码位置 即通知发送端重发 直到正确接收为止 这种方法需要具备双 向信道 2 前向纠错法 接收端不仅能发现信码中的错码而且能纠正错码 这种 方法不需要双向信道 所以节省了反复重发的延时 但纠错设备要比检错设备复杂 3 反馈校验法 接收端将信码原封不动地转发回发送端 并与原发送信 码比较 若发现错误 则重发 同样 这种方法需要双向信道 但由于每一信 码都至少传送了两次 那么传输效率较低 前两种方法都可以判断接收端有无错码 这种判断就是建立在发送端的信 道编码的基础之上的 在发送端 信道编码器在信息码元中增加了一些监督码 元 而这些监督码元又和信码之间有一定的关联 那么接收端就可以利用这种 关系由信道译码器来发现并纠正可能存在的错码 在信息码元中加入的监督码元就称为差错控制编码或纠错编码 同样编码 效率和误码率是衡量差错控制编码的重要参数 这里我们所讲的编码效率就是 增加的监督码元的多少 监督码元越多编码效率就越低 而同时 随着监督码元的增加 纠 错性能又得到了提高 两者之间存在着矛盾 2 3 分组码 2 3 1 基本原理 分组码 Block Coding 和卷积码 Convolutional Coding 是信道编码的两种 主要形式 分组码的特点是一次处理相当规模的信息块 通常为成百字节的数 据 而卷积码则是处理串行的信息比特流 现在 人们已经设计出了许多种 河北经贸大学毕业论文 6 有用的分组码和卷积码 相应的也有许多种有效的译码算法 适用于不同的场合把原 始信息从接收数据里面恢复出来 为了便于理解 我们通过一个例子来说明 一个由3位二进制数字构成的码组 共有8种可能组合 可以表示 8种不同的天气 譬如 000 晴 001 云 010 阴 011 雨 100 雪 101 霜 110 雾 111 雹 其中任 何一个码组在传输中发生一个或多个错码 则将变成另一个信息码组 这时接 收端都无法发现错误 如果上述8种码只允许使用 4种来传送信息 譬如 000 晴 001 云 010 阴 011 雨 这时虽然职能传送 4种天气 但接收端却有可能发现码组 中的一个错码 例如 若 000 晴 中错了一位 变成了 100或0101或001 这三种 码组都是不准许使用的 称为禁用码组 故接收端在收到禁用码组时 就认为 发现了错码 同样 如果发生三个错码也能检测出来 但这种码不能发现两个 错码 因为发生两个错码后产生的是许用码组 上述码组可以检测错误 但不能纠正错误 如果我们只允许2种来传送信息 000 晴 111 雨 其余都是禁用码组 这时就能检测两个以下的错码或纠 正一个错码 例如 收到禁用码组100时 如果认为该码组中仅有1个错码 则可以 判断错码发生在 1 位 从而纠正为 000 晴 若上述接收码组中的错码数认为不 超过两个 则存在两种可能性 000错1位或111错两位都可能变成 100 因而只能检 测出存在错码而无法纠正它 从上面的例子中可以得到关于 分组码 的一般概念 如果不要求检 纠 错 为了传输 4种不同的信息 我们用两位码组就够了 他们呢是00 01 10 11 代表 所传信息的这些两位码 成为信息位 而上例中用了3位码 多增加的这一位称为 监督位 分组码 由一组固定长度称为码字的矢量构成 码字的长度就是矢量元素 的个数 用 n来表示 码字的元素选自有q个元素的字符集合 如果 q 2 则称为二 进制分组码 如果 q 2 则称为非二进制分组码 长度为n 的分组码一共有 个可能 n q 的码字 从中选取包含个码字的子集构成一种码 这样可以把一个k比特的2kM 信息分组映射到所选择的子集中的一个长度为n 的码字 这样的得到的分组码称为 n k 码 n k 码中 n k r为监督码元的数目 在分组码中 我们把 1 的数目称为码组的重量 而把两个码组对应位上数 字不同的位数称为码组的距离 简称码距 又称汉明 Hamming 距离 上例中 4个 河北经贸大学毕业论文 7 码组之间 任两个的距离均为2 我们把某种编码中各个码组间距离的最小值称为最 小码距 所以上例中编码的最小码距为 0 d 0 2d 经过证明 我们已经能够得到一下3个定理 1 为检测 个错码 要求最小码距 e 0 1de 2 为纠正 个错码 要求最小码距 t 0 21dt 3 为纠正 个错码 同时检测个错码 要求最小码距 te 0 1det et 2 3 2 线性分组码 假设 是某种 n k 码的两个任意的码字 和 是码元字符集中的两个任意的 元素 那么当且仅当 也是该分组码的码字时 我们称该分组码为线性的 叫做 线性分组码 循环码 BCH码和里德 所罗门 Reed Solomon 码是实际应用中 常见的线性分组码 2 3 3 循环码 循环码是一种重要的线性分组码 它是在严密的代数理论基础上建立起来 的 循环码的编 解码设备都不太复杂 且有比较强的纠错能力 目前已经在理 论上和时间上得到了较大的发展 循环码除了有线性分组码的一般性质外 还具有循环性 即循环码中任一 码组循环一位 将最右端的码元移至最左端 或反之 以后 仍为该码中的一 个码组 常用的 7 3 循环码的全部码组见表 表2 1 常用的循环码的全部码组 信息位监督位信息位监督位 码组编号 654 a a a 3210 a a a a 码组编号 654 a a a 3210 a a a a 1000000051001011 2001011161011100 3010111071100101 4011100181110010 河北经贸大学毕业论文 8 由此表可以直观看出这种码的循环性 例如 第3组右移一位即得到第 2组 第6组右移一位即得到第 7组 循环码的解码方法有捕错解码 多数逻辑解码等 硬件实现上都是比较简单的 3 信道编码 的几种常用编码 3 1 卷积编码 卷积码是由P Elias于上世纪五十年代提出的一种非分组码 卷积编码器将A 发送的信息序列通过一个线性的 有限状态机的移位寄存器而产生的编码 通 常卷积码的编码器由 K级 每级k比特 的移位寄存器和 n个线性代数函数发生器 这里是模2加法器 组成 如图 3 1所示 图3 1 卷积码编码器一般结构图 卷积编码充分利用了各码组的相关性 无论在理论上还是在实际中已经被证 明其性能不差于甚至优于分组码 而且卷积码和其它编码方法比起来 有相对 直观和简洁的编码结构 当然和拥有严格代数结构的分组码不同 卷积码至今尚没有找到可以把纠 错性能和码的构成有规律的联系的严密的数学手段 因此 目前大多用计算机 河北经贸大学毕业论文 9 来搜索好码 而且卷积码的译码方法比较复杂 从目前所使用的几中主要译码方法 如维特比算法 VA 最大后验概率译码 MAP 等 都存在结构复杂 计算量 巨大的问题 3 1 1卷积码的表示 卷积编码器在一段时间内输出位码 不仅与本段时间内的位信息 n k mnk 有关 而且还与前面 段规定时间内的信息位有关 这时监督位监督着这m1N 段时间内的信息 这 段时间内的码元数目称为这种码的约束长度 这里NNnN 选用我们项目中使用的 2 1 2 卷积编码为例子 简单介绍一下卷积编码的编 码原理及表述 图 3 2 2 1 2 卷积编码器 可以看到 编码器有 2个移位寄存器 每个时钟周期输入1bit数据 每一段时间 内输出2bit数据 输出与输入的关系如下 1 2c c1 2 3b bb 1123cbbb 3 1 213cbb 其中表示模2加 这样编码器必须存储最近两个信息比特 我们称这个编 码器的记忆长度为 2 着两个输出序列通过切换器服用形成一个码序列m 此序列为 2 1 2 卷积码的一 1 2 1 2 1 2 1 2 110011 ll bbbbbbbbb 个码序列或码字 河北经贸大学毕业论文 10 同时 2 1 2 卷积编码器的寄存器和模 2加法器之间的连接还可以由以下 生成序列描述 3 2 1 1 1 1 012 2 2 2 2 012 1 0 1 1 1 1 gggg gggg 表示的抽头连接系数 而表示的抽头连接系数 这样 我们 1 g 1 c 2 g 2 c 可以用 3 3 式表示 i c 表示卷积 3 3 1 2 ii cb gi 我们还可以用和排列成一个矩阵 G 该矩阵为码序列的生成矩阵 的 1 g 2 gb 生成矩阵 G 1 2 1 2 1 2 001100 1 2 1 2 1 2 001122 1 2 1 2 1 2 001122 1 2 1 2 1 2 001122 0000 0000 0000 0000 g gg gg g g gg gg g g gg gg g g gg gg g 整个编码操作可一表示为G cu 那么我们可以将 2 1 2 编码推广到所有无反馈的 1路输入 路输出的卷n 积编码器 假设编码器长度为 那么可以表示为n 第 个输出序列可以表示为i 3 4 1 2 ii cb gin 河北经贸大学毕业论文 11 3 1 2 状态流图 作为一个有限状态的线性电路 卷积编码器可以用状态流图描述 如果编码器的 寄存器个数为 那么一共就有个状态 状态随着输入到移位寄存器当中的码字K2K 的变化而发生变化 状态转移图是由代表编码器状态的节点和代表状态转移的有向 线段所组成的 每条有向线段用输入 输出来标识 我们仍然以 2 1 2 编码器为例 由于编码器有两个寄存器组成 那么 它拥有4个状态 分别用 a b c d表示 每个状态有两条出径 表示输入比特的两 种可能 这里我们用实线表示输入比特为0 虚线表示输入比特为 1 图3 3表示了 2 1 2 编码器的状态转移图 图3 3 2 1 2 编码器 状态转移图 3 1 3 网格图 如果我们将状态流图的个中可能路径按时间轴展开 我们可以得到卷积码 的另一种表示方式 网格图 个寄存器的卷积编码器对应到网格图中时间轴K 上每个时刻都有个节点 对应于状态流图上的 个状态 各时刻节点间的连线2K2K 叫做分支 与状态流图中的有向线段对应 表示状态的转移 图3 4表示了 2 1 2 卷积编码器状态转移的网格图 河北经贸大学毕业论文 12 图3 4 2 1 2 卷积 编码器状态转移 图 3 1 4 卷积码距离特性 卷积码的纠错性能取决于它的距离特性 这里考虑两种距离 对于硬判决译 码 译码器对二进制符号进行操作 编码性能用汉明距离衡量 而软判决译码 器从解调器接收量化或模拟信号 译码操作基于欧氏距离 卷积码的最小自由距离 定义为码字集合中 任意两个码序列之间的最小汉明距 由于卷积码是线 free d 性的 两个码序列之间的距离等于它们的模2和的重量 而这个和又是另一个码序 列 因此所有非零码序列的最小重量即是最小自由距离 换句话说 全零码序 列可以作为确定最小自由距离的参考序列 3 1 5 卷积编码器的 FPGA实现 Verilog HDL对 2 1 2 编码器进行硬件描述以后得到图3 5所示的顶层设 计图 其引脚定义见表 3 1 河北经贸大学毕业论文 13 图3 5 2 1 2 卷积编码器 FPGA实现顶层模块图 表3 1 编码器引脚定义 1clk全局时钟 2clk data编码时钟 频率为全局时钟的二分频 3mcu resetSOC芯片复位信号 高电平有效 系统上电后 需要MCU对SOC芯片 进行初始化 4fifo full编码始能信号 先进先出寄存器满信号 高电平有效 5fifo empty待编码数据发送完毕信号 高电平有效 6 13fifo out编码数据输入 8bit并行 14type t发送数据类型信号 15 end send编码发送完毕信号 表示信码已经完全传输到扩频端 高电平有效 16read取待编码数据始能信号 高电平有效 17end encode编码结束标志 18en dsss扩频始能信号 19 20encode out编码输出 2bit并行输出 编码器工作流程如下 河北经贸大学毕业论文 14 图3 6 编码器工作流程图 河北经贸大学毕业论文 15 编码器的仿真见图 3 7 encode in进行输入后编码由 encode out输出 图3 7 编码模块组成图 顶层结构又由两级子系统 convoler 1和convoler 2串联组成 见图3 8 图3 8 编码器模块构成图 河北经贸大学毕业论文 16 其中convoler 1是1bit移位积存器 而convoler 2是整个编码器的核心部分 完成了 2 1 2 编码的数据抽头 模 2加和并行输出的功能 3 2 Turbo码概述 自从Shannon在1948年提出信息论以来 人们在不懈地向逼近信道容量的 极限努力 从信息论的角度看 只要传输的信息速率小于信道容量 总存在使 得错误概率任意小的编码方法 Shannon从理论上证明了 即使是随机编码 只要 编码块足够长 就能保证错误率任意小 从码空间的角度可以解释为每个码字 在整个码空间中平均的占有足够大的区域 尽管可能出现两个码字距离较小的 情况 但当码空间维数越高时 出现远离平均码距的码对的概率就越小 并趋于0 尽管我们能产生这样的随机编码 但由于需要较大的维数 而码字数量巨 大 使得译码不可能实现 为了能以可接受的复杂度进行译码 我们必须赋予 它一个码结构 因此 寻找一种可译码结构 使短码有尽量大的码距 而长码 的码距尽可能接近平均码距 而长期以来 由于高维理论的不足 编码研究的 思想多局限于低维数码 此时好的码要求有尽量大的最小码距 虽然相对未编 码系统而言能提供一定的编码增益 但还是与信道容量相距甚远 Turbo在英文中有涡轮驱动的意思 Turbo码顾名思义有级联 迭代的含义 自 从Turbo码93年提出以来 有关其设计及其性能的研究已成为国际信息与编码 理论最为重要的研究领域之一 Turbo码在低信噪比下所表现出的接近 Shannon极限 的性能 使得它在深空通信 移动通信等系统中有广阔的应用前景 3 3 Turbo编码器 Turbo码编码器一般是由两个或多个递归系统卷积码 RSC 编码器通过一个 交织器并行级联而成的 编码器的结构称为并行级联是因为两个编码器使用的 是同一组输入信息 而不是一个编码器对另一个编码器的输出进行编码 串行 级联 因此 Turbo码也被称为并行级联卷积码 PCCC 图4 1给出了一个典型 的Turbo编码器的结构框图 如图所示 编码器包括了两个递归系统卷积码 RSC 编码器一个交织器 Interleaver 和一个打孔器 Puncturing 河北经贸大学毕业论文 17 Interleaver Puncuring Code word Xk RSC2 RSC1 图4 1 一般Turbo编码器结构图 3 3 1 递归系统卷积码 RSC 一般在Turbo使用的是递归系统卷积码 Recursive System Convolutional RSC 2 1 2 RSC卷积编码结构框图如图 4 2所示 RSC的每一级移位寄存器的 输出都反馈到输入端 并与输入信息模2加后成为编码器输入比特 图4 2 2 1 2 RSC卷积编码器结构图 RSC与NSC相比具有更长的记忆长度 使较小距离 的码字数减少 文献 d 河北经贸大学毕业论文 18 中研究了大量 RSC与NSC的重量分布及其误码性能 在具有最小距离 的码字数 相d 同的情况下 RSC的信息序列重量比NSC的信息序列重量增加 得 RSC Wd NSC Wd 慢 因此 在低 SNR的情况下 RSC的误码比特率 BER Bit Error Rate 总是小 于 NSC的 3 3 2 交织与解解交织 我们知道编码的意义是通过加入冗余位信息的方法 从而在接收端能够发现 和纠正由于信道影响而产生的随机错码 那么如果信码在信道中传输时由于信 道或者认为的影响而使一段连续的码元产生大量错误 由于编码长度的有限 通过编码的方法是无法达到纠错的功能的 这就需要我们通过其它方法来解决 目前比较常用的方法是交织 Interleave 交织本质上是一个将数据序列 扰乱 的过 程 这里的 扰乱 实际上是按照一定的人为方式进行重新排列 交织主要由交织 器完成 它的逆过程就是解交织 将重排过的序列恢复到原来的序列顺序 可 以理解的是通过交织以后 原来可能出现的大量连续错误被分散开 成为随机 错误 而随机错误我们可以通过编码来解决 交织器 解交织器的加入将大大提高系统的纠错能力 但是随之而来的是增加 了传输延时 降低了信码的传输效率 这是因为信号的打乱一般是通过矩阵的 读入和读出采用不同的方式而实现的 这样必然带来时间上的损失 而且不同 的交织方法对信号的 扰乱 程度是不同的 如果 扰乱 的程度不够的话将得不到很 好的交织效果 所以 高 扰乱 低硬件复杂度和低延时成为设计交织器的关键 这里我们介绍两种比较常用的交织器的设计 3 3 3 块交织 块交织又称行列交织 其基本思想是按行读入 按列读出 如图4 3所示 块交 织器的优点是结构简单 硬件实现比较容易 而缺点也是显而易见的 那就是 由于输出顺序日染具有一定的规律性 对信号的 扰乱 程度不大 河北经贸大学毕业论文 19 1 2 3 4 5 6 m m 1 m 2 m 3 m 4 m 5 m 6 2m 2m 1 2m 2 2m 3 2m 4 2m 5 2m 6 3m 3m 1 3m 2 3m 3 3m 4 3m 5 3m 6 4m 4m 1 4m 2 4m 3 4m 4 4m 5 4m 6 5m 5m 1 5m 2 5m 3 5m 4 5m 5 5m 6 6m 6m 1 6m 2 6m 3 6m 4 6m 5 6m 6 7m n 1 m 1 n 1 m 2 n 1 m 3 n 1 m 4 n 1 m 5 n 1 m 6 nm n列 m行 至调制器的输出符号序列 来 自 编 码 器 的 输 入 符 号 序 列 图4 3 块 行列 交织原理图 3 3 4 PN交织 块交织实现了对信号的 扰乱 但扰乱程度不够大 为了最大可能的 扰乱 数据 顺序 避免原先相邻的数据在交织以后继续相邻 伪随机交织的概念被提出来了 在信道编码器中 数据交织一般是通过RAM来实现的 通过控制 RAM的读写 地址 可以完成交织 因此对于伪随机交织 关键技术是产生一组伪随机数作为访问 RAM的地址 众所周知 最大长度现行移位寄存器序列 序列 属于伪随机序m 列 它的硬件实现比较简单 因此 我们很自然就想到产生 序列实现伪随机交织m 器的地址控制 这样做将在很大程度上简化硬件电路设计 使得随机交织器对 硬件资源的需求降低 通常 人们对 序列的使用是串行的 即让 序列发生器逐比特地输出 如mm 果使序列从状态移位寄存器并行输出 并行数据宽度与RAM地址宽度一致 由m 序列的性质可知 在一个周期内 序列发生器中移位寄存器的各种状态 除全mm 0状态外 其它状态只在 序列中出现一次 这样 就保证了并行输出数据的唯m 一性 使得RAM中的每一信息比特有且仅有一次输出 设序列的周期为 N 2n 1 n为移位寄存器的级数 则伪随机交织器的硬件实m 现如图4 4所示 河北经贸大学毕业论文 20 图4 4 PN交织器硬件结构图 图中 CLK为信息比特输入 输出时钟 模 N记数器用于输入比特位置计数器 产生RAM的写地址 Write Address和Read Address分别读写地址 其工作过程如 下 1 计数器初始化为零 2 R W Control信号使WR信号有效 MUX选择输入信息比特和写地址 通过 将输入比特写入 RAM中 3 R W Control信号使RD信号有效 交织后的输出比特位置从序列发生m 器输出 通过 MUX将RAM中相应的信息比特读出 4 模N计数器加1 5 重复步骤 2 4 N次 6 Overflow信号有效 重新初始化 m Series Generator Counter清零 综上所述 伪随机交织器由于其对输出地址选择的随机性 实现了对 输出码流的随机 扰乱 但需要指出的是 由于序列的周期性 使得伪m 随机交织器的交织深度必须为序列的周期 这从一方面限制了其应用范m 围 对于具体交织器的实际 当交织深度小于或等于 255 时 选择伪随机 交织器是比较适合的 而当交织深度大于 255 时 则需要采用比信道时钟 高很多倍的系统时钟和地址比较器来解决这个问题 河北经贸大学毕业论文 21 3 4 低密度奇偶校验 LDPC 码的研究意义 LDPC 码和Turbo 码都已经被证实 是可以实际应用的 性能接近香农限的纠 错编码 但相对于 Turbo 码 LDPC 码有着明显的优势 1 可以达到很高的码率 LDPC 码可以达到 0 7 0 8 甚至 0 9 的码率 而目前使用的 Turbo码的码率大都是 1 3 1 2 2 译码速率快 LDPC 码基于可信度传播的译码算法本质上是并行算法 有利于 硬件的并行实现 可以达到很高的译码速度 例如 Flarion 技术公司已开发了 LDPC 编 译码器产品 称为 Vector LDPC 采用 FPGA 实现 时钟频率 100MHz 码长 L 10000 码率 R 0 9 编码器利用 64k 逻辑门和 13kB 存储器时 编码速率可达 1 9Gbps 译码器使用 320k 逻辑门和 38kB 存储器时 译码速率为 384Mbps 采用 ASIC 实现 时钟频率 325MHz 码长 L 50000 码率 R 0 9 译 码器使用 2 6M 逻辑门和 190kB 存储器时 可工作在 10Gbps 3 不可检测错误少 由于 LDPC 码码字之间的码距较大 使得它译码过程中出现 不可检测错误的概率很小 4 发生 平板效应 error floor 的概率低 随着信噪比的增加 Turbo 码误码率的下 降趋势将趋于平缓 即出现所谓的 平板效应 但是 LDPC 码发生这种现象的 概率低得多 这使得 LDPC 码在深空通信或光纤通信中更具优势 5 理论分析简单 不同于 Turbo 码 LDPC 码有简单的数学模型 理论分析相对简 单 目前 对 LDPC 码的译码性能分析已经有了一些较为完善的理论 但Turbo 码的性能还缺乏有效的理论解释 6 LDPC 码可以采用基于硬判决的迭代算法 虽然性能比软判决差 但实现复 杂度很低 Turbo码译码在迭代时必须传递软信息 因此无法使用硬判决算法 7 由于校验式的存在 使得 LDPC 码的译码过程中能够确定码字是否正确 这样 不仅可以省掉 CRC 编码 而且可以采用动态终止算法来减少迭代次数 当然 没有一种技术是十全十美的 与上面的优点相对应 LDPC 码也存在一定 的问题 这些问题制约了 LDPC 码的广泛应用 1 编码复杂度高 虽然最新的研究表明LDPC 码可以在线性时间内编码 但其复 杂度相对于 Turbo 码来说仍然过大 更加无法和卷积码等即时编码的纠错码 相比 河北经贸大学毕业论文 22 2 中短码长的 LDPC 码性能不理想 LDPC 码性能的优越性通常在码长较长时才能 体现 当采用中 短长度的LDPC 码时 由于编码时短长度闭合环路的存在 会 在某种程度上降低译码性能 3 低码率情况下性能不理想 由于低码率的纠错码抗衰落的性能较好 因此大 多数移动通信系统采用码率较低的纠错码 但是低码率LDPC 码的性能与 Turbo 码相比处于下风 4 当 LDPC 码译码器采用全并行结构时 虽然译码速率很高 但硬件资源消耗 太大 实际应用中更可能采用的方案是部分并行结构 目前 适用于部分并 行结构的 LDPC 码的构造方法还不完善 综上所述 尽管 LDPC 码有着卓越的性能 但仍有很多问题有待解决 研究LDPC 码仍然具有十分重要的实用价值 3 5 LDPC码的编码简介 低密度奇偶校验码本质上是一种线形分组码 它通过一个生成矩阵G 将信息序列 映射成发送序列 也就是码字序列 对于生成矩阵G 完全等效的存在一个奇偶校 验矩阵 H 所有的码字序列 V构成了 H 的零空间 即 0 T HV LDPC 码的奇偶校验矩阵 H 是一个稀疏矩阵 相对于行与列的长度 N M 校 验矩阵每行 列中非零元素的数目 习惯称作行重 列重 非常小 这也是LDPC 码 之所以称为低密度码的原因 由于校验矩阵H的稀疏性以及构造时所使用的不同规 则 使得不同 LDPC 码的编码二分图 Tanner图 具有不同的闭合环路分布 而二 分图中闭合环路是影响 LDPC 码性能的重要因素 它使得LDPC 码在类似可信度传播 Belief Propagation 算法的一类迭代译码算法下 表现出完 全不同的译码性能 当 H 的行重 和列重 保持不变或尽可能的保持均匀时 我 们称这样的 LDPC 码为正则 LDPC 码 反之如果列 行重变化差异较大时 称为 非正则的 LDPC 码 河北经贸大学毕业论文 23 4 信道编码的FPGA实现 4 1 系统概述 4 1 1 总体设计 在实际的扩频通信设计中 为了以后的升级方便以及考虑芯片的通用型 我 们将基带部分和射频部分分开设计 射频部分我们使用MAXIN公司的2511芯片 基带部分我们使用 FPGA的电路设计 面向用户的 PC界面可以不考虑通信的媒介 方便的进行数据的传输 图6 1为系统的总体框图 用户 界面 PC 基带 部分 FPGA 射频 部分 2511 图6 1 扩频通信系统的设计总框图 4 1 2 基带部分的FPGA设计流程 在系统基带的 FPGA设计中 先后经历了设计输入 使用Verilog HDL 功 能仿真 综合优化 实现 时序仿真和下载配置等阶段 本次设计的主要流程见图6 2 设计采用Mentor公司的Modelsim作为仿真验证工具 Synplicity公司的Synplify 作为逻辑综合工具和 Xilinx公司基于FPGA CPLD 库的布局布线工具 ISE5 0来完成 整个设计的 4 1 3 芯片介绍 随着半导体技术的飞速发展 Xilinx公司的FPGA系统产品也经历着巨大的变 河北经贸大学毕业论文 24 化 目前 Spartan II Spartan II E和Virtex II是Xilinx公司的主流FPGA Virtex II系 列FPGA由于其容量大 速度快等一系列优点 在科研开发中得到了广泛的应用 而Virtex II Pro代表了FPGA的未来发展方向 本设计采用是 Virtex II XC2V1000型号 Virtex II系列产品采用 0 15和0 12m 混合工艺设计 内核电压为 1 5V 支持多种接口标准 内部时钟频率可达到m 420MHz 我们采用40MHz 而Virtex II XC2V1000型号产品具有 100万门 1280 个CLB 11520个LC 40个乘法器 720Kbit BlockRAM容量 8个DCM 432个I O 端口 图6 3为Virtex II的基本结构框图 由图可知Virtex II主要由以下几个部分 组成 输入输出块 IOB Input Output Block 可配置逻辑块 CLB Configurable Logic Block 片内RAM 乘法器 DCM Digital Clock Manager 以及可编程互连线 PI Programmable Interconnect 组成 大量的 CLB在器件中排列为阵列状 CLB之间 为互连线 分布在器件周围的是 IOB Verilog HDL BIT 图6 2 基于ISE的FPGA设计流程 河北经贸大学毕业论文 25 图6 3 FPGA的基本结构 4 2 基于FPGA的扩频信号处理芯片的总体设计 在这里主要介绍基带部分的 FPGA实现的设计 图 6 4为基带部分的设计框图 设计过程中 主要考虑项目的实际要求 即主要完成基带信号的直接序列扩频 处理功能 主要参考了 STEL 2000A芯片中的技术和方法 发射机部分主要包括 了卷积编码 块交织 PN扩频以及QPSK调制等 河北经贸大学毕业论文 26 图6 4 基带部分的设计框图 4 2 1 设计指标 设计力求满足以下指标 1 载频 433MHz 2 发射功率 0 01 100mW 20dbm 20dbm 3 调制方式 BPSK QPSK 4 纠错 交织 卷积编码 维特比 5 接口 GIO通用接口 6 通信距离 1 50m 1Km 15Km 7 通信速率 100K 300KBPS 8 扩频码速率 4M bps 9 通信协议 结合 WLAN和蓝牙技术 10 误码率 小于 10 6 11 集成方案 RF 基带 12 电源 DC 3 河北经贸大学毕业论文 27 4 2 2 发射子系统 在发射子系统中 为了降低无线信道衰落所造成的误码 我们在首先对数 据源进行卷积编码和交织 同时为了避免绝对QPSK调制方式带来的相位模糊度问 题 交织后的数据再进行差分编码以形成相对移相QPSK调制方式 然后经过串并 变换的信息进行扩频调制完成扩频处理 最后完成QPSK正交调制 图 6 5为发射子 系统的框图 有框图可以看出 在系统实现的过程中 我们可以分为以下几个 功能模块 1 卷积编码与交织模块 本系统采用 2 1 2 卷积编码器 在交织中 采 用行列交织 2 差分编码器 发送的符号在被 Gold码扩频前要进行差分编码以避免相位 模糊问题 3 Gold码扩频模块 Gold码与I Q通道的数据分别进行模二加 对每个要 发送的符号都要用扩频器的全码序列进行运算 Gold事先存储在一个移位寄存器中 扩频后的I Q通道的数据分别送到调制器进行 QPSK调制 4 QPSK调制器 这个模块利用 NCO输出的正弦和余弦信号来调制经过编 码和扩频的数字信号 产生一个数字化的已调制的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省东莞市2022-2023学年九年级上学期期中化学试题(含答案)
- 2025医院消毒中心技能知识题库
- 电石炉知识培训课件
- 高级职称评定课件模板
- 电焊课件教学课件
- 电焊机维护保养课件
- 电焊技法知识培训课件
- 3-Oxo-deoxycholoyl-CoA-生命科学试剂-MCE
- 软件开发及技术服务协议
- 保洁员考试试题及答案选择题
- 室外雨污水、消防管网施工方案
- 传染病学总论-人卫最新版课件
- (中职)计算机组装与维修电子课件(完整版)
- (高职)旅游景区服务与管理电子课件完整版PPT全书电子教案
- 人音版六年级上册音乐全册教案含教材分析
- 部编版七年级语文上册教案(全册)
- 高处作业吊篮安装验收表(范本模板)
- 《汉服》PPT课件(完整版)
- 某国有企业精细管理降本增效经验交流汇报材料企业降本增效.doc
- 主要负责人任职证明
- 潜水非完整井单孔抽水试验经验公式
评论
0/150
提交评论