tap_rayleigh_jakes.m

来自「OFDM的详细仿真代码」· M 代码 · 共 36 行

M
36
字号
function r = Tap_Rayleigh_Jakes(fd,deltaT,Ns)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%使用Jakes方法产生单径Rayleigh衰落信道

% 输入:
%   fd , 多普勒频移
%   deltaT , 样值之间的时间间隔
%   Ns , 输出瑞利样值序列的长度
%
% 输出:
%   r  ,Ns长的瑞利样值序列,加入多普勒频移
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

No = 16;%进行叠加的载波路数,No的值越大越好,一般No取到8即可
N = 2*(2*No+1);%要求N/2是奇数
Eo = 1;

Wm = 2*pi*fd;
Wn = Wm*cos(2*pi*[1:No]/N);
phi = pi*[1:No]/(No+1);                

% 时间长度Ns*deltaT,间隔deltaT
t = [1:1:Ns].*deltaT;
r = zeros(1,Ns);
for n = 1:No
    % No路同相和正交数据叠加
    r = r+cos(Wn(n)*t)*exp(j*phi(n));
end

r = (Eo/sqrt(2*No+1))*(2*r+sqrt(2)*cos(Wm.*t));

%归一化
r = r/sqrt(mean(r.*conj(r)));

⌨️ 快捷键说明

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