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

📄 ofdm_mod.m

📁 OFDM的详细仿真代码
💻 M
字号:
function [transmit_signal, known_training] = ofdm_mod(st_coded,PrefixRatio,N_subc,N_sym,...
                            N_used,Idx_used,N_Tx_ant,N_tran_sym)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 实现OFDM的基本调制

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

transmit_signal = zeros(1,N_subc*N_sym*(1+PrefixRatio),N_Tx_ant);
cp_len = round(PrefixRatio*N_subc);

for ant = 1:N_Tx_ant
    % ifft乘sqrt(N_subc)以保证变换前后能量不变
    % 我们假设频域的样点是在[-fs/2  fs/2]中的, fs是采样频率
    % 使用fftshift函数目的是使得变换前的频域样点转换到[0 fs]中,以满足IFFT变换的要求
    ofdm_frame = sqrt(N_subc) * ifft( fftshift( st_coded(:,:,ant), 1 ) );
    cp = ofdm_frame(N_subc - cp_len + 1:N_subc ,:);
    ofdm_frame = [cp;ofdm_frame];
    % 加窗处理
    
    
    % 转换为串行信号
    transmit_signal(:,:,ant) = reshape( ofdm_frame, 1, N_subc*N_sym*(1+PrefixRatio) );    
    
end
   


% 加前导序列,两个OFDM符号,作为定时同步和信道估计使用
[transmit_signal, known_training] = add_training(transmit_signal,PrefixRatio,N_subc,N_used,...
                        Idx_used,cp_len,N_Tx_ant,N_tran_sym);


⌨️ 快捷键说明

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