-
大小: 1.65MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-08-31
- 語言: Matlab
- 標簽:
資源簡介
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的前導(dǎo)序列
%?多條天線的訓(xùn)練序列(同步幀)各兩個OFDM符號
training?=?zeros(N_subcN_tran_symN_Tx_ant);
%?產(chǎn)生偽隨機序列,放在訓(xùn)練OFDM符號的導(dǎo)頻位置.
PN_seq?=?mseq(10?[1?2?6?10]?ones(110)?N_Tx_ant*3);
PN_seq?=?2*PN_seq?-?1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?產(chǎn)生第1個訓(xùn)練OFDM符號
Repeat?=?8;?%?為保證在時域上重復(fù)Repeat次?在頻域上兩個有數(shù)據(jù)的子載波間插(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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?產(chǎn)生第2個訓(xùn)練OFDM符號?在偶數(shù)的子載波上放偽隨機序列
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?產(chǎn)生時域訓(xùn)練序列
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廣義預(yù)測控制matlab例程
評論
共有 條評論