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

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

3天内不再提示

通过VHDL语言和EPlC6Q240C8芯片实现16QAM调制器的设计

电子设计 来源:郭婷 作者:电子设计 2019-09-05 08:05 次阅读

为了满足现代通信系统对传输速率和带宽提出的新要求。人们不断地推出一些新的数字调制解调技术。正交幅度调制解调(quadrature ampli-tude modulation and demodulation)就是一种高效的数字调制解调方式。与其它调制技术相比,这种调制解调技术能充分利用带宽,且具有抗噪声能力强等优点。因而在中、大容量数字微波通信系统、有线电视网络高速数据传输、卫星通信等领域得到广泛应用。

1 16QAM调制原理

一般情况下,正交振幅调制的表达式为:

通过VHDL语言和EPlC6Q240C8芯片实现16QAM调制器的设计

式中,A是固定振幅,(dm,cm)可由输入信号确定。(dm,cm)则可决定已调QAM信号在信号空间中的坐标点。16QAM正交振幅调制系统组成框图如图1所示。基带信号经过串并变换后转化为IQ两路并行数据流,该并行数据流的宽度为4 bit,其中高位的1 bit映射到内外圆,低位的3bit映射到内(外)圆上,这样就形成如图2所示的星型星座图。差分编码后的数据经过成型滤波器后和相互正交的正弦或余弦载波进行调制,被调制后的IQ路正交信号再进行矢量相加,即可形成调制信号输出。

通过VHDL语言和EPlC6Q240C8芯片实现16QAM调制器的设计

2 16QAM调制器的FPGA实现

16QAM调制器可在ALTERA公司的CYCLONE系列芯片EPlC6Q240C8上实现,EDA工具是与之配套的QUARTUS II 4.2软件。在设计中,底层设计可使用Verilog HDL语言来实现,顶层设计则采用原理图方式实现,其顶层设计图如图3所示。

通过VHDL语言和EPlC6Q240C8芯片实现16QAM调制器的设计

2.1 时钟分频模块

时钟分频模块FD利用N分频器对2 MHz系统时钟信号进行N分频,以产生调制器模块所需的工作时钟。N分频器是由模N/2计数器实现的,分频输出信号模N/2可自动取反,以产生占空比为1:1的时钟信号。由于信号源产生的基带信号为16bit并行数据,其速率为32 kbps,经并串转换后的4 bit并行数据速率为128 kbps,所以,本设计还采用了16分频器和64分频器。同时还设计了2分频器,三个分频器可分别产生1 MHz时钟、128kHz时钟和32 kHz时钟。

2.2 并串转换模块

并串转换模块PS可通过4级锁位寄存器来实现。并行16位的输入数据按照并行4位的格式串行输入到差分编码模块。

2.3 差分编码模块

差分编码模块DC在调制器中的作用是通过编码和信号映射把二进制比特数据转换为具有幅度和相位特性的数据,然后把这些数据送到后面的模块中进行调制。

根据星型16-QAM星座图的特点,这里规定每个码元由四个比特组成。其差分编码规则是:每个码元的第一个比特通过差分方式来改变QAM相量(即图1中从坐标原点指向每个信号的矢量)的振幅。如输人的该比特为“1”,则将当前码元的相量振幅改变到与前一个码元的相量振幅不相同的振幅环上。若输入的该比特为“0”,则使当前码元的相量振幅与前一码元相同。每个码元中的其余三个比特则通过Gray差分相位编码的方法来改变信号的相位。也就是说,通过Gray编码来改变当前码元信号相量与前一码元信号相量的相位差(即相对相位)。这些比特数据与相位差的关系如表1所列。

通过VHDL语言和EPlC6Q240C8芯片实现16QAM调制器的设计

根据上述规则,即可通过对第一个比特的编码来得到码元的振幅(Ai,i=1,2),而通过对剩余三个比特的编码则可得到当前码元的相对相位。把前一码元的绝对相位加上当前码元的相对相位,就可以得到当前码元的绝对相位(θi,i=0,1…7)。这样,就可以得到第k个码元经过差分编码后的输出脉冲值Aiejθi(I路的输出值为,Aicos(θi)Q支路的输出值Aisin(θi))。

在FPGA实现差分编码的模块中,比特数据经过编码可得到振幅值和相位值。然后利用上述两个值作为地址,并通过查ROM表的方法就可得到输出脉冲值。因为与直接法相比,用查表法进行设计不涉及正余弦运算,也不需要进行乘法运算,因而程序执行速度快。同时,由于需要存储的脉冲值只有16种,所以不会占用FPGA太多的资源。

2.4 内插模块

差分编码模块的输出数据速率是128 kbps,而在实现DDS的器件AD9857中设定的输人数据速率是1Mbps,为了使两者速率匹配,设计时可采用内插方法来实现。

内插模块IS的设计可采用最简单的实现方法,即在数据之问插零。零的个数N由内插前后数据的速率决定,本设计中N=7。内插模块可通过数据锁存器和计数器来实现。

2.5 成型滤波模块

内插模块IS的设计采用“插零”处理会导致码间干扰和带外辐射增大。为了减小其对信号解凋的影响,设计中应加入成型滤波模块。

在该模块设计中,滤波器的抽头系数可根据滤波器的冲击响应公式并通过Matlab仿真求得。仿真参数设定为:滚降因子α=0.35,滤波器长度N=51,一个符号周期内点的个数M=8。滤波器的实现可采用并行结构,每阶都有自己的乘法器,用于接收输入数据,并将其与抽头系数相乘。

2.6 载波正交变换

本设计中,16-QAM调制器中的载波正交变换并不是在FPGA中实现的,而是采用数字上变频器代替。这是因为调制系统的中频载波为36.864 MHz,经过内插滤波后,该输出信号频率可达百兆赫兹以上,这样的频率会使FPGA无法稳定工作。为此,本设计采用了专用DDS芯片AD9857来保证FPGA能够正常稳定的工作。

