数字调制解调—2ASK

2 篇文章 2 订阅
2 篇文章 0 订阅
本文详细介绍了2ASK(幅度键控)的二进制调制解调原理,包括调制信号的产生、相干解调和非相干解调,并提供了MATLAB仿真代码。解调分为相干解调,需要同频同相的载波,而非相干解调则使用包络检波。MATLAB仿真展示了2ASK和4ASK信号的时域波形和频谱特性。
摘要由CSDN通过智能技术生成


2ASK(2 Amptitude Shift Keying , 幅度键控)二进制调制解调原理

  ASK即幅度键控,利用0或1的基带矩形波控制一个连续的载波,即基带矩形波与载波直接相乘。当数字信息为1时,载波直接通过,当数字信息为0,载波不通过。通过这种机制产生的信号就是2ASK信号,2代表二进制。
  解调又分为相干解调和非相干解调。相干解调,即用和载波一样频率的信号对调制信号进行频谱搬移。非相干解调,即用检波或者其他方法提取包络。在实际应用中,由于要产生同频同相的相干载波,故存在难点,因此非相干解调应用更为广泛。

1 2ASK调制信号的产生

  由于2ASK信号可以认为是一个单极性的矩形脉冲序列与一个载波相乘,即

s ( t ) = m ( t ) c o s ( w s(t)=m(t)cos(w s(t)=m(t)cos(w c t + t+ t+φ c ) = ∑ k = − ∞ ∞ a )=\sum_{k=-∞}^{∞}a )=k=a k g ( t − k g(t-k g(tkT s ) c o s ( w )cos(w )cos(w ct + + +φ c ) ) )

  式中, g ( t ) g(t) g(t)是持续时间为Ts的脉冲,而ak满足以下条件。

a k= { 0 , 概 率 为 p   1 , 概 率 为 1 − p \left\{\begin{matrix}0,概率为p\\ 1,概率为1-p \end{matrix}\right. {0p 11p

  由卷积定理可知,ASK调制即基带频谱M(w)完成了一次频谱搬移:

s ( w ) = 1 2 [ M ( w − s(w)=\frac{1}{2}[M(w- s(w)=21[M(ww c ) + M ( w + )+M(w+ )+M(w+w c ) ] )] )]

  基带信号频谱通常为无限宽,但能量主要集中在主瓣带宽内,为防止其他频带干扰,大多数情况下需要对发射信号进行带宽限制,以保证大部分能量通过,同时滤除带外频率分量。为进一步降低带宽,提高频带利用率,通常在调制前对基带进行成型滤波,这样基带信号就是一个频带较窄的信号,调制到高频后受其他频段干扰的概率较小。

  根据以上分析,可得到ASK信号产生模型:
在这里插入图片描述


2 2ASK解调

2.1 相干解调

  解调ASK信号的相干检测器组成原理如下图所示:
在这里插入图片描述
  其中s(t)为ASK调制信号,c(t)为相干载波,即cos(wct+φc),将调制信号中以wc为中心频率部分再次搬移到原点,即恢复了基带信号的位置,通过低通滤波将这一部分提取出来。这部分信号经模拟载波调制后并不是真正意义的数字信号,要实现传输还需要对LPF的输出进行抽样判决,根据判决门限值输出0或 1,得到原始信息m(t)。位定时脉冲是收发双方的同步需要,这里不赘述,后面会更新数字同步专题的博客。

  相干解调数学推导如下:

y ( t ) = s ( t ) c o s ( y(t)=s(t)cos( y(t)=s(t)cos(w ct + + +φ c ) = m ( t ) c o s 2 ( )=m(t)cos^2( )=m(t)cos2(w ct + + +φ c ) = 1 2 m ( t ) [ 1 + c o s ( 2 )=\frac{1}{2}m(t)[1+cos(2 )=21m(t)[1+cos(2w c t + 2 t+2 t+2φ c ) ] )] )]

  从式中可以看出,经过低通滤波后2wc分量就被滤除了。可见,采用相干解调法接收端必须提供一个与ASK同频同相的载波。当解调载波频率不一致,就会出现其他的差频分量,滤波器可能无法滤除;当解调载波相位不一致,仍然可以恢复出基带信号,但幅度有所改变,在补偿增益时需要知道相干载波和解调载波的相位差。相干载波可以通过窄带滤波和锁相环提取,但要达到如此精度还是较为困难,实际中多采用包络检波实现ASK的解调。


2.2 非相干解调

包络检波原理如下图:
在这里插入图片描述
  输入信号先经过整流电路,将交流信号转换成直流信号,而后通过低通滤波即可滤除基带的包络,最后门限进行判决,完成ASK的解调。


3 MATLAB仿真

  • 2ASK和4ASK调制代码如下:
Len=1000;			%数据长度
Rb=1*10^6;          %码元速率
Fs=8*Rb;            %采样频率
LenData=Len*Fs/Rb;  %数据长度;8倍采样
Fc=70*10^6;         %载波频率
a=0.8;              %成形滤波器滚降因子

%产生载波信号
t=0:1/Fs:Len/Rb;
carrier=cos(2*pi*Fc*t);
carrier=carrier(1:LenData);

%产生随机分布的二进制数据
code_2ask=randi([0 1],1,Len);
%对基带数据以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=randi([0 3],1,Len);
%对基带数据以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;
  • 仿真结果如图所示:

在这里插入图片描述


在这里插入图片描述


  可以看出成型滤波后只保留了主瓣,由于采样频率Fs=8MHz,载波频率Fc=70MHz,那么中心频点f=kFs±Fc,显然当k=9的时候,f=2MHz。这里要注意,f=6MHz不仅仅是由采样频谱搬移而来。在FFT中,实信号具有一个特点,比如做1024点FFT,那么0 ~ 512点和513 ~ 1023点的频谱是对称的,即关于采样频率的一半对称。这是由于FFT本来利用的就是DFT的共轭对称性而产生的一个快速算法,经过推导便可以得到这个结论。本例中采样频率是8MHz,所以频谱关于4MHz对称,即频谱间隔应该是4MHz,那么2MHz的下一个中心频点就是6MHz。

  关于解调的仿真,相干解调较为简单,直接以相干载波乘以调制信号即可。非相干解调的仿真分为整流,滤波,判决三步,前两项较为简单,对于判决而言,需要进行收发同步,因而单纯的matlab仿真意义不大,观察低通的输出即可大致判断解调是否合适。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值