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

📄 time_channel_para2.m

📁 OFDM的详细仿真代码
💻 M
字号:
function h_time = time_channel_para( ch, N_Tx_ant, N_Rx_ant,N_sym, T_sym, fs, N_subc, PrefixRatio,N_frame,frame)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 得到时域信道的参数

% 时域信道响应h_time的安排如下:
% 1) 一行为一条径的信道参数, 每个OFDM符号一个参数, 要乘以功率衰减因子,共N_sym个
% 2) 不同行表示不同径的信道参数, 不同径之间的参数独立, 共N_path个
% 3) 矩阵第三维表示不同天线对之间的信道参数, 不同天线之间的参数独立,共N_Tx_ant * N_Rx_ant个
% 其顺序为: 第1条发送天线和第1条接收天线(1-->1)的信道, 1-->2,...,1-->N_Rx_ant, ...,
% N_Tx_ant-->1, N_Tx_ant-->2, ..., N_Tx_ant-->N_Rx_ant.
% 4) 不同cell结构体表示不同用户的信道参数, 其参数独立
% 5) 不同数据包/帧间的信道参数也独立


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

N_ant_pair = N_Tx_ant * N_Rx_ant;
Sym_sample = N_subc * (1 + PrefixRatio);
h_time = zeros(ch.N_path , N_sym + 2 , N_ant_pair);


for ant = 1:N_ant_pair
    for p = 1:ch.N_path    
        if ch.fd <= 5       % 多普勒频移很小,一条径的数据可以使用相同的瑞利衰落系数
            fading_path = repmat(( randn(1,1) + j*randn(1,1) )/sqrt(2) ,1 , N_sym + 2 );   
        else    
        % 每条径的瑞利衰落系数
            fading_path = fading_jakes((ant-1)*coherent_time + (p-1)*coherent_time + (frame-1)*coherent_time + 1: ...
                                (ant-1)*coherent_time + (p-1)*coherent_time + (frame-1)*coherent_time + (N_sym + 2) );
            
        % 每条径加随机相位               
            fading_path =  fading_path * exp( j*2*pi*rand(1,1) );              
        end            
        % 把每条径的幅度乘上瑞利衰落序列
        path_tmp =  sqrt(ch.Power(p)) * fading_path;
        h_time(p,:,ant) = path_tmp ;
        
    end
end



    

⌨️ 快捷键说明

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