📄 bpsk_ber_no_noise.m
字号:
%...assume the symbol T=1
clear all
close all
bit_in = randint(1e3, 1, [0 1]);
data_in=-2*bit_in+1;
t=(1:1:1e3);
figure(1)
subplot(5,1,1);stem(t,data_in);axis([0 20 -1 1]);title('基带源信号');grid on;
data_in1=repmat(data_in',20,1);%data_in'为data_in的共轭转置
for i=1:1e4
data_in2(i)=data_in1(i);
end;
t=0:0.1:1e3-0.1;
f=0:0.1:1;
xrc=0.5+0.5*cos(pi*f);
data_in2_rc=conv(data_in2,xrc)/5.5;%conv为计算data_in2(x)*xrc(x)乘积多项式data_in2_rc(x)的系数向量data_in2_rc
f1=1;
t1=0:0.1:1e3+0.9;
in_rc=data_in2_rc.*cos(2*pi*f1*t1);
subplot(5,1,2);plot(t1,data_in2_rc);axis([0 40 -3 3]);title('基带信号');grid on;
subplot(5,1,3);plot(data_in2);axis([0 4e2 -3 3]);title('基带信号');grid on;
subplot(5,1,4);plot(t1,in_rc);axis([0 4e1 -3 3]);title('PSK已调信号');grid on;
%%..demodulation
in_demo=in_rc.*cos(2*pi*f1*t1);
in_recover=conv(in_demo,xrc);
in=in_recover(11:10010);
t2=0:0.05:1e3-0.05;
t3=0:0.1:1e3-0.1;
data_recover=[];
ddd = -2*bit_in+1;
ddd1=repmat(ddd',10,1);%repmat为把ddd'重排成(10*1)的数组
for i=1:1e4
ddd2(i)=ddd1(i);
end
subplot(5,1,5);plot(t,ddd2);axis([0 20 -6 6]);title('解调后信号输出');grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -