get_channel_ir.m
来自「OFDM系统的仿真代码MATLAB环境下」· M 代码 · 共 30 行
M
30 行
function cir = get_channel_ir();
global sim_consts;
[n_tx_antennas, n_rx_antennas] = get_n_antennas();
n_channels = n_tx_antennas*n_rx_antennas;
if ~isempty(findstr(sim_consts.ChannelModel, 'ExponentialDecay'))
if sim_consts.ExpDecayTrms == 0
Kmax = 0;
vark = 1;
else
% Calculate the exponential decay envelope
Kmax = ceil( 10 * (sim_consts.ExpDecayTrms*(1e-9))*sim_consts.SampFreq);
var0 = (1 - exp( - 1/(sim_consts.SampFreq*(sim_consts.ExpDecayTrms*(1e-9))))) / ...
(1 - exp( -1*((Kmax+1)*sim_consts.SampFreq/(sim_consts.ExpDecayTrms*(1e-9)))));
k = (0:Kmax);
env = var0 * exp( - k/(sim_consts.SampFreq*(sim_consts.ExpDecayTrms*(1e-9))));
end
stdDevReOrIm = sqrt(env/2);
cir = repmat(stdDevReOrIm, n_channels,1) .* (randn(n_channels, Kmax+1) + j*randn(n_channels, Kmax+1));
elseif ~isempty(findstr(sim_consts.ChannelModel, 'AWGN'))
cir = ones(n_channels,1);
else
error('Undefined channel model');najiuhao
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?