查看原文
其他

【无线通信篇】你知道ASK调制吗?

范龙飞 MYMINIEYE 2021-01-31

1.ASK信号的调制原理

数字信号对载波信号的振幅调制称为振幅键控,即ASK

2ASK调制系统中,数字信息只有01两种,所调制的载波信号的幅度变化状态也只有两种:无载波输出时代表发送0;有载波输出时代表发送1

4ASK调制系统中,数字信息就有00011011四种,需要载波信号幅度的4个电平状态表示。显然,进制越大,相同频带内可以传输的数据信息量也就越多,即频带利用率越高。

ASK调制系统的模型如下所示:


ASK信号产生模型

基带信号m(t)可以看作一串由01组成的矩形脉冲信号,理论上其带宽是无限的,与载波信号调制之后的键控信号s(t)带宽也是无限的。工程中为了提高频带利用率,需要对信号带宽做限制,通常只需要将在主瓣带宽内包含90%能量的信号发送出去即可。

在频带资源比较紧张的情况下,为进一步降低信号的带宽,提高频带利用率,一种常用的方法就是在调制之前对基带信号进行成型滤波,如上图ASK信号产生模型所示。

2.ASK调制信号的MATLAB仿真

FPGA设计前通常都会使用MATLAB对系统进行建模与仿真。设计ASK调制系统时,选定系统参数,如下所示:

码元长度(Len)

1000

码元速率(Rb)

1Mbps

采样频率(Fs)

8MHz

数据长度(LenData)

8000

载波频率(Fc)

70MHz

Matlab主要程序如下:

程序运行之后,生成2ASK的时域波形以及频谱如下:

ASK信号的频谱图可以看出,经过成型滤波之后的信号频谱已经滤除了主瓣外的频率成分,采样后的载频分量被搬移到了2MHz处。采样后的载波频率fas = k*fs±fc,其中k为整数,当k=9时,fas=9*8-70=2MHz

3.ASK调制信号的FPGA实现

前面采用MATLABASK信号进行了仿真,接下来在Vivado开发环境下完成2ASK调制技术的设计并进行仿真。键控法实现ASKFPGA十分简单,如下所示:

采用开关(键控)方式产生ASK调制信号,输入到DAC之前,在FPGA内部可以用一个数字带通滤波器对信号频带进行限制,关键在于产生本地载波信号,无论是Altera还是Xinlinx都提供了NCO核,我们可以根据需要,设置相应的参数后,就可以产生载波信号。

DDS/NCO核的参数的主要设置为:

SystemClock  :   8MHz                

ParameterSelection : Hardware Parameters

PhaseWidth : 32

OutputWidth : 14

PhaseIncrement Programmability : Programmable

Phaseoffset Programmability : None

OutputSelection : Sine

输出频率为2MHz,相位累加器设置为 32’d1073741824

主要程序如下,其中sineDDS/NCO的输出信号,当进行4ASK调制的时候,输出信号的幅度有四种,需要合理设置中间值,分别为最大幅值的1/32/3,在FPGA实现除法是比较复杂和耗时的,这里采用了近似的方法,采用移位法实现0.3281(1/3)0.6563(2/3)倍最大幅值。


最后的仿真为

FPGA实现后的2ASK调制信号仿真波形


FPGA实现后的4ASK调制信号仿真波形


从图上可以看出,2ASK中只有零值和最大值两种情况,4ASK有四种不同的幅值,符合ASK调制信号的要求。





-MYMINIEYE2015-编辑 |GUOGUO
|用温暖和感动为你讲述MYMINIEYE开发板故事|投稿邮箱 |mill@myminieye.com



  https://www.bilibili.com/video/BV1EE411475Z/


往期精彩一

数字调制:为什么要做IQ调制解调?

往期精彩二

86岁还在录网课:MIT教授Gilbert Strang最新「线性代数」课程上线

往期精彩三

Xilinx大神都懂的数字运算单元—DSP48E1

往期精彩四

Modelsim的简单使用

往期精彩五

华为:英雄自古多磨难



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存