📄 sequence_spread.m
字号:
clear;
A = 3;
w0 = 1;
Lc = 20;
delay = [0,2,4,6];
amp = [1 1 0 0];
for snr_in_dB = 0:1:20
snr = 10^(snr_in_dB/10);
sgma = 1;
Eb = 2*sgma^2*snr;
E_chip = Eb/Lc;
N = 10000;
num_of_err = 0;
for i = 1:N
temp = rand;
if(temp<0.5)
data = -1;
else
data = 1;
end
for j = 1:Lc
repeated_data(j) = data;
end
for j = 1:Lc
temp =rand;
if(temp<0.5)
pn_seq(j) = -1;
else
pn_seq(j) = 1;
end
end
trans_sig = sqrt(E_chip)*repeated_data.*pn_seq;
Lc1 = Lc+max(delay);
noise = sgma*randn(1,Lc1);
n = (i-1)*Lc1 + 1:i*Lc1;
interference = A*sin(w0*n);
%多径信道%%
[signal_out] = multi_path(trans_sig,delay,amp);
trans_sig = signal_out;
pn_seq1 = [pn_seq,zeros(1,max(delay))];
%received signal%
rec_sig = trans_sig + noise + interference;
temp = rec_sig.* pn_seq1;
decision_variable = sum(temp);
% making decision
if (decision_variable < 0)
decision = -1;
else
decision = 1;
end
if(decision ~= data)
num_of_err = num_of_err + 1;
end
end
p(snr_in_dB +1) = num_of_err/N;
end
snr_in_dB = 0:1:20;
figure;
semilogy(snr_in_dB,p,'-*')
grid on;
% figure;
% plot(p,'*');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -