电子元器件
采购信息平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 公众号

    电子元器件

    采购信息平台

  • 移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

基于FPGA的卷积码译码器的方案

来源: 作者:华仔 浏览:182

标签:

摘要:卷积码是深度空间通信系统和无线通信系统中常用的一种差错控制编码。它克服了分组码由于以码块为单位编译码而使分组间的相关信息丢失的缺点。(2,1,8)卷积码在2G、3G通信系统中得到了广泛的运用。CDMA/IS-95系统的前向信道[3]、CDMA20001x的前反向链路都使用了生成多项式为(561,753)码率为1/2的(2,1,8)卷积码。针对目前卷积码译码器占用资源较多,最高工作频率较低的缺点,本

卷积码是深度空间通信系统和无线通信系统中常用的一种差错控制编码。它克服了分组码由于以码块为单位编译码而使分组间的相关信息丢失的缺点。(2,1,8)卷积码在2G、3G通信系统中得到了广泛的运用。CDMA/IS-95系统的前向信道[3]、CDMA20001x的前反向链路都使用了生成多项式为(561,753)码率为1/2的(2,1,8)卷积码。针对目前卷积码译码器占用资源较多,最高工作频率较低的缺点,本文设计了一种新的基于FPGA的(2,1,8)卷积码译码器。该译码器工作频率高,输出时延小,占用资源少。

1 (2,1,8)卷积码译码器的总体设计

本文所实现的(2,1,8)卷积码译码器是基于维特比算法的硬判决译码器。整个系统分为启动单元、中间处理单元、译码输出单元3个单元模块。系统总体结构图如图1所示。对(2,1,8)卷积码译码器,启动单元处理的是前8个输入的码字,中间处理单元处理的是后续输入的码字。译码输出单元实现对译码器译出码字的输出。本设计中,各状态节点的路径度量和幸存路径均采用FPGA片内的寄存器作为存储主体,即采用的是寄存器交换法。这样译码输出时不用回溯,能极大提高译码器的译码速率。

2 (2,1,8)卷积码译码器各模块设计

2.1 启动单元模块

(2,1,8)卷积码译码器共有256个状态节点。在处理前8个输入码字中的第i(i为大于0且小于9的整数)个码字时,只需对其中的2i个状态节点进行处理,而且转移至这2i个状态节点的前一状态节点都各仅有一个,其状态转移图如图2所示。因此并不需执行比较和选择操作。该单元的关键在于确定处理第i个码元时,需对哪些状态节点的幸存路径和路径度量值更新。经分析可知:在第i个码元处理结束后。当且仅当某节点对应的状态值的二进制形式的低(8-k)位比特均为0,译码器才可能到达该状态节点。据此本文设计了如下的一种巧妙方法确定某状态节点是否能到达。设置一个8bit位宽的寄存器型变量sd0。其初始值置为0x7f,即将其最高位置为0,每处理完一个码元,就将sd0右移一位,在判断状态值为i的节点是否需要处理时,将sd0与i进行按位与运算,若其结果为0,则该状态节点需被处理,否则,直接进入对下一状态节点的判断处理。

在计算各状态节点的路径度量BM时,本设计采取了如下方案。预先计算出(2,1,8)卷积码的256个状态在输入为0时的编码结果,并将其存储在一个由256个位宽为2bit的寄存器组中。处理接收的卷积码码字时,首先计算出该码字与(2,1,8)卷积码的4个可能码字00,01,10,11的不同的比特的位数。并分别存储在对应的4个2bit位宽的路径度量寄存器l0,l1,l2,l3中。将状态节点i和(i+128)的两个路径度量值分别记为BM0和BM1,节点i的BM0和BM1分别为编码器处于状态(2×i)和(2×i+1)且输入为0时的输出码字与当前时刻输入码字不同的比特数。节点(i+128)的BM0和BM1分别为编码器处于状态(2×i)和(2×i+1)且输入为1时的输出码字与当前时刻输入码字不同的比特数。且任何状态节点的两个路径度量值BM0和BM1之和为2,据此就可得出各个状态节点的BM0和BM1的值。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67
Baidu
map