3 硬件测试

本没计的测试结果如图4和图5所示。从图4可看出:在系统码元之间,相位跳变分明,所得到的波形就是实际的调制波形。图5为信号频谱图,纵坐标每格10 dB,横坐标每格300 kHz,信号带外衰减大于30 dB。由图5可知,该系统的带宽大约为200 kHz,能完全满足预期设计要求。

通过VHDL语言和EPlC6Q240C8芯片实现16QAM调制器的设计

4 结束语

多进制正交振幅调制由于具有很高的频谱利用率,而被广泛应用在中、大容量数字微波通信系统的载波键控方式之中。特别是当MQAM在未来4G移动通信采样以OFDM为主导技术的基带调制中,它将成为实现大容量的重要调制技术。本文利用EDA技术来实现16QAM调制器的设计是现代数字通信与EDA技术相结合的一个典型应用,这种电子设计的自动化方法也必将在数字通信领域得到广泛的应用。


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

    关注

    1625

    文章

    21648

    浏览量

    601478
  • 芯片
    +关注

    关注

    453

    文章

    50301

    浏览量

    421411
  • vhdl
    +关注

    关注

    30

    文章

    816

    浏览量

    128058
收藏 人收藏

    评论

    相关推荐

    基于EP1C6Q240C8的FPGA芯片实现电子测试系统的设计

    本文采用的是ALTERA公司的EP1C6Q240C8型号的FPGA,整个体统采用模块化设计的思想,将各个模块用VHDL语言描述出来再进行连接。
    发表于 08-04 09:39 1905次阅读
    基于EP1<b class='flag-5'>C6Q240C8</b>的FPGA<b class='flag-5'>芯片</b><b class='flag-5'>实现</b>电子测试系统的设计

    [求助]急需16QAM调制解调的VHDL代码

    如题,目前急需16QAM调制解调的VHDL代码,哪位朋友可以帮帮忙?QAM的也行!先谢谢了!
    发表于 04-01 21:39

    采用EP1C6Q240C8VHDL的定时的设计

    采用EP1C6Q240C8VHDL的定时的设计
    发表于 08-17 09:53

    16qam调制解调labview仿真图

    有哪位高人指点一下16qam调制解调的仿真图 另外想问一下公式y = (-x)**m;是什么意思 谢谢
    发表于 11-13 10:44

    有偿寻求高手做16QAM调制与解调的matlab仿真(价格再议)

    寻求高手做16QAM调制与解调的matlab仿真(价格再议)有意向者可加QQ:2852237351
    发表于 07-29 15:27

    通信工程信号调制程序(16QAM)看不明白 ,求解答

    我是一入门新手,在网上下了一个16AQM的调制程序,但是在寄存赋值那快看不懂,求大牛解答,先在这里谢谢了!!程序如下:module DATA_16QAM_mapper(DM_DIN,
    发表于 12-25 21:11

    如何利用EDA技术来实现16QAM调制器的设计?

    16QAM调制原理是什么?16QAM调制器的FPGA实现如何利用EDA技术来实现
    发表于 04-15 06:00

    基于FPGA的QAM调制器系统实现

    提出了一种改进型直接上变频数字电视QAM调制器方案。系统基于FPGA和高速正交调制数模转换芯片。给出了系统硬件设计方案及内部逻辑模块设计方法,讨论了系统
    发表于 09-10 10:06 35次下载

    基于VHDL的4PSK调制器的设计

    阐述了4PSK调制器的基本原理,给出调制系统设计框图。在MAX+plusII环境下,利用VHDL语言实现了4PSK调制器设计,并对系统的各模
    发表于 12-20 17:31 51次下载

    基于FPGA的高阶QAM调制器实现

    针对全数字正交幅度(QAM)调制技术在数字微波通信系统中的应用,以64QAM为例提出了一种全数字实现调制系统结构方案,基于Quartus
    发表于 09-20 15:16 93次下载
    基于FPGA的高阶<b class='flag-5'>QAM</b><b class='flag-5'>调制器</b>的<b class='flag-5'>实现</b>

    基于SIMULINK的16QAM基带调制系统性能仿真

    移动通信的物理层采用的调制方式主要有BPSK、QPSK、16PSK、l6QAM 等自适应数字调制解调技术。本文通过对信源产生的数字信号,经过
    发表于 09-20 15:24 122次下载
    基于SIMULINK的<b class='flag-5'>16QAM</b>基带<b class='flag-5'>调制</b>系统性能仿真

    BPSK_QPSK_8PSK_16QAM调制方式的性能仿真及频

    本文对BPSK QPSK 8PSK 16QAM调制方式的性能进行仿真及频率利用率的对比及分析,主要对QPSK和16QAM的相关性能进行了阐述。
    发表于 05-17 09:49 24次下载

    基于MATLAB下的16QAM仿真

    基于MATLAB下的16QAM仿真,很厉害的,自己好好看看。
    发表于 05-18 10:46 13次下载

    AD9853:可编程数字QPSK/16-QAM调制器过时数据表

    AD9853:可编程数字QPSK/16-QAM调制器过时数据表
    发表于 04-15 11:19 8次下载
    AD9853:可编程数字QPSK/<b class='flag-5'>16-QAM</b><b class='flag-5'>调制器</b>过时数据表

    无线通信中的IQ调制,BPSK调制,QPSK调制16QAM调制的理解

    前面我们讲了IQ调制和解调的原理,下来我们看一下如何应用IQ调制实现MPSK调制(QPSK、8PSK等)、MQAM
    的头像 发表于 12-19 10:30 9377次阅读