📄 ifft_tx_mc.m
字号:
% *****************************************************% ifft_tx_multiuser.m%% Function to perform multiuser IFFT%% Programmed by SP.Feng%******************************************************function ofdm_symbol = ifft_tx_multiuserOpt(inputData,num_user,num_data,num_subc,guard_interval)%------------------------------------------------------------% IFFT and Circular Prefix Addition Block for Transmitter% -------------------------------------------------------% % Inputs : % inpuptData : Input Symbol from all the Subcarriers% num_subc : Number of Subcarriers% num_user : Number of Users% guard_interval : Guard Interval based on OFDM Symbol % Outputs : % ofdm symbol : Output of IFFT and Guard Interval% -----------------------------------------------------------inp_symbol = reshape(inputData.',8,num_data/8);% ofdm_symbol_multiuser = zeros(num_data/8,num_subc + guard_interval,num_user);pad_zero = [];for p=2:num_user pad_zero = [pad_zero zeros(num_data/8,8)];endinp_symbol1 = inp_symbol.';inp_symbol2 = [pad_zero inp_symbol1]; ofdm_symbol = [];for i=1:(num_data/8) ofdm_symbol = [ofdm_symbol;ifft(inp_symbol2(i,:),num_subc)]; if (guard_interval > length(ofdm_symbol)) error(' The guard interval is greater than the ofdm symbol duration '); end% The guard symbol is the copy of the end of the ofdm symbol to the beginning% of the ofdm symbol. guard_symbol(i,:) = ofdm_symbol(i,end-guard_interval+1:end);% Add the cyclic prefix to the ofdm symbol end ofdm_symbol = [guard_symbol ofdm_symbol];% ofdm_symbol_multiuser(:,:,p) = ofdm_symbol; % end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -