0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA无限通信技巧—位交织

FPGA设计论坛 来源:FPGA设计论坛 2023-05-06 10:03 次阅读

FPGA无限通信技巧—位交织

当调制方式为16-AQM,64-QAM和256-QAM时需要做位交织,交织的目的是将突发的错误分散开来,把一个较长的突发差错离散成随机差错,再用随机差错的编码(FEC)等信道编码技术消除随机差错,提高通信的可靠性。交织的越深,抗突发错误的能力也越强。位交织的本质是做矩阵的转置运算,需要转置的数据包括信息位和校验位,在交织的过程中分两步完成,步为检验位交织,第二步为列旋转交织。

1.QAM调制方式介绍

QAM正交振幅调制,其幅度和相位同时变化,属于非恒包络二维调制。它把2ASK和2PSK两种调制结合起来,使得带宽得到双倍扩展。ASK和PSK调制方式如下图所示:

6db6e640-ebb1-11ed-90ce-dac502259ad0.jpg

QAM调制技术用两路独立的基带信号对频率相同、相位正交的两个载波进行调幅,并将已调信号加在一起进行传输。nQAM代表n个状态的正交调幅,一般有二进制(4QAM)、四进制(16QAM)、八进制(64QAM)、十六进制(256QAM)。得到多进制的QAM信号,需要将二进制信号转换为m电平的多进制信号,然后进行正交调制,相加输出。

通信系统中通常把信号矢量端点的分布图成为星座图,同眼图相比,星座图可以看成数字信号的一个二维眼图阵列,屏幕上的图形对应着幅度和相位,通过星座图,可以发现诸如幅度噪声,相位噪声,相位误差等调制问题,采用格雷码编码技术,16QAM星座图编码映射关系如下图所示:

横纵、坐标的取值均有4种,分别为±1、±3,每种坐标需要3bit二进制来表示,差分编码后输入的符号与QAM调制系统中的I、Q之路幅值映射关系如下表所示:

2. 检验位交织

检验位进行交织的时候,信息为的数据需要保持不变,检验位交织需要满足以下方程:

根据校验位交织地址生成公式可知,交织前的矩阵为Qldpc*360,即依次向数据每行写入360个数,第361个数为第二行列数,依次类推。存放Rom地址如图所示:

6dc18ec4-ebb1-11ed-90ce-dac502259ad0.jpg

交织的本质是行进列出,即取数据依次如下地址取数据,重新生成新的一组向量Matlab 中,重新产生读数据的地址索引,即可实现矩阵的转置,使用两个for循环在硬件平台上实现上述操作则需要两个计数器来实现地址的累加,实现的波形如图所示3. 列旋转交织

校验位交织输出ui按列顺序依次写入列旋转交织器,然后按行依次读出,完成列旋转交织,每列写入的起始位置由tc决定,整个旋转交织见下图列旋转交织用公式表示如下:

6dc9db6a-ebb1-11ed-90ce-dac502259ad0.jpg

输入为ui,0≤i≤Nldpc,写入交织器的ci列,ri行,其中列旋转交织器的输出为ui,0≤i≤Nldpc,从交织器的ri行,ci列读出,其中列旋转交织测参数为Nldpc = 16200,Rows Nr =2025,Columns Nc = 8,列旋转参数tc见下表交织之前的数据地址为

对于列旋转交织,每列Tc的值都是确定的,因此可以按照一定规律求出每列的地址,如下图所示,以第四列Tc为7为例,即数据整体往后移7行,7行的数据,移到前面的几行。求出新的地址后,依次将行地址数据读出即完成位旋转交织。

在计算列旋转交织的时候需要考虑固定延迟Tc,在matlab中,可以这样得到交织的结果相比奇偶校验,列旋转交织多了Tc的延迟,需要在正常产生地址的情况下再进行操作,正常地址产生的操作同奇偶校验。Tc是21,因此可以定义一个状态机来完成此操作,如下:

对照交织之后得到的地址矩阵,在状态Row_1读取行的地址,前三列Tc =0,不做任何操作,正常读出转置后的地址即可;第四列需要加上2025-1,第五列加2025-7,后面的三列也按照Tc的延迟进行操作。Row_2代表第二行,依次类推,读完21行之后,相同的列对应的操作都一样,都在Row_last中完成Gen_end表示交织完成,跳转到状态0,等待下一帧的操作。

从以往的学习经验来看,想从新手进阶为FPGA高手、行业资深FPGA开发工程师,您不仅要学习基础的数字电路知识,掌握基础电路如组合逻辑、时序逻辑电路的原理与实现方法。编程语言方面,学会使用硬件描述语言Verilog或者VHDL,并选择相应FPGA开发平台设计软件(Quartus或者ISE),找相关的实例“抄写”代码,逐渐熟悉FPGA硬件语言编程及编译器使用。经过前面一段的铺垫学习,然后你就可以自行尝试设计数字电路了。在做项目的时候,根据提供时序图使用HDL语言去完成它,这时候你就可以购买FPGA开发板去完成项目后续设计、验证和sim仿真设计了。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21648

    浏览量

    601473
  • 逻辑电路
    +关注

    关注

    13

    文章

    492

    浏览量

    42555
  • 二进制
    +关注

    关注

    2

    文章

    786

    浏览量

    41575

