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

📄 tx_diversity3.m

📁 MIMO-OFDM 信道的自适应仿真程序
💻 M
字号:
%用于4*4天线情况
%2005年5月11日修改

function syms_out = tx_diversity2(symbols)%需要修改

%if sim_options.UseTxDiv
   % Radon-Hurwitz or Alamouti tx diversity
%symbols
num_symbols = length(symbols);

ant1_syms = zeros(1, 2*num_symbols);
ant2_syms = zeros(1, 2*num_symbols);
ant3_syms = zeros(1, 2*num_symbols);
ant4_syms = zeros(1, 2*num_symbols);

% unchanged symbols
ant1_syms(:,1:8:2*num_symbols) = symbols(:,1:4:num_symbols);
ant2_syms(:,1:8:2*num_symbols) = symbols(:,2:4:num_symbols);
ant3_syms(:,1:8:2*num_symbols) = symbols(:,3:4:num_symbols);
ant4_syms(:,1:8:2*num_symbols) = symbols(:,4:4:num_symbols);

ant1_syms(:,2:8:2*num_symbols) = -symbols(:,2:4:num_symbols);
ant2_syms(:,2:8:2*num_symbols) = symbols(:,1:4:num_symbols);
ant3_syms(:,2:8:2*num_symbols) = -symbols(:,4:4:num_symbols);
ant4_syms(:,2:8:2*num_symbols) = symbols(:,3:4:num_symbols);

ant1_syms(:,3:8:2*num_symbols) = -symbols(:,3:4:num_symbols);
ant2_syms(:,3:8:2*num_symbols) = symbols(:,4:4:num_symbols);
ant3_syms(:,3:8:2*num_symbols) = symbols(:,1:4:num_symbols);
ant4_syms(:,3:8:2*num_symbols) = -symbols(:,2:4:num_symbols);

ant1_syms(:,4:8:2*num_symbols) = -symbols(:,4:4:num_symbols);
ant2_syms(:,4:8:2*num_symbols) = -symbols(:,3:4:num_symbols);
ant3_syms(:,4:8:2*num_symbols) = symbols(:,2:4:num_symbols);
ant4_syms(:,4:8:2*num_symbols) = symbols(:,1:4:num_symbols);

% transformed symbols
ant1_syms(:,5:8:2*num_symbols) = conj(symbols(:,1:4:num_symbols));
ant2_syms(:,5:8:2*num_symbols) = conj(symbols(:,2:4:num_symbols));
ant3_syms(:,5:8:2*num_symbols) = conj(symbols(:,3:4:num_symbols));
ant4_syms(:,5:8:2*num_symbols) = conj(symbols(:,4:4:num_symbols));

ant1_syms(:,6:8:2*num_symbols) = -conj(symbols(:,2:4:num_symbols));
ant2_syms(:,6:8:2*num_symbols) = conj(symbols(:,1:4:num_symbols));
ant3_syms(:,6:8:2*num_symbols) = -conj(symbols(:,4:4:num_symbols));
ant4_syms(:,6:8:2*num_symbols) = conj(symbols(:,3:4:num_symbols));

ant1_syms(:,7:8:2*num_symbols) = -conj(symbols(:,3:4:num_symbols));
ant2_syms(:,7:8:2*num_symbols) = conj(symbols(:,4:4:num_symbols));
ant3_syms(:,7:8:2*num_symbols) = conj(symbols(:,1:4:num_symbols));
ant4_syms(:,7:8:2*num_symbols) = -conj(symbols(:,2:4:num_symbols));

ant1_syms(:,8:8:2*num_symbols) = -conj(symbols(:,4:4:num_symbols));
ant2_syms(:,8:8:2*num_symbols) = -conj(symbols(:,3:4:num_symbols));
ant3_syms(:,8:8:2*num_symbols) = conj(symbols(:,2:4:num_symbols));
ant4_syms(:,8:8:2*num_symbols) = conj(symbols(:,1:4:num_symbols));


syms_out = zeros(4, 2*length(symbols));

syms_out(1,:) = ant1_syms(:).';
syms_out(2,:) = ant2_syms(:).';
syms_out(3,:) = ant3_syms(:).';
syms_out(4,:) = ant4_syms(:).';


   
   %else
   % No diversity
   %div_ofdm_syms = ofdm_symbols;
   %end
clear num_symbols
clear ant1_syms
clear ant2_syms

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -