微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
本节目录
一、载波PAM信号的产生
二、载波PAM信号的解调
三、载波PAM信号的Matalb仿真
四、Matlab源码
本节内容
数字PAM又称为幅移键控ASK,在数字基带PAM中,信号波形即sm(t)=Am×g(t)
Am是第m个波形的幅度;g(t)是某一种脉冲,决定了传输信号的谱特性。
一、载波PAM信号的产生
载波PAM信号的产生,基带信号波形sm(t)与正弦载波cos2πfct相乘。
s(t)=Am×g(t)×cos2πfct
已调信号的频谱为:S(f)=(Am/2)×[G(f+fc)+G(f-fc)]
基带信号sm(t)的频谱被搬移到载波频率fc上,带通信号是一个双边带抑制载波DSBSC的AM信号。
二、载波PAM信号的解调
带通数字PAM信号的调制可以用相关或匹配滤波器来完成。
接收信号r(t)=Am×g(t)×cos2πfct+n(t)。
n(t)是带通噪声过程,n(t)=nc(t)×cos2πfct-ns(t)×sin2πfct
nc(t)——噪声的同相分量
ns(t)——噪声的正交分量
输出信号:
上式中n表示相关器输出的加性噪声分量,均值为0,方差为:
上式中,φ(f)是φ(t)的傅里叶变换;Sn(f)是加性噪声的功率谱密度。
载波调制PAM信号的最佳检测器的差错概率
上式中Es是符号的平均能量
三、载波PAM信号的Matalb仿真
matlab代码示例:
仿真4-PAM载波调制信号在awgn信道下的误码率和误比特率性能,
并与理论值比较,其中符号周期为1s,载波频率为10Hz,
每个符合周期内采样100个点。
四、Matlab源码
clear all;
clc;
%采样点数
numsamp=10;
%发送符合数
num_symbol=100000;
%符号后期
T=1;
%每个符号的采样点数
fs=100;
%采样时间间隔
ts=1/fs;
%时间矢量
t=0:ts:T-ts;
%载波频率
fc=10;
%载波信号
c=sqrt(2/T)*cos(2*pi*fc*t);
%信噪比
EsN0=0:15;
%信噪比转化为线性值
snrl=10.^(EsN0/10);
%4-PAM
M=4;
%Gray编码规则
graycode=[0 1 3 2];
%消息数据
msg=randi([0,3],1,num_symbol);
%Gray映射
msg1=graycode(msg+1);
%4-PAM调制
msgmod=pammod(msg1,M).';
%载波调制
tx=msgmod*c;
tx1=reshape(tx.',1,length(msgmod)*length(c));
%求每个符号的平均功率
spow=norm(tx1).^2/num_symbol;
for indx=1:length(EsN0)
%根据符号功率求噪声功率
sigma=sqrt(spow/(2*snrl(indx)));
%加入高斯白噪声
rx=tx1+sigma*randn(1,length(tx1));
rx1=reshape(rx,length(c),length(msgmod));
%相关运算
y=(c*rx1)/length(c);
%PAM解调
y1=pamdemod(y,M);
%Gray逆映射
decmsg=graycode(y1+1);
%求误比特率和误符号率
[err,ber(indx)]=biterr(msg,decmsg,log2(M));
[err,ser(indx)]=symerr(msg,decmsg);
end
semilogy(EsN0,ber,'-ko',EsN0,ser,'-k*',EsN0,1.5*qfunc(sqrt(0.4*snrl)));
title('4-PAM载波信号在awgn信道下的性能');
xlabel('Es/N0');
ylabel('误比特率和误符号率');
legend('误比特率','误符号率','理论误符号率');