原文标题:FPGA无限通信技巧—位交织

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么要进行交织处理?什么是分组交织?什么是卷积交织

    将某些周期性干扰变成突发错误,所以在有些通信系统中采用了矩阵交织的变体,称为随机交织。在随机交织中,编码序列填入矩阵的顺序由某种伪随机序列的值决定或直接由计算机搜索产生。这种
    发表于 05-30 16:13

    求一个Verilog HDL ***数据交织/解交织器的代码

    由于课程设计需要课我又没学过FPGA请大家帮帮忙 交织深度为64即可
    发表于 07-03 12:49

    基于FPGA交织编码技术研究及实现

    有效地纠正信道中的随机错误和突发错误,大大降低误码率,提高通信的可靠性。页  码:27-27页主 题 词:突发差错 交织 FPGA学科分类:TP399核心收录:暂无
    发表于 05-11 14:09

    [Mill]无线通信连载——交织

    16-AQM,64-QAM和256-QAM等高阶调制时需要做交织交织的目的是将突发的错误分散开来,把一个较长的突发差错离散成随机差错,再用随机差错的编码(FEC)等信道编码技术消除随机差错,提高
    发表于 01-08 14:24

    地面数字视频广播中内交织器与解内交织器设计

    地面数字视频广播中内交织器与解内交织器设计同济大学通信软件及专用集成电路设计中心 200092 周加铳摘要:本文介绍了交织交织的基本原理,
    发表于 12-14 11:11 41次下载

    基于FPGA的改进型分组交织器的设计与实现

    本文分析了交织器在Turbo码中的重要作用,以及分组交织器存在的缺陷,提出了一种改进型分组交织器的设计与实现方法。该交织器具有算法简单、易于实现、可适应不同数据帧长度传
    发表于 07-28 17:26 15次下载

    可变参数交织编码器的FPGA实现

    本文介绍了可变参数交织编码器FPGA实现的图形设计过程,给出了完整的设计思路和设计电路,并对设计进行了仿真实验,从仿真图中可以清楚的看出不同交织深度下的性能指标
    发表于 07-28 17:59 11次下载

    TURBO码实时交织器的FPGA实现

    介绍交织技术在Turbo码中的作用及原理,按照螺旋交织器设计的要求,提出了一种交织器电路的设计方案。根据此设计思路得出交织器系统框图,用硬件描述语言进行编程设计了
    发表于 08-06 15:01 32次下载

    IDMA通信系统中的粒子群交织算法

    在IDMA系统中,交织序列区分不同用户,其产生是随机且独立的。但一些交织序列互相关系数接近1,这严重影响通信性能。因此提 出一种应用于IDMA通信系统中的粒子群
    发表于 12-29 16:49 11次下载

    一种交织器和解交织器的FPGA电路实现

    一种交织器和解交织器的FPGA电路实现 交织和解交织是组合信道纠错系统的一个重要环节,交织器和
    发表于 02-08 23:21 1657次阅读
    一种<b class='flag-5'>交织</b>器和解<b class='flag-5'>交织</b>器的<b class='flag-5'>FPGA</b>电路实现

    利用FPGA技术实现数字通信中的交织器和解交织

    摘要:介绍用FPGA实现数字通信中的交、解交织器的一种比较通用的方案,详细说明了设计中的一些问题及解决办法。还介绍了一种实现FPGA中信号延时的方法。
    发表于 06-20 13:58 1274次阅读
    利用<b class='flag-5'>FPGA</b>技术实现数字<b class='flag-5'>通信</b>中的<b class='flag-5'>交织</b>器和解<b class='flag-5'>交织</b>器

    基于FPGA的改进型分组交织器的设计与实现

    基于FPGA的改进型分组交织器的设计与实现 Turbo码是由法国人Berrou于1993年提出的一种性能优越的信道编码方案[1],其应用已逐步推广到卫星通信、移动通信和计算机
    发表于 11-06 10:07 1286次阅读

    IDMA通信系统中的粒子群交织算法

    IDMA通信系统中的粒子群交织算法  引言    先进的接入技术码分多址(CDMA)能够有效利用带宽,提高系统容量,应用广泛。IDMA交织多址是一种特殊的CDMA
    发表于 12-19 10:25 1366次阅读
    IDMA<b class='flag-5'>通信</b>系统中的粒子群<b class='flag-5'>交织</b>算法

    FPGA如何使用RAM分区循环移位法实现解交织

    本文分析了卷积交织和解交织的基本原理,然后采用Altera 的FPGA器件,用RAM分区循环移位法来实现解交织器。无论从理论上,还是从计算机仿真和综合结果上来分析,都可以看出用这种方法
    的头像 发表于 09-28 17:53 2723次阅读

    FPGA无限通信技巧—交织

    ,提高通信的可靠性。交织的越深,抗突发错误的能力也越强。交织的本质是做矩阵的转置运算,需要转置的数据包括信息和校验
    的头像 发表于 05-06 10:02 668次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>无限</b><b class='flag-5'>通信</b>技巧—<b class='flag-5'>位</b><b class='flag-5'>交织</b>