资源简介
MIMO OFDM Simulator:
OFDM.m: OFDM Simulator (outer function)
create_channel.m: Generates a Rayleigh fading frequency-selective channel, parametrized by the antenna configuration, the OFDM configuration, and the power-delay profile.
svd_decompose_channel.m: Since full channel knowledge is assumed, transmission is across parallel singular value modes. This function decomposes the channel into these modes.
BitLoad.m: Apply the bit-loading algorithm to achieve the desired bit and energy allocation for the current channel instance.
ComputeSNR.m: Given the subcarrier gains, this simple function generates the SNR values of each channel (each singular value on each tone is a separate channel).
chow_algo.m: Apply Chow's algorithm to generate a particular bit and energy allocation.
EnergyTableInit.m: Given the SNR values, form a table of energy increments for each channel.
campello_algo.m: Apply Campello's algorithm to converge to the optimal bit and energy allocation for the given channel conditions.
ResolvetheLastBit.m: An optimal bit-loading of the last bit requires a unique optimization.
modulate.m: Modulate the random input sequence according to the bit allocations for each channel.
ENC2.mat: BPSK Modulator
ENC4.mat: 4-QAM Modulator (Gray coded)
ENC16.mat: 16-QAM Modulator (Gray coded)
ENC64.mat: 64-QAM Modulator (Gray coded)
ENC256.mat: 256-QAM Modulator (Gray coded)
precode.m: Precode the transmitted vector at each time instance by filtering the modulated vector with the right-inverse of the channel's right singluar matrix.
ifft_cp_tx_blk.m: IFFT block of the OFDM system.
channel.m: Apply the channel to the OFDM frame.
fft_cp_rx_blk.m: FFT block of the OFDM system.
shape.m: Complete the diagonalization of the channel by filtering the received vector with the left-inverse of the channel's left singular matrix.
demodulate.m: Perform a nearest neighbor search knowing the transmit constellation used.
代码片段和文件信息
function [transmit_signal training] = add_training(transmit_signalPrefixRatio...
N_subcN_used Idx_usedcp_len N_Tx_antN_tran_sym)
% 1024点FFT的前导序列
% 多条天线的训练序列(同步帧)各两个OFDM符号
training = zeros(N_subcN_tran_symN_Tx_ant);
% 产生伪随机序列,放在训练OFDM符号的导频位置.
PN_seq = mseq(10 [1 2 6 10] ones(110) N_Tx_ant*3);
PN_seq = 2*PN_seq - 1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 产生第1个训练OFDM符号
Repeat = 8; % 为保证在时域上重复Repeat次 在频域上两个有数据的子载波间插(Repeat-1)个零
for ant = 1:N_Tx_ant
real_part = PN_seq( (ant-1)*N_Tx_ant + 11:N_used/Repeat ); % 截取PN序列
imag_part = PN_seq( (ant-1)*N_Tx_ant + 21:N_used/Repeat );
tran_tmp1 = sqrt(Repeat/2) * ( real_part + j * imag_part );
tmp1 = [ tran_tmp1 ; zeros(Repeat-1N_used/Repeat) ];
tmp2 = reshape(tmp1 N_used 1);
tmp3 = [ tmp2(1:N_used/2) ; flipud(tmp2(N_used/2 + 1:end))];
training(Idx_used1ant) = tmp3;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 产生第2个训练OFDM符号 在偶数的子载波上放伪随机序列
Repeat = 2;
for ant = 1:N_Tx_ant
tran_tmp1 = PN_seq( 2*N_Tx_ant + ant1:N_used/Repeat ); % 截取PN序列
tmp1 = [ tran_tmp1 ; zeros(Repeat-1N_used/Repeat) ];
tmp2 = reshape(tmp1 N_used 1);
tmp3 = [ tmp2(1:N_used/2) ; flipud(tmp2(N_used/2 + 1:end))];
training(Idx_used2ant) = tmp3;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 产生时域训练序列
syn_frame = sqrt(N_subc) * ifft( fftshift( training 1 ) );
cp = syn_frame(N_subc - cp_len + 1:N_subc ::);
training_frame = [cp;syn_frame];
training_frame = reshape(training_frame[1 (N_subc + cp_len)*N_tran_sym N_Tx_ant]);
transmit_signal = [ training_frame transmit_signal ];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1908 2004-04-06 12:20 LTE\add_training.m
文件 6578 2009-07-27 12:34 LTE\adpt_mod_para.asv
文件 6578 2009-07-27 12:37 LTE\adpt_mod_para.m
文件 1386 2004-04-06 12:16 LTE\demodulator.m
文件 3027 2004-03-23 15:57 LTE\demodu_sym.m
文件 780 2009-07-28 11:44 LTE\gausnoise.m
文件 6062 2009-07-28 15:09 LTE\main.asv
文件 6094 2009-07-30 18:24 LTE\main.m
文件 2874 2009-07-27 22:24 LTE\modulator.asv
文件 2874 2009-07-27 22:27 LTE\modulator.m
文件 2138 2009-07-27 22:24 LTE\modu_sym.asv
文件 2138 2009-07-27 22:27 LTE\modu_sym.m
文件 1241 2004-04-05 13:36 LTE\mseq.m
文件 1102 2009-07-27 18:34 LTE\ofdm_demod.asv
文件 1123 2009-07-28 09:15 LTE\ofdm_demod.m
文件 1415 2009-07-27 22:14 LTE\ofdm_mod.asv
文件 1415 2009-07-27 22:18 LTE\ofdm_mod.m
文件 497 2009-07-28 15:25 LTE\performance_eval.m
文件 491 2009-07-27 18:05 LTE\pilot_insert.m
文件 1713109 2009-08-03 18:52 LTE\saved_data.mat
文件 1010 2009-07-27 22:49 LTE\stbc_code_TX.asv
文件 1010 2009-07-27 22:49 LTE\stbc_code_TX.m
文件 1303 2009-07-28 10:54 LTE\stbc_decode_TX2RX2.asv
文件 1305 2009-07-28 10:59 LTE\stbc_decode_TX2RX2.m
文件 1576 2009-07-27 22:49 LTE\st_coding.asv
文件 1576 2009-07-27 22:49 LTE\st_coding.m
文件 2755 2009-07-28 09:49 LTE\st_decoding.asv
文件 2818 2009-07-28 10:06 LTE\st_decoding.m
文件 1283 2009-07-27 11:23 LTE\user_bit_gen.m
目录 0 2009-08-03 18:59 LTE
............此处省略5个文件信息
- 上一篇:克里金插值matlab工具包加
- 下一篇:GPC广义预测控制matlab例程
评论
共有 条评论