• 大小: 3KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-07-10
  • 语言: Matlab
  • 标签: 2dpsk  matlab  

资源简介

利用MATLAB软件仿真二进制相对移相调制系统,实现二进制相对移相调制和相关解调,要求信道为加性高斯白噪声,给出调制信号、载波信号以及已调信号的波形图和频谱图。改变基带信号,对产生的波形进行分析。在不同信噪比的情况下,求二进制相对移相系统的误码率,并画出误码率与信噪比的关系图。

资源截图

代码片段和文件信息


clearclose all
bit=1000;
n=16;
p=0.6;
signal=rand(1n)<=p; %产生n位随机二进制信号
receive=0;
j=1;
while j<=n           %差分编码
    if signal(j)~=receive(j)
        bi=1;
        
    else
        bi=0;
    end
    receive=[receive bi];
    j=j+1;
end
difference=receive(2:n+1); %差分码,去掉参考位
m=0:1/bit:(n-1)/bit;
figure(1)
subplot(311)             %画出基带原码
stairs(msignal)axis([0n/bit-0.51.5]);
title(‘基带原码‘)xlabel(‘时间/秒‘)ylabel(‘幅值‘);
grid on
subplot(312)             %画出差分码
stairs(mdifference)axis([0n/bit-0.51.5]);
title(‘差分码‘)xlabel(‘时间/秒‘)ylabel(‘幅值‘); 
grid on
for i=1:n;                 %将差分码变成双极性差分码biploar             
    if difference(i)==0
        biploar(i)=-1;
    else
        biploar(i)=1;
    end
end
t=linspace(0n/10003200); %载波时间切片
carrier=sin(2*pi*1500*t); %载波
biploar=repmat(biploar2001); 
biploar=reshape(biploar1numel(biploar));
modulate=biploar.*carrier;  %模拟调制,产生2DPSK调制波
subplot(313)plot(tmodulate)axis([0n/bit-1.51.5]);
title(‘2DPSK调制波‘)xlabel(‘时间/秒‘)ylabel(‘幅值‘)grid on
figure(2)
%((((((信道传输))))))))))))
channel=awgn(modulate10);
subplot(311)plot(tchannel)
axis([0n/bit-1.51.5]);
title(‘信道输出‘)xlabel(‘时间/秒‘);ylabel(‘幅值‘);grid on
% ((((((相干调制))))))))))))))))))))
coherent=channel.*carrier;
subplot(312)
plot(tcoherent);
axis([0n/bit-1.51.5]);
title(‘相乘输出‘)xlabel(‘时间/秒‘);ylabel(‘幅值‘);grid on
%(((((((低通椭圆滤波器)))))))))))))))))
fp=60;fs=150;Fs=4000;
rp=3;rs=60; 
wp=fp/Fs;
ws=fs/Fs;
[NWn]

评论

共有 条评论