




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 第一章第一章 绪论绪论 1 1 1 研究背景 1 1 2 研究思路和方案分析 1 1 3 论文的主要工作 3 第第 2 2 章章 可编程片上系统开发技术可编程片上系统开发技术 4 2 1 可编程逻辑器件简介 4 2 2 可编程片上系统开发软件 4 2 3 硬件描述语言 VHDL 简介 6 第三章第三章 系统的组成及工作原理系统的组成及工作原理 7 3 1 M 序列产生器 7 3 2 QPSK 调制解调 8 3 2 1 多进制相移键控基本原理 8 3 2 2 QPSK 调制 9 3 2 3 QPSK 解调 13 3 2 4 调制解调系统 14 3 3 卷积码编码译码 15 3 3 1 纠错编码基础 15 3 3 2 卷积码编码 15 3 3 3 卷积码的解码 17 3 3 4 卷积码编码译码系统 22 3 4 小型移动通信系统 23 第四章第四章 硬件部分硬件部分 24 第五章第五章 总结总结 27 参考文献参考文献 28 致致 谢谢 29 附录附录 1 1 30 附录附录 2 2 39 论文 1 第一章第一章 绪论绪论 1 11 1 研究背景研究背景 近年来 随着半导体工艺技术和设计方法的迅速发展 系统级芯片 SOC System on Chip 的设计得以高速发展 但是 由于 SOC 产品设计具有开发周期相对 较长 高成本和高风险等特点 对市场的变化非常敏感 这使得 SOC 在消费电子 汽车电子 工业设计领域的发展进程仍然缓慢 与此同时 当今的制造工艺能够提 供更多更高速的逻辑 更快的 I O 和更低价位的新一代可编程逻辑器件 现场可编 程门阵列 CPLD Complex Programmable Logic Device 己然进入嵌入式应用领域 高性能 CPLD 也不再局限于引进系统粘合逻辑 也可作为 SOC 平台 由于 CPLD 的 现场可编程特征 它己成为更具灵活性和广泛性发展前景的工业设计平台 与传统电路设计方法相比 CPLD 具有功能强大 开发过程投资小 周期短 便于修改及开发工具智能化等特点 使用 CPLD 器件设计数字电路 不仅可以简化 设计过程 而且可以降低整个系统的体积和成本 增加系统的可靠性 CPLD 可轻 易地被修改变更 修复缺陷 或在用户需要升级和配合市场发展时去创制未来的衍 生产品 它们无需花费传统意义下制造集成电路所需大量时间和精力 避免了投资 风险 成为电子器件行业中发展最快的一族 1 21 2 研究思路和方案分析研究思路和方案分析 设计调制解调器 可以考虑用通用 DSP 芯片的方案 这种方案的通用 DSP 具备 灵活的可编程性和高效的性能 有的甚至还集成了通用微控制器 方框图如图 1 1 所示 论文 2 图 1 1 通用 DSP 方案 通用 DSP 都是按程序循序执行 即串行构架 这限制了通用 DSP 不能达到很 高的速度 但是调制和编码单元中往往用到滤波器 乘法器 直接频率合成器等需 要高速时钟的器件 虽然通用 DSP 具有哈佛结构 多重总线 超标量流水线 分支 预测等先进的技术 但是都不可能从本质上改变程序循序执行的缺点 在需要高速 应用的场合通用 DSP 往往不能胜任 而使用专用 DSP 虽然能解决好速度的问题但 是可编程能力有限 下面我们用 CPLD 代替上面方案中的通用 DSP 和变频器 方框图如图 1 2 所示 图 1 2 CPLD 方案 CPLD 内部有丰富的资源能配置成各种形式的电路 用 CPLD 代替通用 DSP 后 不仅灵活性没有降低 性能却有极大的提高 CPLD 内部能被编成将所有的功能以 并行方式执行大大加快了速度 对于要求更高性能使还能使用流水线设计进一步提 高数据吞吐量 CPLD 可以设计多个并行模块的系统 速度高 同时具有高度灵活 Pc 机 通用微 控制器 通用 DSP 数字变 频器 D A 接口层配置层处理层 Pc 机 通用微 控制器 CPLDD A 接口层配置层处理层 论文 3 甚至能改变系统构架 前一种通用 DSP 方案主要是指目前己广泛使用的 DSP 处理器的解决方案 包括 一系列软硬件技术与开发技术 采用 DSP 处理器 如 TI 的 TMS32OC 系列 的解决 方案日益面临着不断增加的巨大挑战 而自身的技术瓶颈 如运行速度 吞吐量 总 线结构的可变性 系统结构的可重配置性 硬件可升级性等等 致使这种解决方案在 DSP 的许多新的应用领域中的道路越走越窄 后一种 CPLD 方案则是基于 SOPC 可 编程片上系统 技术 EDA 技术与 CPLD 实现方式的 DSP 技术 是现代电子技术发 展的产物 它有效地克服了传统 DSP 技术中的诸多技术瓶颈 在许多方面显示了突 出的优势 如高速与实时性 高可靠性 自主知识产权化 系统的重配置与硬件可 重构性 单片系统的可实现性 以及开发技术的标准化和高效率 因此我们采用后面一种方案完成系统设计 进行数字调制解调和编码译码技术 的研究 使用 VHDL 硬件描述语言可以快速高效地设计出具有复杂结构和算法的系 统 同时优化算法和结构达到节省硬件资源和高效率开发的特点 1 31 3 论文的主要工作论文的主要工作 本文的调制解调和编码译码方法的是基于 CPLD 的开发技术 利用 CPLD 完成 调制解调和编码译码的过程 开发手段是 Quartus II 工具软件的应用 论文安排如下 第 1 章 概括了调制解调器的研究背景 明确了本文的研究思路和所用方案 对本文的主要工作和文章安排进行了介绍 第 2 章 介绍了可编程逻辑器 CPLD 可编程片上系统开发软件 Quartus II 及硬 件描述语言 VHDL 第 3 章 介绍了系统的理论基础及一般原理 整个系统采用模块化设计 详细 介绍 M 序列 调制 解调 编码 译码五个模块的设计 第 4 章 硬件部分 画出了整个系统的硬件原理图 显示并分析了测试到的波 形 第 5 章 总结全文内容 提出了本课题有待于进一步深入研究的问题 论文 4 第第 2 2 章章 可编程片上系统开发技术可编程片上系统开发技术 2 12 1 可编程逻辑器件简介可编程逻辑器件简介 可编程逻辑器 PLD Progr ableLogicDeviees 从 20 世纪 70 年代发展到现在 己 形成了许多类型的产品 其结构 工艺 集成度 速度和性能都在不断的改进和提 高 PLD 又可分为简单低密度 PLD 和复杂高密度 PLD 可编程阵列逻辑器件 PAL ProgranunableArrayLogic 和通用阵列逻辑器件 GAL GenerioArrayLogic 都属于简单 PLD 结构简单 设计灵活 对开发软件的要 求低 但规模小 难以实现复杂的逻辑功能 随着技术的发展 简单 PLD 在集成度 和性能方面的局限性也暴露出来 其寄存器 I O 引脚 时钟资源的数目有限 没有 内部互连 因此包括复杂可编程逻辑器件 CPLD ComPlexPLD 和现场可编程门阵列 器件 FPLD Field Programmable Gate Array 在内的复杂 PLD 迅速发展起来 并向着 高密度 高速度 低功耗以及结构体系更灵活 适用范围更广阔的方向发展 CPLD 具备阵列型 PLD 的特点 结构又类似掩膜可编程门阵列 因而具有更高的集成度 和更强大的逻辑实现功能 使设计变得更加灵活和易实现 相对于 CPLD 它还可 以将配置数据存储在片外的 EPROM 或者计算机上 设计人员可以控制加载过程 在现场修改器件的逻辑功能 即所谓的现场可编程 所以 CPLD 得到了更普遍的应 用 使用 CPLD 器件设计数字电路 不仅可以简化设计过程 而且可以降低整个系 统的体积和成本 增加系统的可靠性 它们无需花费传统意义下制造集成电路所需 大量时间和精力 避免了投资风险 成为电子器件行业中发展最快的一族 2 22 2 可编程片上系统开发软件可编程片上系统开发软件 Altera 的 Quartus II 开发平台 它囊括了从设计输入 综合 布局布线 仿真 时序分析 下载验证等所有设计流程 是一个完整的开发平台 能满足多种设计的 需要 是 SOPC 设计的综合环境和 SOPC 开发的基本设计工具 并为 Altera DSP 开 发包进行系统模型设计提供了集成综合环境 Quartus II 设计工具完全支持 VHDL Verilog 的设计流程 其内部嵌有 VHDL Verilog 逻辑综合器 Quartus II 可以进行基于 CPLD 的 DSP 系统开发 是 DSP 硬件系统实现的关键 EDA 工具 Quartusll 包括模块化的编译器 编译器包括的功能模块有分析综合器 适配器 装配器 时序分析器 设计辅助模块 EDA 网表文件生成器 编辑数据接口等 以 论文 5 通过选择 start ComPilation 来运行所有的编译器模块 或通过选择 ComPilerTool 在 ComPilerTool 窗口中运行该模块来启动编译器模块 此外 Quartus II 还包含许多十分有用的 LPM Library of parameterized Modules 模块 他们是复杂或高级系统构建的重要组成部分 在 SOPC 设计中被大量应用 也可与 Quartus II 普通文件一起使用 Altera 提供的可参数化宏功能模块和 LPM 函 数均基于 Altera 器件的结构作了优化设计 在许多使用情况中 必须使用宏功能模 块才可以使用某些特定器件硬件功能 如 DSP 模块 片上存储器 PLL 等 这可以 通过 Quartus II 中的 Mega wizard Plug in Manager 来建立 Altera 宏功能模块 LPM 函数和 IP 函数 用于 Quartus II 综合工具中的设计 一般设计流程如图 2 1 所示 图 2 1 Quartus II 一般设计流程 设计准备 功能仿真 时序仿真 器件测试器件编程 设计输入 原理图 硬件描述语言 波形图 设计处理 优化 综合 布局 布线 论文 6 2 32 3 硬件描述语言硬件描述语言 VHDLVHDL 简介简介 硬件描述语言 VHDL Very High Speed Integrated Cireuit Hardware Description Language 是一种用于设计硬件电子系统的计算机语言 它用软件编程的方式来描述 电子系统的逻辑功能 电路结构和连接形式 与传统的门级描述方式相比 它更适 合于大规模集成电路系统的设计 VHDL 是一种全方位的硬件描述语言 包括系统行为级 寄存器传输级和逻辑 门级多个设计层次 支持结构 数据流 行为三种描述形式的混合描述 因此 VHDL 几乎覆盖了以往各种硬件描述语言的功能 VHDL 主要用于描述数字系统的结构 行为 功能和接口 非常适用于可编程 逻辑芯片的应用设计 与其它的 HDL 相比 VHDL 具有更强大的行为描述能力 从 而决定了它称为系统设计领域最佳的硬件描述语言 强大的行为描述能力是避开具 体的器件结构 从逻辑行为上描述和设计大规模电子系统的重要保证利用 VHDL 语 言设计数字系统硬件电路 一般采用的是自顶向下 TOP DOWN 的设计方法 自 顶向下是指从系统总体要求出发 在顶层进行功能方框图的划分和结构设计 在方 框图一级进行仿真 纠错 并用硬件描述语言对高层次的系统行为进行描述 在系 统一级进行验证 然后利用综合优化工具生成具体门电路的网表 其对应的物理实 现级可以是 CPLD 电路或专用集成电路 由于设计的主要仿真和调试过程是在高层 次上完成的 这一方面有利于早期发现结构设计上的失误 避免设计工作的浪费 同时减少了逻辑功能仿真的工作量 提高了设计的一次成功率 论文 7 第三章第三章 系统的组成及工作原理系统的组成及工作原理 本课题是在 QuartusII 环境下 进行移动通信中常用调制解调方法 信道编译码 方法研究 系统总原理框图如图 3 1 所示 M 序列产 生器 信道编码QPSK 调 制 M 序列信道译码QPSK 解 调 无线信道 图 3 1 系统总原理框图 3 1 M 序列产生器 M 序列是最长线性反馈移位寄存器序列的简称 它是由带线性的移存器产生的 周期最长的序列 文中的 m 序列是由一个 4 级线性反馈移存器产生的 设其初始状态为 b3 b2 b1 b0 1 0 1 0 则移位一次时 由 b1 和 b0 模 2 相加产生新 的输入 b4 1 0 1 新的状态变为 b3 b2 b1 b0 1 1 0 0 这样移位 15 次后又回到初始状态 1 0 1 0 因为 4 级移存器共有 24 16 种可能的状态 除全 0 状态外 只剩 15 种状态可用 这就是说 由任何 4 级反馈移存器产生的 序列的周期最长为 15 论文 8 图 3 2 M 序列产生原理图 生成的顶层文件如图 3 3 所示 图 3 3 产生 M 序列程序的顶层文件 基于 quartus II 的仿真 M 序列时序仿真结果如图 3 4 所示 图 3 4 M序列时序仿真结果 由图 3 4 可以看出产生的 M 序列为 111100010011010 与理论相符 其码元 速率为 1kb s 3 23 2 QPSKQPSK 调制解调调制解调 3 2 13 2 1 多进制相移键控基本原理多进制相移键控基本原理 在 2PSK 信号的表示中一个码元的载波初始相位可以等于 0 或 将其推广到 多进制 可以取多个可能值 所以 一个 MPSK 信号码元可以表示为 式 3 1 0 cos kkS tAw t 1 2 3 kM b3b2b1b0 输出 论文 9 式中 A 为常数 为一组间隔均用的受调制相位 其值决定与基带码元的取k 值 所以它可以写为 式 3 2 2 1 kk M 1 2 3 kM 通常 M 取 2 的某次冪 K 正整数2kM 对多进制 PSK 信号 不能简单的采用一个相干载波进行解调 例如 若 cos 作为相干载波时 因为 使解调存在模糊 只有在 2PSK02f t coscos 2 kk 中才可以使用一个相干载波进行解调 这是需要两个正交的相干载波进行解调 MSPSK 信号的码元表示展开写成 式 3 3 000 cos cossinkkkkS tw taw tbw t 式中 coskka sinkkb 上式表明 MPSK 信号码元 sk t 可以看作是由正弦和余弦两个正交分量合成的 信号 他们的振幅分别是 ak和 bk 并且 ak2 bk2 1 这就是说 MPSK 信号码元可 以看作是两个特定的 MASK 信号码元之和 因此 其带宽和 MASK 信号的带宽相 同 4PSK 常称为正交相移键控 Quadrature Phase Shift Keying QPSK 它的每个 码元含有 2b 的信息 现用 ab 代表这两个比特 发送码元序列在编码时需要先将每 两个比特分成一组 然后用 4 种相位之一 k去表示它 两个比特有 4 种组合 即 00 01 10 和 11 在码元的表示式 3 1 中 k称为初始相位 常简称为相位 而把 0t k 称 为信号的瞬时相位 当码元中包含整数个载波周期时 初始相位相同的相邻码元的 波形和瞬时相位才是连续的 若每个码元中的载波周期数不是整数 则即使初始相 位相同 波形和瞬时相位也可能不连续 或者波形连续而相位不连续 在码元边界 当相位不连续时 信号的频谱将展宽 包络也将出现起伏 3 2 2 QPSK 调制调制 QPSK 即四相相移键控 就是四相相移调制 将 360 度分成 4 份 各个相位角 相差 90 度 所以又称正交相移调制 常用的初始相位角可以是 0 或者 45 度 一般 论文 10 QPSK 可以看成正交的两路传播 一路 I 支路 一路为 Q 支路 正交相移调制 QPSK 特点 调制效率高 传输的频带利用率高 要求传送途径的信噪比低 QPSK 信号的产生方法可以有两种方法 第一种是用相乘电路 如图 3 5 所示 图 3 5 QPSK 信号产生方法 图中输入基带信号 A t 是二进制不归零码元 它被 串 并转换 电路变成两 路码元 a 和 b 后 其每个码元的持续时间是输入码元的两倍 这两路并行码元序列 分别用以和两路正交载波相乘 第二种方法是选择法 其原理方框图如图 3 6 所示 这是输入基带信号经过串 并转换后用以控制一个相位选择电路 按照当时输入的双比特 ab 决定选择哪个相 位的载波输出 串 并 变换 相乘 电路 相干载 波产生 2 相移 相乘 电路 相加 电路 A t Cosw0t Sinw0t S t 论文 11 串 并转换相位选择带通滤波 4 相载波产生器 图 3 6 QPSK 信号键控产生法 本文设计采用的是第二种设计方案 即键控法 这种方法实现简单 基于 CPLD 的 Qpsk 的调制原理框图如图 3 7 所示 Clk Start 基带信号 分 频 0 0 0 90 0 180 0 270 串并转换四选一开关调制信号 图 3 7 QPSK 调制原理图 论文 12 首先是对输入的串行码进行串并转换 转换后的码元速率应是串入是的一半 从而达到同步输入输出 将外部时钟进行分频的同时产生四种相位 最后通过一个 四选一数据选择器对并行码选择相应相位的载波进行调制 基于 VHDL 的 QPSK 调制器设计如图 3 8 所示 图 3 8 基于 VHDL 的 QPSK 调制器设计 调制程序生成的顶层文件如图 3 9 所示 图 3 9 QPSK 调制程序的顶层文件 开始 对clk分频 得 到4种相位 输入基带信号 串并转换存yy 寄存器中 f1f2f3f4 根据yy中数据 四选一 输出 返回 论文 13 3 2 33 2 3 QPSKQPSK 解调解调 由于是方波调制 所以解调时用调制时相匹配的时钟信号找出调制波高电平或 低电平对应的位置 即可确定其不同的相位 从而解调出对应的码元 解调原理图 如图 3 10 所示 Clk计数器 Start 基带信号并 串转换调制信号译码一加法器译码二 图 3 10 QPSK 解调原理图 首先是做一个加法器 加法器的四个值对应四种相位 其他情况以对应零相位 处理 然后通过一数据分配器将对应的并行码输出 最后经过并串转换输出解调后 的基带信号 由于在每个周期内输出两个码元 所以输出的基带信号为归零码 解调程序生成的顶层文件如图 3 11 所示 图 3 11 QPSK 解调程序的顶层文件 论文 14 3 2 43 2 4 调制解调系统调制解调系统 将 M 序列 QPSK 调制 QPSK 解调模块连成一个调制解调系统 该系统完成 了 M 序列的产生 然后对 M 序列进行了调制和解调 其结构如图 3 12 所示 图 3 12 调制解调系统结构图 基于 quartus II 的仿真 调制解调系统的时序仿真结果如图 3 13 所示 图 3 13 调制解调系统的时序仿真结果 图中 y0 是 M 序列的波形 y1 是对 M 序列调制的输出波形 y2 是解调的输出波 形 其中 y0 和 y2 的波形是一样的 只是有少许的时延 因此 该系统完成了对 M 序列的调制和解调 论文 15 3 33 3 卷积码编码译码卷积码编码译码 3 3 13 3 1 纠错编码基础纠错编码基础 信道编码的编码对象是信源编码器输出的数字序列 信息序列 信道编码按照 一定的规则给数字序列 M 增加一些冗余的码元 使不具有规律性的信息序列 M 变 换为具有某种规律性的数字序列 Y 码序列 也就是说 码序列中信息序列的诸码 元与冗余码元之间是相关的 在接收端 信道译码器利用这种预知的编码规则来译 码 或者说检测接收到的数字序列 R 是否符合既定的规则 从而发现 R 中是否有误 码 进而纠正其中的差错 根据相关性来检测和纠正传输过程中产生的差错就是信 道编码的基本思想 通常数字序列 M 总是以 k 个码元为一组来进行传输的 我们称这 k 个码元的码 组为信息码组 信道编码器按照一定的规则对每个信息码组附加一些冗余的码元 构成了 n 个码元的码组 这 n 个码元之间是相关的 即 附加的 n 一 k 个码元称为 该码组的监督码元 从信息传输的角度来说 监督码元不载有任何信息 所以是冗 余的 这种冗余度使码字具有一定的检错和纠错能力 提高了传输的可靠性 降低 了误码率 另一方面 如果我们要求信息传输的速率不变 在附加了监督码元之后 就必须减少码组中每个码元符号的持续时间 对二进制码就是减少脉冲宽度 若编 码前每个码元脉冲的归一化宽度为 l 则编码后的归一化宽度为招 h 因此信道带宽 必须展宽可 k 倍 在这种情况下 我们是以带宽的兀余度换取了信道传输的可靠性 如果信息传输速率允许降低 则编码后每个码元的持续时间可以不变 此时我们以 信息传输速度的冗余度或称时间的冗余度换取了传输的可靠性 3 3 23 3 2 卷积码编码卷积码编码 卷积码 convolutional code 是由伊利亚斯发明的一种非分组码 通常它更适 用于前向纠错 因为对于许多时间情况它的性能优于分组码 而且运算较简单 在分组码中 编码器产生的 n 个码元的一个码组 完全决定于这段时间中 k 比 特输入信息 这个码组中监督位仅监督本码组中 k 个信息位 卷积码则不同 卷积 码在编码时虽然也是把 k 比特的信息段编成 n 个比特的码组 但是监督码元不仅和 当前的 k 鼻涕信息段有关 而且还同前面 m N 1 个信息段有关 所以一个码组中 的监督码元监督者 N 个信息段 通常将 N 称为编码约束度 并将 nN 称为编码约束 长度 一般说来 对于卷积码 k 和 n 的值是比较小的整数 通常将卷积码记作 论文 16 n k N 图 3 14 示出卷积码编码的一般原理方框图 编码器由三种主要元件构成 包括 Nk 级移存器 n 个模 2 加法器和一个旋转开关 每个模 2 加法器的输入端数目可以 不同 他连接到一些移存器的输出端 模 2 加法器的输出端接到旋转开关上 将时 间分成等间隔的时隙 在每个时隙中有 k 比特从左端进入移存器 并且移存器各级 暂存的信息向右移 k 位 旋转开关每时隙旋转一周 输出 n 比特 n k 图 3 14 卷积码编码一般原理方框图 卷积编码可以用来纠正随机差错经卷积编码后的码元不仅与当前的码元信息有 关 还与前面的码元信息有关 1 k1 k1 k 1 k 1 k 2k 3k Nk Nk级移 存器 n个模2加 法器 12n 每输入k比 特旋转一周 编码输出 论文 17 本文中的编码是一个 2 1 6 的卷积码编码 如图 3 15 所示 图 3 15 2 1 6 卷积码编码原理方框图 当初始输入序列为 b1 b2 b3 b4 时 则监督位为 C1 b1 C2 b2 C3 b3 式 3 4 C4 b1 b4 C5 b1 b2 b5 C6 b1 b2 b3 b5 卷积码编码程序的顶层文件如图 3 16 所示 图 3 16 卷积码编码程序的顶层文件 3 3 33 3 3 卷积码的解码卷积码的解码 卷积码的解码方法可以分为两类 代数解码和概率解码 代数解码是利用编码 本身的代数结构进行解码 不考虑信道的统计特性 大数逻辑解码 又称门限解码 是卷积码代数解码的最主要一种方法 而且设备较简单 概率解码 又称最大似然 解码 则是基于信道的统计特性和卷积码的特点进行计算 首先由沃曾克拉夫特针 对无记忆信道提出的序贯解码就是概率解码方法之一 另一种概率解码方法是维特 输出 bi ci ci bi b6b5b4b3b2b1 输入 论文 18 比 Viterbi 算法 当码的约束长度较短时 它比序贯解码算法的效率更高 速度 更快 目前得到广泛的应用 大数逻辑解码 卷积码的大数逻辑解码是基于卷积码的代数表述运算的 其一般工作原理示于 3 17 中 卷积码是一种线性码 线性码有可能用校正子指明接收码组中的错码位置 从而纠正错码 图 3 6 中即利用此监督位计算校正子 然后 将计算得出的校正子 暂存 并用它来检测错码的位置 在信息位移存器输出端 接有一个模 2 加电路 当检测到输出的信息位有错时 在输出的信息位上加 1 从而纠正之 图 3 17 大数逻辑解码一般工作原理 这里的错码检测是采用二进制制码的大数逻辑解码算法 它利用一组正交校验 方程进行计算 这里的 正交 是有特殊定义的 其定义式 若被校验的那个信息 位出现在检验方程组的每一个方程中 而其他的信息位至多在一个方程中出现 则 称这组方程为正交校验方程 这样就可以根据被错码影响了的方程数目在方程组中 是否占多数来判断该信息位是否错了 修正校正子 信息位移存器 校正子计算 校正子移存器 错码检测 输入 输出 信息位 监督位 论文 19 参照式 3 4 得到监督关系式如下 S1 C1 b1 S2 C2 b2 S3 C3 b3 式 3 5 S4 C4 b1 b4 S5 C5 b1 b2 b5 S6 C6 b1 b2 b3 b5 式 3 5 中的 Si i 1 6 称为校正子 经过简单线性变换后 可以得出如下正交 校验方程组 S1 C1 b1 S4 C4 b1 b4 S5 C5 b1 b2 b5 式 3 6 S2 S6 C6 b1 b2 b3 b5 在 式 3 6 中 只有信息位 b1 出现在每个方程中 监督位和其他信息位均最 多只出现一次 因此 在接收端解码时 考察 b1 c1 至 b6 c6 等 12 个码元 仅当 b1 出错时 式 4 3 中才可能有 3 个或 3 个以上方程等于 1 从而能够纠正 b1 的错 误 按照这一原理画出的此 2 1 6 卷积码解码原理方框图示于图 4 12 中 由 此图可见 当信息位出现一个错码是 仅当它位于信息位移存器的第 6 3 2 和 1 级时 才使校正子等于 1 因此 这是的校正子序列为 100111 反之 当监督位 出现一个错码是 校正子序列将为 100000 由此可见 当校正子序列中出现第一个 1 时 表示已经检出一个错码 后面的几个校正子则指出是信息位错了 还是监 督位错了 图中门限电路的输入为代表式 4 3 的 4 个方程的 4 个电压 门限电路将 这 4 个电影 非模 2 相加 当相加结果大于或等于 3 时 门限电路输出 1 它 除了送到输出端的模 2 加法器上纠正输出码元 b1 的错码外 还送到校正子移存器纠 正其中错误 论文 20 文中卷积码解码原理方框图如图 3 18 所示 图 3 18 2 1 6 卷积码解码原理方框图 信息位移存器 Y 输入 计算校正子Si 重算监督位Ci 接收监督位 校正子Si 校正子移存器 b6b5b4b3b2b1 S6S5S4S3S2S1 门限电路 1 的个数大于等于3 输出 论文 21 基于 VHDL 卷积码解码器的设计如图 3 19 所示 图 3 19 基于 VHDL 卷积码解码器的设计 卷积码译码编程的顶层文件如图 3 20 所示 图 3 20 卷积码译码编程的顶层文件 是 否 开始 输入送信息位 移存器ci 计算校正子si 重算监督位ci 校正子si送校正 子移存器 si s2 s5 s4 中 1 的个数 3 纠正输出码元 和校正子 直接输出 论文 22 3 3 43 3 4 卷积码编码译码系统卷积码编码译码系统 将 M 序列 卷积码编码 大数逻辑译码模块连成一个编码译码系统 该系统完 成了 M 序列的产生 然后对 M 序列进行了编码和译码 其结构如图 3 21 所示 图 3 21 卷积码编码译码系统结构图 基于 quartus II 的仿真 编码译码系统的时序仿真结果如图 3 22 所示 图 3 22 卷积码编码译码系统的时序仿真结果 图中 pn 15 是 M 序列的波形 bm out 是对 M 序列编码的输出波形 ym out 是 论文 23 译码的输出波形 其中 pn 15 和 ym out 的波形是一样的 只是有少许的时延 因此 该系统完成了对 M 序列的编码和译码 3 43 4 小型移动通信系统小型移动通信系统 将前面的 M 序列 QPSK 调制 解调 卷积码编码 译码模块 全部链接起来 组成一个小型的通信系统 该系统先产生 M 序列 然后对 M 序列卷积码编码 QPSK 调制 解调 大数逻辑译码 其结构如图 3 23 所示 图 3 23 移动通信系统结构图 基于 Quartus II 的仿真 移动通信系统的时序仿真结果如图 3 24 所示 图 3 24 移动通信系统的时序仿真结果 论文 24 第四章第四章 硬件部分硬件部分 硬件总原理图如图 4 1 所示 图 4 1 硬件原理总图 系统的硬件部分主要是 CPLD 芯片 EPM7128S 和少许外围电路组成 外围电路产 生了系统时钟信号和 Start 信号作为输入信号 M 序列 调制解调 编码译码都是 在芯片 EPM7128S 中完成的 论文 25 根据原理图 画出 pcb 板图 然后做出硬件板 最后用数字示波器测量各测试 点的波形如下所示 图 4 2 输入的时钟信号与分频后的时钟信号 在图 4 2 中 上面波形是通过晶振产生的 4M 的时钟信号 输入 下面的波形是 经过 4 分频输出的信号 图中下面的波形比上面的波形拓宽了 4 倍 得到了预期的 结果 图 4 3 M 序列的信号与最后的译码输出信号 在图 4 3 中 上面的波形是 M 序列的信号波形 下面的波形是 M 序列信号经过 卷积编码 QPSK 调制 解调 卷积译码后输出的信号波形 图中两个波形是一样 的 只是下面波形有一些拓宽 因此 得到了预期的结果 论文 26 图 4 4 编码输出信号与解调输出信号 在图 4 4 中 上面的波形是 M 序列编码后的输出信号波形 下面的波形是 M 序 列经过编码 调制 解调后输出的信号波形 图中两个波形是一样的 只是有一些 延时 因此 得到了预期的结果 下图是所做的硬件板的实物图 上面白色的方块是一个 4M 的晶振 中间是 CPLD 的芯片 EPM7128SLC84 15 左下角是电源的输入线 红的是正极 黑的是负 极 右边是分频时钟 M 序列 编码 调制 解调 译码的测试端口 图 4 5 硬件实物图 论文 27 第五章第五章 总结总结 本文介绍了可编程逻辑器 CPLD 可编程片上系统开发软件 Quartus II 及硬件描 述语言 VHDL 调制编码是数字通信系统中的一个重要部分 文中叙述了调制解调 编码译码技术的理论基础和实现方案 本文始终采用的是模块化得设计方法 这样大大缩短了系统的开发周期 同时 也方便调制 将每一个模块的程序封装成一个器件 这样有很好的移植性 每一个 模块都可以方便的应用到其他系统中 系统设计虽然满足最初的设计要求 但由于时间有限 本文的研究工作还不够 完善 本设计只是一个孤立的系统 还需要通过实验箱把程序下载到芯片中 然后 自己焊制的硬件板才能完成对 M 序列调制解调 编码译码的全部功能 论文 28 参考文献参考文献 1 毋杰 康丙寅 王昭婧等 基于 CPLD 的片上系统的无线保密通信终端 M 电子科技大学 2009 2 施保华 金晓波 用 CPLD 构成液晶显示控制器 M 电子产品世界 2000 10 3 谭进 陈勇 查光明 无线电台中 DS D MPSK 调制解调器的 CPLD 实现 M 现代电子技 术 4 陈浩 基于 CPLD 的调制解调器的研究和设计 D 华中师范大学 2007 12 5 晏坚 马正新 杨宝国等 一种参数可变的 BPSK QPSK 数字突发调制器的 ASIC 实现 J 无线电工程 2001 5 6 Hong Y Chung and StePhen G Wilson Multimode Modulation and Coding of QAM J IEEE Trans on Commun Vol 41 No 1 pp 1 6 January 1993 7 邹诩 匡镜明 利用 CPLD 技术实现数字通信中的交织器和解交织器 J 电子技术应用 2000 10 8 王诚 吴继华等著 Altera FPGA CPLD 设计 基础篇 M 北京 人民邮电出版社 2005 7 9 uweMcyer Baese 数字信号处理的 CPLD 实现 M 北京 清华大学出版社 2003 10 任晓东 文博 FPGA CPLD 高级应用开发指南 M 北京 电子工业出版社 2003 11 柯炜 殷奎喜 基于 CPLD 的连续相位耐 DQPSK 调制器和解调器 J 南京师范大学学报 2004 3 41 44 12 赵海潮 周荣花 沈业兵 基于 CPLD 的 QPSK 解调器的设计与实现 J 微计算机信息 2004 7 76 77 13 孟庆海 张洲 VHDL 基础及经典实例开发 M 西安大学出版社 2008 4 14 Darron May Advanced High level HDL Programmable logic J USA Synplicity Inc Design Techniques for 2001 39 38 论文 29 致致 谢谢 在论文即将完成之际 首先要感谢我的指导老师黄丽贞老师 在完成毕业设计 撰写论文的过程中 黄丽贞老师都用自己专业的知识对我进行悉心的教导和无私的 帮助 他丰富的专业知识 开阔的视野和敏锐的思维对我在整个毕业设计和撰写论 文过程中 起了非常大的影响 在此 还要感谢和我们班的同学 在设计过程中 通过同学的帮助 解决了许 多自己无法解决的难题 他们并时常给我一些相关的信息对我的设计进行比较大的 帮助 在此 我非常感谢他们 此外还要感谢大学四年来所有的电子信息工程学院的老师们 在他们的教诲下 我掌握电子信息工程专业所需要学习的基础和专业知识 为我以后的工作打下了坚 实的基础 论文 30 附录附录 1 系统部分系统部分 VHDL 源代码如下 源代码如下 QPSK 调制程序 调制程序 library ieee use ieee std logic arith all use ieee std logic 1164 all use ieee std logic unsigned all entity PL PSK is port clk in std logic 系统时钟 start in std logic 开始调制信号 x in std logic 基带信号 y out std logic 调制信号 end PL PSK architecture behav of PL PSK is signal q integer range 0 to 7 计数器 signal xx std logic vector 1 downto 0 中间寄存器 signal yy std logic vector 1 downto 0 2 位并行码寄存器 signal f std logic vector 3 downto 0 载波 f begin process clk 通过对 clk 分频 得到 4 种相位 并完成基带信号的串并转换 begin if clk event and clk 1 then if start 0 then q 0 elsif q 0 then q 1 f 3 1 f 1 0 xx 1 x yy xx elsif q 2 then q 3 f 2 0 f 0 1 elsif q 4 then q 5 f 3 0 f 1 1 xx 0 x elsif q 6 then q 7 f 2 1 f 0 0 elsif q 7 then q 0 else q q 1 end if end if 论文 31 end process if yy 11 then y f 0 elsif yy 10 then y f 1 elsif yy 01 then y f 2 else y f 3 end if y f 0 when yy 11 else 根据 yy 寄存器数据 输出对应的载波 f 1 when yy 10 else f 2 when yy 01 else f 3 end behav QPSK 解调程序 解调程序 说明 解调信号说明如下表所示 将一个信号周期分成 4 份 高电平权值分别为 0 0 0 0 低电平权值分别为 1 1 2 3 载波波形载波相位加法器 xx中间信号 yyy 000 0 2 3 5 00 9000 1 2 0 3 01 18001 1 0 0 2 10 27001 0 0 3 4 11 library ieee use ieee std logic arith all use ieee std logic 1164 all 论文 32 use ieee std logic unsigned all entity MPSK is port clk 0 in std logic 系统时钟 clk 1 in std logic start in std logic 同步信号 x in std logic 已调信号 y out std logic 基带信号 end MPSK architecture behav of MPSK is signal q integer range 0 to 7 计数器 signal xx std logic vector 2 downto 0 加法器 signal yyy std logic vector 1 downto 0 2 位并行基代信号寄存器 signal yy std logic vector 2 downto 0 寄存 xx 数据 begin process clk 1 begin if clk 1 event and clk 1 1 then if start 0 then q 0 elsif q 0 then q 1 yy xx y yyy 0 elsif q 1 then q 2 把加法计数器的数据送入 yy 寄存器 if x 0 then xx 001 调制信号 x 为低电平时 送入加法器的数 据 001 else xx 000 end if elsif q 2 then q 3 elsif q 3 then q 4 if x 0 then xx xx 001 调制信号 x 为低电平时 送入加法器的数 据 001 end if elsif q 4 then q 5 y yyy 1 elsif q 5 then q 6 论文 33 if x 0 then xx xx 010 调制信号 x 为低电平时 送入加法器的数 据 010 end if elsif q 6 then q 7 elsif q 7 then q 0 if x 0 then xx xx 011 调制信号 x 为低电平时 送入加法器的数 据 011 end if end if end if end process process clk 0 yy 此进程根据 yy 寄存器里的数据进行译码 begin if clk 0 event and clk 0 1 then if yy 101 then yyy 00 yy 寄存器 101 对应基带码 00 elsif yy 011 then yyy 01 yy 寄存器 011 对应基带码 01 elsif yy 010 then yyy 10 yy 寄存器 010 对应基带码 10 elsif yy 100 then yyy 11 yy 寄存器 100 对应基带码 11 else yyy 00 end if end if end process end behav 卷积码编码程序 卷积码编码程序 library ieee use ieee std logic 1164 all use ieee std logic arith all use ieee std logic unsigned all entity bm is port start in std logic 使能信号 论文 34 clk in std logic 时钟入口 bm in in std logic 输入数据 bm out out std logic 输出数据 end bm architecture rtl of bm is signal registerb1 std logic 定义 8 个寄存器 signal registerb2 std logic signal registerb3 std logic signal registerb4 std logic signal registerb5 std logic signal registerb6 std logic signal registery std logic signal q integer range 0 to 1 begin process clk start begin if start 0 then 复位信号为 1 时 清零 bm out 0 q 0 registery 0 registerb1 0 registerb2 0 registerb3 0 registerb4 0 registerb5 0 registerb6 0 else if clk event and clk 1 then 移位寄存器移位操作 registerb1 registerb2 registerb2 registerb3 论文 35 registerb3 registerb4 registerb4 registerb5 registerb5 registerb6 registerb6 bm in 根据生成多项式进行模 2 相加运算 registery registerb6 xor registerb3 xor registerb2 xor registerb1 并串转换 if q 0 then bm out registerb6 q 1 else bm out registery q 0 end if end if end if end process end rtl 大数逻辑译码程序 大数逻辑译码程序 library
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 奶粉导购试题及答案
- 国际物流计划方案模板(3篇)
- 物业红线以内规划方案(3篇)
- 公司年会墙体布置方案(3篇)
- 新乡模板站建设方案(3篇)
- 关于学校机电安装方案(3篇)
- 施工坍塌风险预防方案(3篇)
- 水电施工布局方案(3篇)
- 易地搬迁资金方案(3篇)
- 矿渣销售方案(3篇)
- 小儿过敏性紫癜患者的护理课件
- 《新型冠状病毒肺炎诊治要点》课件
- 门诊分诊知识培训课件
- 武汉市2025年高三语文四调10篇高分作文范文:去过与感动过
- 行政执法三项制度培训课件
- 射阳县卫生健康委员会直属事业单位招聘考试真题2024
- 普通铣床基础知识
- 《混凝土路面施工技术》课件
- 2025年策划资金注入框架协议书
- 颅脑常见疾病CT诊断课件
- 派出所石膏吊顶装修合同
评论
0/150
提交评论