📄 bpsk_awgn.m
字号:
function data_dec = bpsk_awgn(data_pun, hard_soft, snr)
%bpsk modulation, awgn and 3 bit soft decision block
%data_pun is the data after puncturing
l = length(data_pun);
if hard_soft == 0 %hard decision
for i = 1 : l
if data_pun(i) == 0
temp1(i) = -1;
else temp1(i) = 1;
end
end
temp2 = awgn(temp1, snr, 0, 1234);
for i = 1 : l
if temp2(i) <= 0
data_dec(i) = 0 ;
else data_dec(i) = 1;
end
end
elseif hard_soft == 1 % 3 bit soft decision
for i = 1 : l
if data_pun(i) == 0
temp1(i) = -1;
else temp1(i) = 1;
end
end
temp2 = awgn(temp1, snr, 0);
for i = 1 : l
if temp2(i) <= -0.8571
data_dec(i) = 0;
elseif temp2(i) <= -0.5714
data_dec(i) = 1;
elseif temp2(i) <= -0.2857
data_dec(i) = 2;
elseif temp2(i) <= 0
data_dec(i) = 3;
elseif temp2(i) <= 0.2857
data_dec(i) = 4;
elseif temp2(i) <= 0.5714
data_dec(i) = 5;
elseif temp2(i) <= 0.8571
data_dec(i) = 6;
elseif temp2(i) > 0.8571
data_dec(i) = 7;
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -