📄 td_main0.m
字号:
clear;
% Define SYNC-DL code
SyncDL_Table = [ ...
'B3A7CC05A98688E4'; % Code 0
'9D559BD290606791'; % Code 1
'2CE7BA12A017C3A2'; % Code 2
'34511D20672F4712'; % Code 3
'9A772841474603F2'; % Code 4
'9109B1A5CE01F228'; % Code 5
'8FD429B3594501C0'; % Code 6
'25251354AA3F8C19'; % Code 7
'C9A3B8E0C043EA56'; % Code 8
'BA04B888E5BC1802'; % Code 9
'A735354299370207'; % Code 10
'74C3C8DA4415AE51'; % Code 11
'F4FD0458A0124663'; % Code 12
'A011D4E16C3D6064'; % Code 13
'BDA0661B0CAA8C68'; % Code 14
'8E31123F28928698'; % Code 15
'F095C1632E2906AB'; % Code 16
'B60B4A8A664071CF'; % Code 17
'AA094DCCE91E041A'; % Code 18
'C0C31CDA8A256807'; % Code 19
'D516964FB18C1890'; % Code 20
'30DE01834F4AACCE'; % Code 21
'8F700323BA5CAD34'; % Code 22
'1B50F4DEE0C1380C'; % Code 23
'443382164F56F2D1'; % Code 24
'E1E4005D49B846B4'; % Code 25
'040A97165330BFAA'; % Code 26
'C48E26881693AD78'; % Code 27
'D4354B2FE02361CC'; % Code 28
'5383AB6C8A10CE84'; % Code 29
'D417A730F2F12244'; % Code 30
'ABF0A0D905A939C4' % Code 31
];
SNR_dB =10;
%SNR_dB = [-10 -8 -6 -4 -2 0 2 4 6 8 10];
for SNR_C = 1:length(SNR_dB);
W = 128;
Wm = 64;
Wk = 32;
Ws = 16;
Position = 1;
Counter_correct = 0;
Counter_error = 0;
SyncDL_Code = Char2Vec(SyncDL_Table);
for counter = 1:5;
Mux_Data = zeros(1,6400);
Mux_Data(897 : 960) = SyncDL_Code(1,:);
Mux_Data(1 : 848) = 2*randint(1,848) - 1;%Ts0
Mux_Data(1217 : end) = 2*randint(1,length(Mux_Data)-1216) - 1;%Ts1~Ts6
Mux_Data(1057 : 1184) = 2*randint(1,128) - 1;%UPPCH
Noise(1 : 6400) = randn(1, 6400) * (1/(10 ^ (SNR_dB(SNR_C) / 20)));
Mux_Data = Mux_Data + Noise; %AWGN
subplot(2,1,1);
plot(Mux_Data);
for i = 1:(6400-W)
A(i) = sum(Mux_Data(i:(i+Wk)).^2) + sum(Mux_Data((i+W-Wk):(i+W)).^2);
B(i) = sum(Mux_Data((i+Wk):(i+Wk+Wm)).^2);
K(i) = A(i)/B(i);
end
subplot(2,1,2);
plot(K);
[Kv Position] = min(K);
if(abs(865 - Position)<= Ws)
Counter_correct = Counter_correct + 1;
else
Counter_error = Counter_error + 1;
end
%Counter_correct
%Counter_error
end
disp(['SNR =' num2str(SNR_dB(SNR_C)) 'dB: ' ...
'捕获概率 = ' num2str(Counter_correct/(Counter_correct+Counter_error))] ...
);
end
end
Counter_correct
Counter_error
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -