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

📄 channel.m

📁 信道描述
💻 M
字号:
% AWGN generation
% programmed by Yang Tiejun

function receiver_signal=channel(transmit_signal,cir,SimulationParameters,EbN0)


n_rx_antennas = SimulationParameters.Rxdiv;
n_tx_antennas = SimulationParameters.Txdiv;
rx_signal = zeros(n_rx_antennas, size(transmit_signal,2)+size(cir,2)-1);
for rx_ant = 1:n_rx_antennas
    for tx_ant = 1:n_tx_antennas
        rx_signal(rx_ant,:) = rx_signal(rx_ant,:) + ...
            conv(transmit_signal(tx_ant,:), cir((rx_ant-1)*n_tx_antennas+tx_ant,:));
    end
end



% symbol power normalized
bit_per_symbol = get_bit_per_symbol(SimulationParameters);
% 1/(fftlen/datacarrier)/datacarrier
signal_power = 2/SimulationParameters.FFTlen;
noise_var = signal_power/(10^(EbN0/10))/2/bit_per_symbol;
noise = sqrt(noise_var) * (randn(n_rx_antennas, size(rx_signal,2)) + j*randn(n_rx_antennas, size(rx_signal,2)));
receiver_signal=rx_signal+noise;


% Jake's channel Model,fading
% function R = fading_Jakes(fs, fm, multiPath, len)
% Jakes flat rayleigh fading model
% author: CC. address: xidian university, xi'an, China.
% 2002/07/06
% t = [0:1/fs:(len-1)/fs];
% N = 8; L = 4*N+2;
% wm = 2*pi*fm;
% alfa = pi/4;
% alfa = 0;
% if multiPath == 1
% generate one path fading signal
% xc = 0; xs = 0;
% for k = 1:N
% wn = wm*cos(2*pi*k/L);
% betan = pi*k/N;
% betan = pi*k/(N+1);
% xc = xc + 2*cos(betan)*cos(wn*t);
% xs = xs + 2*sin(betan)*cos(wn*t);
% end
% xc = xc + sqrt(2)*cos(alfa)*cos(wm*t);
% xs = xs + sqrt(2)*sin(alfa)*cos(wm*t);
% 
% R = xc + sqrt(-1)*xs;
% R = R/sqrt(sig_power(R)); normalized power = 1
% R = R(:);
% 
% else
% generate multiPath paths fading signal
% R = [];
% for j = 1:multiPath
% xc = 0; xs = 0;
% for k = 1:N
% wn = wm*cos(2*pi*k/L);
% betan = pi*k/(N+1);
% betan = pi*k/N;
% rn = 2*pi*(j-1)/(N+1);
% thetan = betan + rn;
% 
% xc = xc + 2*cos(betan/2)*cos(wn*t+thetan);
% xs = xs + 2*sin(betan/2)*cos(wn*t+thetan);
% xc = xc + 2*cos(betan)*cos(wn*t+thetan);
% xs = xs + 2*sin(betan)*cos(wn*t+thetan);
% end
% 
% xc = xc + sqrt(2)*cos(alfa)*cos(wm*t);
% xs = xs + sqrt(2)*sin(alfa)*cos(wm*t);
% tm = xc + sqrt(-1)*xs; tm = tm/sqrt(sig_power(tm));
% R = [R tm(:)];
% end
% end 


⌨️ 快捷键说明

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