• 大小: 5KB
    文件类型: .m
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: Matlab
  • 标签: psk  Matlab  通信  

资源简介

使用8psk对信息进行调制,通过高斯加性白噪声的信道,再在接收设备中进行调制的全过程,包含波形及频谱的Matlab仿真

资源截图

代码片段和文件信息

f=1*300;       					%采样频率 
g=(sign(rand(1300)-0.5+eps)+1)/2; %产生二进制序列
sn=randn(1100*length(g)); %产生高斯白噪声
dt=2*pi/299;
t=0:dt:2*pi;
si=[];co=[];     %si为正交分量,co为同相分量
sit=[];sqt=[];   %sit为同相分量幅度,sqt为正交分量幅度
sb2=[];          %输入二进制序列
for n=1:3:length(g); %一次取3个二进制数
if g(n)==0 && g(n+1)==0 && g(n+2)==0
%b1b2b3=000时正交分量和同相分量的幅值
        it=-0.383*ones(1300);
        qt=-0.924*ones(1300);  
        b2=[zeros(1100) zeros(1100) zeros(1100)];
    elseif g(n)==0 && g(n+1)==0 && g(n+2)==1 %b1b2b3=001时
        it=-0.924*ones(1300);
        qt=-0.383*ones(1300);
        b2=[zeros(1100) zeros(1100) ones(1100)];
    elseif g(n)==1 && g(n+1)==0 && g(n+2)==0
        it=0.383*ones(1300);
        qt=-0.924*ones(1300); 
        b2=[ones(1100) zeros(1100) zeros(1100) ];
    elseif g(n)==1 && g(n+1)==0  && g(n+2)==1
        it=0.924*ones(1300);
        qt=-0.383*ones(1300);  
        b2=[ones(1100) zeros(1100) ones(1100) ];
    elseif g(n)==0 && g(n+1)==1 && g(n+2)==0
        it=-0.383*ones(1300);
        qt=0.924*ones(1300); 
        b2=[zeros(1100) ones(1100) zeros(1100)  ];
    elseif g(n)==0 && g(n+1)==1 && g(n+2)==1
        it=-0.924*ones(1300);
        qt=0.383*ones(1300); 
        b2=[zeros(1100) ones(1100) ones(1100)  ];
    elseif g(n)==1 && g(n+1)==1 && g(n+2)==1
        it=0.924*ones(1300);
        qt=0.383*ones(1300);  
        b2=[ones(1100) ones(1100) ones(1100)  ];
    elseif g(n)==1 && g(n+1)==1 && g(n+2)==0
        it=0.383*ones(1300);
        qt=0.924*ones(1300);
        b2=[ones(1100) ones(1100) zeros(1100)  ];
    end
    sb2=[sb2 b2];
    c=cos(f*t);   s=sin(f*t);
    sit=[sit it]; sqt=[sqt qt];   
    co=[co c];    si=[si s];  
end
figure(1);
subplot(311);
plot(sit);%I路
title(‘I‘);
subplot(312);
plot(sqt);%Q路
title(‘Q‘);
psk=sit.*co+sqt.*si; %调制后的8psk信号
%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(2);
subplot(311);
 stem(sn)%输出噪声的时域图
 title(‘高斯随机噪声‘)
zaosheng=fft(sn);
abs(zaosheng);
subplot(312);%画出噪声的频谱图
abs(zaosheng)
plot(abs(zaosheng));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(3);
subplot(211);plot(sb2‘LineWidth‘1.5);
grid on;title(‘二进制序列(信源)‘);
axis([0 3000 -1.5 1.5]);
set(gca‘Xtick‘[3006009001200])

评论

共有 条评论