rayleigh.m

来自「《Wireless Communications and Networking》」· M 代码 · 共 38 行

M
38
字号
%The function rayleigh returns a correlated rayleigh random variates by Inverse Discrete%Fourier Transform.  %Inputs : fm   - the maximum Doppler frequency normalized by the sampling rate%         N    - the number of samples%         std  - standard deviation for the two zero mean Gaussian variates.%Outputs : Zn  - Baseband rayleigh fading sequence %          var_r - variance of the rayleigh fading sequence.function [Zn, var_r] = Rayleigh(fm, N, std)A = std*randn(1, N);B = std*randn(1, N);km = floor(fm*N);Fk(1) = 0;for i = 2:km  Fk(i) = sqrt(1/(2*sqrt(1-((i-1)/(N*fm))^2)));endFk(km+1) = sqrt(km/2*(pi/2-atan((km-1)/sqrt(2*km-1))));for i = km+2:N-km  Fk(i) = 0;endFk(N-km+1) = sqrt(km/2*(pi/2-atan((km-1)/sqrt(2*km-1))));for i = N-km+2:N  Fk(i) = sqrt(1/(2*sqrt(1-((N-(i-1))/(N*fm))^2)));endtemp = 0;for k = 1:N   Z(k) = A(k).*Fk(k) - j*B(k).*Fk(k);   temp = temp + (Fk(k)/N)^2;endvar_r = 1/2;Zn = ifft(Z)/std/sqrt(2*temp);return;

⌨️ 快捷键说明

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