目录
原文链接:ASK调制与解调_爱吃蛋挞的Dolly的博客-CSDN博客_ask调制
1.二进制ASK调制信号产生
调制信号为二进制数字信号时,这种调制称为二进制数字调制。在2ASK调制中,载波的幅度只有两种变化状态,即利用数字信息0或1的基带矩形脉冲去键控一个连续的载波,使载波时断时续输出。有载波输出时表示发送1,无载波输出时表示发送0.
由于2ASK信号可以认为是一个单极性的矩形脉冲序列与一个载波相乘,即
式中,g(t)是持续时间为Ts的矩形脉冲,而ak的取值服从下述关系
由频率卷积定理可得*s(t)*的频谱为
由上式可知,由于基带矩形脉冲序列的频谱宽度是无限宽的,因此直接采用键控方式产生的ASK信号的频谱带宽也是无限宽的。随着偏离载波中心频率处越远,信号功率衰减越大,且90%的信号功率均集中在主瓣带宽内。当传输信道不存在其他频带干扰时,可以直接使用键控方式产生ASK信号。然而大多数情况为了避免干扰,需要在信号进入功放前增加一级带通滤波器,保证信号的绝大部分能量通过,同时滤除带外频率分量。
频带资源紧张时,为降低信号带宽,在调制前增加成形滤波,故2ASK信号的产生模型如下:
2.二进制ASK信号解调
2.1相干解调
相干解调原理图如下,且接收端必须提供一个与ASK信号的载波保持同频同相的相干载波,否则会造成解调后的波形失真。然而相干载波的实现实现比较复杂,故实际设备中更常使用包络检波法实现解调。
2.2非相干解调
由于包络检波法不需要提取相干载波,因此是一种非相干解调法,其原理如下图所示
经过整流电路,交流信号转换成直流信号,而后通过低通滤波器即可滤出基带信号的包络,最后经判决输出,完成ASK信号的解调功能。相干与非相干解调ASK信号的误码率性能对比如下图所示:
3.ASK调制信号的matlab仿真
Len=1000; %数据长度为1000
Rb=1*10^6; %码元速率
Fs=8*Rb; %采样频率
LenData=Len*Fs/Rb; %数据长度
Fc=70*10^6; %载波频率
Qn=8; %量化位数
a=0.8; %成形滤波器滚降因子
%产生载波信号
t=0:1/Fs:Len/Rb;
carrier=cos(2*pi*Fc*t);
carrier=carrier(1:LenData);
%产生随机分布的二进制数据
code_2ask=randint(1,Len,2);
%对基带数据以Fs速率采样
code_2ask_upsamp=rectpulse(code_2ask,Fs/Rb);
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_2ask_filter=rcosflt(code_2ask,1,Fs/Rb);
%产生未进行成形滤波的2ASK信号
ASK2=carrier.*code_2ask_upsamp;
%产生成形滤波后的2ASK信号
ASK2_filter=carrier.*code_2ask_filter(1:LenData)';
%获取2ASK信号的频谱
ASK2_Spec=20*log10(abs(fft(ASK2,1024)));
ASK2_Spec=ASK2_Spec-max(ASK2_Spec);
ASK2_filter_Spec=20*log10(abs(fft(ASK2_filter,1024)));
ASK2_filter_Spec=ASK2_filter_Spec-max(ASK2_filter_Spec);
%产生随机分布的四进制数据
code_4ask=randint(1,Len,4);
%对基带数据以Fs速率采样
code_4ask_upsamp=rectpulse(code_4ask,Fs/Rb);
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_4ask_filter=rcosflt(code_4ask,1,Fs/Rb);
%产生未进行成形滤波的4ASK信号
ASK4=carrier.*code_4ask_upsamp;
%产生成形滤波后的4ASK信号
ASK4_filter=carrier.*code_4ask_filter(1:LenData)';
%获取4ASK信号的频谱
ASK4_Spec=20*log10(abs(fft(ASK4,1024)));
ASK4_Spec=ASK4_Spec-max(ASK4_Spec);
ASK4_filter_Spec=20*log10(abs(fft(ASK4_filter,1024)));
ASK4_filter_Spec=ASK4_filter_Spec-max(ASK4_filter_Spec);
%绘图
figure(1);x=0:200;x=x/Fs*(10^6);
subplot(221);plot(x,ASK2(100:300));xlabel('时间(us)');ylabel('幅度(v)');
title('未经成形滤波的2ASK时域波形');grid on;
subplot(222);plot((0:200),ASK2_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('成形滤波后的2ASK时域波形');grid on;
subplot(223);plot((0:200),ASK4(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('未经成形滤波的4ASK时域波形');grid on;
subplot(224);plot((0:200),ASK4_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('成形滤波后的4ASK时域波形');grid on;
figure(2);x=0:length(ASK2_Spec)-1;x=x/length(x)*Fs/10^6;
subplot(221);plot(x,ASK2_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('未经成形滤波的2ASK频谱');grid on;
subplot(222);plot(x,ASK2_filter_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('成形滤波后的2ASK频谱');grid on;
subplot(223);plot(x,ASK4_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('未经成形滤波的4ASK频谱');grid on;
subplot(224);plot(x,ASK4_filter_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('成形滤波后的4ASK频谱');grid on;
程序中分别产生2ASK和4ASK,未经过成形滤波器和经过成形滤波器后的时域波形即频谱图
显然,经过成形滤波器后的信号频率滤除了主瓣外的频率分量;2ASK和4ASK的频谱形状相同,主瓣宽度相同;滤波前后的信号频谱都含有明显的载波频率分量。
4.ASK信号解调的MATLAB仿真
本模块的解调的信号输入是上一节的调制信号,只需要将输入信号经过整流滤波即可输出基带信号。
源码:
Rb=1*10^6; %码元速率
Fs=8*Rb; %采样频率
a=0.8; %成形滤波器滚降因子
[ASK2,ASK2_filter,ASK4,ASK4_filter]=AskMod();
figure(4);
subplot(211);plot(20*log10(abs(fft(ASK2))));
subplot(212);plot(20*log10(abs(fft(ASK2_filter))));
%整流
ASK2=abs(ASK2);
ASK2_filter=abs(ASK2_filter);
ASK4=abs(ASK4);
ASK4_filter=abs(ASK4_filter);
figure(5);
subplot(211);plot(20*log10(abs(fft(ASK2))));
subplot(212);plot(20*log10(abs(fft(ASK2_filter))));
%低通滤波
b=fir1(32,Rb*2/Fs);
d_ASK2=filter(b,1,ASK2);
d_ASK2_filter=filter(b,1,ASK2_filter);
d_ASK4=filter(b,1,ASK4);
d_ASK4_filter=filter(b,1,ASK4_filter);
%绘图
figure(1);x=0:200;x=x/Fs*(10^6);
subplot(221);plot(x,ASK2(100:300));xlabel('时间(us)');ylabel('幅度(v)');
title('整流后的2ASK时域波形');grid on;
subplot(222);plot((0:200),ASK2_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('整流后的2ASK(成形滤波)时域波形');grid on;
subplot(223);plot((0:200),ASK4(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('整流后的4ASK时域波形');grid on;
subplot(224);plot((0:200),ASK4_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('整流后的4ASK(成形滤波)时域波形');grid on;
figure(2);x=0:200;x=x/Fs*(10^6);
subplot(221);plot(x,d_ASK2(100:300));xlabel('时间(us)');ylabel('幅度(v)');
title('解调2ASK的基带时域波形');grid on;
subplot(222);plot((0:200),d_ASK2_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('解调2ASK(成形滤波)的基带时域波形');grid on;
subplot(223);plot((0:200),d_ASK4(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('解调4ASK的基带时域波形');grid on;
subplot(224);plot((0:200),d_ASK4_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
title('解调4ASK(成形滤波)的基带时域波形');grid on;
figure(3);
freqz(b);
对于2ASK信号,解调出的信号呈现比较规则的基带信号波形,取信号峰值的一般作为判决门限,很容易恢复出原始的传输数据。解调出的4ASK信号呈现比较规则的基带信号波形,明显看出有4种电平,合理设置判决门限,也能很容易恢复原始的传播数据。