2ASK的Matlab仿真
2ASK二进制振幅调制原理
2ASK是最简单的幅度调制,01比特流直接与载波相乘,频率和相位都不用管,保持不变,载波在基带信号为0时就是0,基带信号为1的时候载波就是原来的样子。
数学公式
e
0
(
t
)
=
S
(
t
)
⋅
c
o
s
ω
c
t
e_0(t)=S(t) \cdot cos\omega_ct
e0(t)=S(t)⋅cosωct
S
(
t
)
=
∑
n
a
n
g
(
t
−
n
T
s
)
,
a
n
=
0
o
r
1
S(t)=\sum_n a_ng(t-nT_s),\quad a_n=0\quad or \quad1
S(t)=n∑ang(t−nTs),an=0or1
e
2
A
S
K
(
t
)
=
∑
n
a
n
g
(
t
−
n
T
s
)
⋅
S
(
t
)
⋅
c
o
s
ω
c
t
e_{2ASK}(t)=\sum_n a_ng(t-nT_s)\cdot S(t) \cdot cos\omega_ct
e2ASK(t)=n∑ang(t−nTs)⋅S(t)⋅cosωct
原理图
发射方式
模拟相乘法
将载波和数字信号相乘得到输出信号,利用二进制基带信号的振幅调制正弦载波
数字键控法
用开关电路控制输出调制信号,二进制基带信号控制开关,开关接载波就有信号输出,开关接地就没有信号。
接收方式
非相干解调(包络检波)
叠加直流信号,通过整流二极管,再通过低通滤波器解调出基带信号
相干解调(同步检测)
接收机接收到的信号为已调信号
c
o
s
ω
t
c
o
s
ω
c
t
cos\omega t cos\omega_c t
cosωtcosωct,该信号通过解调器再次与一个载波信号相乘:
c
o
s
ω
t
c
o
s
ω
c
t
c
o
s
ω
c
t
=
1
2
c
o
s
ω
t
+
1
2
c
o
s
ω
t
c
o
s
2
ω
c
t
cos\omega t cos\omega_c tcos\omega_c t=\frac 12 cos\omega t+\frac 12 cos\omega tcos2\omega_c t
cosωtcosωctcosωct=21cosωt+21cosωtcos2ωct
解调后的信号包含一个低频成分和一个高频成分
用一个低通滤波器把高频成分滤掉,就得到了要传递的基带信号
c
o
s
ω
t
cos\omega t
cosωt。以上这个解调过程就是相干解调。
2ASK发射部分仿真
实验代码
A='00011010110011111111110000011101'; %%信源,32个码元
leng=length(A);
a=double(A);
for i=1:leng
a(i)=str2num(char(a(i)));
end
f=100; %%carrier频率,0.01s一个周期,3200个周期
t=0.0001:0.0001:32; %时间离散化,一个周期100个点
carrier=cos(2*pi*f*t);%载波
subplot(2,3,1);
plot(t,carrier);
title('载波','FontSize',16);
for i=1:320000
b(1,i)=a(1,ceil(i/10000));%%调制
end
subplot(2,3,3);
plot(t,b)
title('码元','FontSize',16);
AM=carrier.*b;%%模拟乘法器调制,得到2ASK调幅波
subplot(2,3,2);
plot(t,AM);
title('2ask信号','FontSize',16);
snr=20; %信噪比
nst=awgn(AM,snr); %加性高斯白噪声
subplot(2,3,4);
plot(t,nst);
title('信道传输','FontSize',16);
实验波形
波形如下
2ASK接收部分仿真
实验代码
%抽样判决
k=0.9; %门限
for i=1:320000
if nst(1,i)<k
pdst(1,i)=0;
else
pdst(1,i)=1;
end
end
subplot(2,3,5);
plot(t,pdst);
title('接收信号','FontSize',16);
总结
用了两天时间终于搞定了这次试验,大部分时间花在了作图上。当然这只是一个初稿,第一次投稿还是很不熟练,接下来把上面疑惑没搞完的工作都完成,会把这篇文章修改重新上传,相关matlab代码和Visio会上传到gitee,如果Visio文档我没删的话。之后会陆续更新2PSK,16 QAM,QPSK以及更多通信原理,数字电路,移动通信的内容,争取这学期发表十篇文章,加油!