📄 利用积分法实现bpsk解调.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%demodulate 解调子程序 利用积分法实现BPSK解调
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [demodulate_seq]=demodulate_seq(connections_1,begin_state_1,connections_2,begin_state_2)
echo on
modulate_seq=modulate_seq(connections_1,begin_state_1,connections_2,begin_state_2) ;
A=length(modulate_seq);
A1=A/30;
receive_seq=zeros(1,A);
receive_seq=modulate_seq;
d_sample_value=[0 0.5 0.5 0 -0.5 -0.5 0 0.5 0.5 0 -0.5 -0.5 0 0.5 0.5 0 -0.5 -0.5 0 0.5 0.5 0 -0.5 -0.5 0 0.5 0.5 0 -0.5 -0.5];
d=d_sample_value';
B=length(d_sample_value);
demodulate_seq=zeros(1,A1);
modulate=zeros(1,B);
for i=1:A1
modulate=receive_seq(1,(i-1)*30+1:(i-1)*30+B);
sum=0;
sum= modulate*d;
if sum>0 %设定门限
demodulate_seq (i)=1;
elseif sum<0
demodulate_seq (i)=-1;
end
end
t=1:69192;
stairs(t,demodulate_seq);axis([0,69195,-2,2]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -