引言
本篇文章主要讲述2ASK信号的调制与解调,并且讲解了MATLAB仿真过程以及需要注意的额外事项。同时,本人通过仿真为大家展示了较为详细的信号调制和解调过程,需要能帮助大家理解2ASK信号的调制解调。
二进制振幅调制信号的原理
调制信号为二进制数字信号时,这种调制称为二进制数字调制。在2ASK调制中,载波的幅度只有两种状态,即利用数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,使载波时断时续输出。有载波输出时表示“1”,无载波输出时表示发送“0”。
由于2ASK信号可以认为是一个单极性的矩形脉冲序列与一个载波相乘,即:
式中,是持续时间为
的矩形脉冲,而
的取值服从下述关系。
由频率卷积定理可得的频谱为
式中,与
是
的频谱
搬移
的结果。
二进制振幅调制信号的产生和对应MATLAB程序演示
二进制振幅调制信号的产生流程图如图所示。首先,需要产生二进制数据,然后二进制数据进行基带数据速率采样,然后进行成形滤波和加载波,最终得到2ASK信号。
%产生随机分布的二进制数据
code_2ask=(randi(2,Len,1)-1)';
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_2ask_filter=rcosflt(code_2ask,1,Fs/Rb);
%产生成形滤波后的2ASK信号
ASK2_filter=carrier.*code_2ask_filter(1:LenData)';
得到2ASK信号的时域波形如图所示。
二进制振幅调制信号的解调和对应MATLAB程序演示
因为相干解调需要提取与输入信号同频同相的相干载波,这是一个难点,因此这里我采用的是非相干解调的包络检测法。包络检测法的原理框图如图所示。调制信号先通过整流,将交流信号转变为直流信号,然后通过低通滤波器滤出基带的包络,再通过判决门限,将ASK信号最终转变为二进制数据。
解调的MATLAB大致如图所示。
%整流
ASK2_filter=abs(ASK2_filter);
b=fir1(jieshu,Rb*2/Fs);
d_ASK2_filter=filter(b,1,ASK2_filter);
%% 抽样判决
k=0.25; % 设置抽样限值
pdst=1*(d_ASK2_filter>k); % 滤波后的向量的每个元素和0.25进行比较,大于0.25为1,否则为0
figure(6); % 窗口分割成2*1的,当前是第3个子图
plot(pdst,'LineWidth',2) % 画出经过抽样判决后的信号
% axis([0,TotalT,-0.1,1.1]); % 设置坐标范用
title("经过抽样判决后的信号")% 标题
xlabel('时间/s'); % x轴标签
ylabel('幅度'); % y轴标签
其判决过程图如下所示。
特别注意
在调制和解调的过程中,会使用到各种滤波器,在使用滤波器后,信号会出现时延,在最终解调时需要额外注意。