📄 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 + -