⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 td_main0.m

📁 本算法是TD-SCDMA中初始同步捕捉DwPTS下行同步导频时隙的仿真
💻 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 + -