当前位置:首页 > 嵌入式 > 嵌入式硬件

  在通信系统中,由于数字信号在传输过程中受到各种干扰的影响,使信号码元波形变坏,故传输到接收端后可能发生错误判决,为解决这一问题,通常在设计数字通信系统时,首先应从合理地选择调制制度、解调方法以及发送功率等方面考虑,若采取以上措施仍难满足要求,就要考虑差错控制措施。在CDMA 2000系统的前向链路和反向链路中就采用了卷积编码来实现前向差错控制(FEC)。

  FPGA是可编程逻辑器件,它的主要优点在于可以借助EDA工具通过软件编程对器件的硬件结构和工作方式进行重构,这就使得硬件设计具有软件设计的灵活性和便捷性。本设计采用VHDL语言并选用可编程逻辑器件在QuartusⅡ下来实现CDMA 2000系统中的前向链路卷积编码器。

  1 卷积编码器原理

  卷积码是由P.Elias在1954年首先提出来的,它是一种非分组码,通常它更适用于前向纠错,因为其性能对于许多实际情况常优于分组码,而且设备简单。自从A.J.Viterbi于1967年发现了一种有效的译码算法,并由J.Omura于1969年证明这是一种ML译码算法后,使用Vit-erbi译码算法的卷积码就成为现代通信系统中必不可少的编码方案。CDMA 2000系统亦采用此种编码方案。

  1.1 卷积编码器原理

  与分组码编码器不同,卷积码编码器是有记忆的,即:编码器在任何一段时间内产生的n个码元,不仅取决于这段时间中的k个信息位,而且还取决于前N-1段规定时间内的信息位;即编码器产生的n个码元跟正在移入的每一个k位的信息比特有关。为了便于说明问题,在这里规定:编码率r=k/n。其中,k表示一次移入编码器的信息位数;n表示对应于移入k位信息编码器输出符号数。此外,用K表示约束长度,它等于编码器中移位寄存器的级数;实际上,第一个移位寄存器是多余的。

  描述卷积编码过程的方法很多,如:多项式法、矩阵法、树状图和网格图等。这里采用与卷积编码器结构密切相关的多项式法来说明卷积码的编码原理。已知一个编码率r=1/2,约束长度K=3的卷积编码器,其卷积码的生成多项式矩阵为:

  式中:D为延迟算子,生成多项式的第一项为1D2,表示编码器输出的第一个码元c1等于输入码元b1与前输入码元b3的模2和;其第二项为DD2,表示输出的第二个码元c2为前两个输入码元b2和b3的模2和。

  根据卷积码的生成多项式矩阵可直接得到编码器的结构图,如图1所示。图中s1,s2为移位寄存器;m1,m2为模2和加法器;其中b1代表当前输入的信息位;移位寄存器状态b2,b3存储以前的信息位;c1,c2代表编码后的输出码元。

  在卷积码的编码过程中,编码器从全零状态出发,最后必须回到全零状态,故当送完信息后,还要向编码器再送入K-1段全零信息,以迫使编码器回到全零状态。设此编码器的起始状态为零,即b1b2b3为000。当输入的信息位为11010时,为保证输入的全部信息位都能通过移位寄存器,并对移位寄存器进行复位,必须在信息位后加约束长度减一个零,即两个零;此时对应的输出码元序列为:10111001011100,丢弃后四位可得编码器的输出信息:1011100101。整个工作过程中编码器的状态如表1所示。

  1.2 CDMA 2000系统中的前向链路卷积编码器

  在CDMA 2000系统中,前向链路使用编码率为1/2,约束长度为9的卷积编码器。前向链路卷积码的生成多项式矩阵为:

  由此生成多项式矩阵可得前向编码器的结构图,如图2所示。图中s1~s8为移位寄存器;m1,m2为模2和加法器;其中b1代表当前输入的信息位;移位寄存器状态b2~b9存储以前的信息位;c代表编码后的输出码元。

  2 CDMA 2000系统中前向链路卷积编码器的实现

  2.1 CDMA 2000前向链路卷积编码器的电路组成

  该设计采用模块化的设计方法,根据CDMA2000系统中的前向链路卷积编码器的功能将其内部结构分为:移位寄存器组、模2和加法器、输出控制器以及时钟电路等四个模块,每一模块对应一部分VHDL的设计文件,这样利于程序的编写和调试,从而降低了整个程序的调试难度,提高了软件的可维护性和可读性。前向链路卷积编码器的组成框图如图3所示。

  其中,时钟信号clk1和clk2可由基站控制器(BSC)的时钟电路直接提供,或由本次设计的时钟电路将基站控制器(BSC)提供的原始时钟信号进行分频得到;输出控制器包括输出数据合成电路和整形电路两部分。

  2.2 CDMA 2000前向链路卷积编码器的仿真实现

  根据卷积编码器电路框图,采用VHDL语言编写前向链路卷积编码器的源程序输入到QuartusⅡ开发软件中进行编译、仿真、综合得到可下载文件,然后通过对器件编程完成设计。

  仿真前假设编码器的初始状态为零,即:b1~b9为00000000;输入的信息为11010,为保证输入的全部信息位都能通过移位寄存器,并对移位寄存器进行复位,在信息位后加8个零,其输出结果为11010111000001111111101100,,仿真时,输入数据data的速率为9.6Kb/s;输出码元c的速率为19.2Kb/s。仿真结果如图4所示,其中b为寄存器组各个时刻的状态。

  在前向链路卷积编码器的设计中有一些需要注意的问题:首先要明确VHDL语言不同于其他的计算机语言,它是一种硬件描述语言,它描述的对象是客观的电路系统。其次,不同的EDA工具对VHDL语言的支持程度不同。本次设计中采用的QuartusⅡ开发工具主要是针对可编程逻辑器件的软件,它并不支持所有的VHDL语句,它只支持RTL级描述,不支持行为级描述。再有,在设计中需要根据设计要求和可编程逻辑器件的资源情况、速度等进行合理的选择。该设计中采用的EP2C8Q208器件就可满足资源和速度方面的要求。

  3 结语

  本文实现了一种适用于CDMA 2000系统的前向链路卷积编码器,通过对整体电路的设计、仿真和调测,结果表明本编码器可达到CDMA 2000系统要求,具有一定的实用价值,同时,本设计采用基于可编程逻辑器件借助VHDL语言及EDA工具进行设计的思路,大大缩短了设计周期,降低了成本,提高了设计的可靠性、灵活性,为通信系统设计提供了一种有效的设计方法。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

在数字信号处理和通信系统中,编码器扮演着至关重要的角色。它负责将原始数据转换为字符序列或二进制码序列,以实现信息的有效传输和处理。而在编码器的众多组成部分中,BAT(电池)信号不仅提供了编码器运行的必要电源,还承载着多种...

关键字: 数字信号 编码器 BAT
关闭
关闭