?? st_coding.m
字號:
function st_coded = st_coding( mod_sym,N_Tx_ant,ST_Code)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 發送分集 , 2發或4發
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[N_subc,N_sym] = size(mod_sym);
% 如果有發送分集
if N_Tx_ant ~= 1
% 使用空時分組碼
if ST_Code == 1
st_coded = zeros(N_subc,N_sym, N_Tx_ant);
if (mod(N_sym,N_Tx_ant))
error('空時編碼器輸入符號不匹配,子程序st_coding出錯');
else
for n = 1:N_sym/N_Tx_ant
% 一次送入空時編碼器的OFDM符號有N_Tx_ant個
coded_tmp = stbc_code_TX( mod_sym( :,(n-1)*N_Tx_ant+1 : n*N_Tx_ant ) );
% coded_tmp的結構: 每列代表一條天線發出的數據,有N_Tx_ant*N_subc
% 個樣點, 而一共有N_Tx_ant列,代表不同天線的數據
% 轉化為結構:有 N_subc行, 代表不同時間OFDM符號的N_Tx_ant列,
% 矩陣第三維為N_Tx_ant個,代表不同天線的數據
for ant = 1:N_Tx_ant
tmp = reshape(coded_tmp(:,ant), N_subc, N_Tx_ant);
% 把調整后的符號塊,放在輸出符號的相應位置
st_coded(:, (n-1)*N_Tx_ant+1:n*N_Tx_ant ,ant) = tmp;
end
end
end
% 使用空時格碼
elseif ST_Code == 2
end
% 如果沒有發送分集
else
st_coded = mod_sym;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -