⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpsk.m

📁 用MATLAB生成bpsk信号
💻 M
字号:
clear

length=100;                                  %序列长度
samp=100;                                    %采样点数
sequence=randint(1,length);                  %序列生成
sequence1=2*sequence-1;                      %极性变换

%-------------------------------------将信息源信号抽样----------------------
data1=zeros(1,samp*length);              
for i1=1:length  
    data1(samp*(i1-1)+1:samp*i1)=sequence1(i1);
end

%-------------------------------------对余弦载波抽样------------------------
for j1=1:samp*length                     
    a1(j1)=cos((j1-1)*pi/50);
end

%---------------------------------------调制-------------------------------
data2=data1.*a1;                             %调制  
data3=awgn(data2,10,'measured');             %经过AWGN信道

%---------------------------------------解调-------------------------------
data4=data3.*a1;

%---------------------------------------判决-------------------------------
out=zeros(1,length);
 
for i=1:length;
    aa(i)=sum(data4((i-1)*samp+1:i*samp));
   if aa(i)>0;
       out(i)=1;
   else out(i)=-1;
   end
end

%---------------------------------------画图-------------------------------
                                        %信源的信号
   
subplot(4,1,1);
x1=0+0.01:0.01:100;
plot(x1,data1);axis([0 100 -1.5 1.5]);title('原始信号波形');

                                        %画调制后的信号波形

subplot(4,1,2);
plot(x1,data2);axis([0 100 -1.5 1.5]);title('调制后的信号波形');
         
                                        %画经过高斯信道后的信号波形

subplot(4,1,3);
plot(x1,data3);title('经过高斯信道后的信号波形');

                                        %解调后的接受到的信号波形
                                    
subplot(4,1,4);
plot(x1,data4);title('解调后的信号波形');
% subplot(4,2,8);
% x2=0+1:1:100;
% stem(x2,out);axis([0 100 -1.5 1.5]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -