?? cell_search_cpich.m
字號:
function y = cell_search_cpich(x, code_number);
% 用于WCDMA小區(qū)搜索的第三步,主擾碼搜尋,函數(shù)返回主擾碼的碼號
% code_number的值為[0,63];
if(code_number > 63 || code_number<0)
error('基本擾碼組的編號介于[0,63],請重新輸入');
end
lenframe = 2;
x_data=x(1:38400*lenframe);%取出兩幀數(shù)據(jù)已足夠
value = zeros(1, 8); %記錄8路并行的累加器
% 調(diào)用8路擾碼
t = [1:8];
yn = code_number*128 + (t-1)*16; %計算碼組中的主擾碼號
scramb1 = scramble(yn(1), lenframe);
scramb2 = scramble(yn(2), lenframe);
scramb3 = scramble(yn(3), lenframe);
scramb4 = scramble(yn(4), lenframe);
scramb5 = scramble(yn(5), lenframe);
scramb6 = scramble(yn(6), lenframe);
scramb7 = scramble(yn(7), lenframe);
scramb8 = scramble(yn(8), lenframe);
% 解擾
descramb1 = x_data.*conj(scramb1);
descramb2 = x_data.*conj(scramb2);
descramb3 = x_data.*conj(scramb3);
descramb4 = x_data.*conj(scramb4);
descramb5 = x_data.*conj(scramb5);
descramb6 = x_data.*conj(scramb6);
descramb7 = x_data.*conj(scramb7);
descramb8 = x_data.*conj(scramb8);
%累加
for i1=1:38400*lenframe
value(1,1) = value(1,1) + descramb1(i1);
value(1,2) = value(1,2) + descramb2(i1);
value(1,3) = value(1,3) + descramb3(i1);
value(1,4) = value(1,4) + descramb4(i1);
value(1,5) = value(1,5) + descramb5(i1);
value(1,6) = value(1,6) + descramb6(i1);
value(1,7) = value(1,7) + descramb7(i1);
value(1,8) = value(1,8) + descramb8(i1);
end
% 判決,并輸出主繞碼
[p_v, p_num] = max(abs(value));
% 返回擾碼組號
y = code_number*128 + (p_num-1)*16;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -