File Exchange

## Rayleigh Fading Channel Signal Generator Using the Dent Model (a modification to the Jakes Model)

version 1.0 (4.55 KB) by

Use this function to create Rayleigh fading channels

3.91667
13 Ratings

Updated

Dent Rayleigh model is similar to Jakes but uses Hadamard function in MATLAB to make the oscillators (somewhat) independent and thus provide results that are a little more realistic than the Jakes model.

For more details, please read IEEE paper by Wu Z. from 2004 (Electronics Letters, Volume: 40, Issue: 15) that covers the statistical performance of several models, including the Dent. In this paper Wu proposes his own model which is even better than the Dent.

Function Usage Example:
[omega_mTau, Tk] =
RayCh(2^7, 2^18, 64, 2, 900, 100)

where

NumAngles=2^7,
Length=2^18,
symbolRate=64,
NumWaveforms=2,
carrierFreq=900,
Velocity=100

I have created this function for my own purpose, specifically for the use in my OFDM channel estimation model. It may not be as generic as you require, so some tweaking may be necessary. For example, the for() loops can be improved using Matlab vectorization - this is left as an exercise for the reader.

~avetis

### Mohammad Al-Jarrah (view profile)

Dear Sir;
Please if you could help me, how to simulate clarke's channel model in Matlab.
Using the instantaneous correlation
E[ h[n] h*[n+l] ]=j0(2 pi Fd T);
where j0 is the first kind bessel function with order zero.

Abdul Hafeez

### Abdul Hafeez (view profile)

well first of all in the code when we use frequency as 900 then it is 900 MHz, so multiply 10^6 when you input it. Secondly velocity is also 100 km/hr whereas the other things are in standard units. So, also multiply 1000/3600, then this will be converted to m/s. Last but not the least. Everybody is facing an error at

omega_m = (2*pi) * fm(Velocity, carrierFreq);

the error is on fm. Actually, fm is a maximum frequency and the formula of fm is (fm = CarrierFreq*Velocity/c = 3*10^8). Now our new formula will be

omega_m = (2*pi) * fm; (fm calculation is explained above)

Now, the programme is perfectly running. Anyways nice effort by Avetis Ioannisyan who did this effort.

Mohan

### alieh moradi (view profile)

??? Undefined function or method 'fm' for input arguments of type 'double'.

Error in ==> ai_RayCh at 62
omega_m = (2*pi) * fm(Velocity, carrierFreq);

??? Undefined function or method 'fm' for input arguments of type 'double'.

Error in ==> ai_RayCh at 62
omega_m = (2*pi) * fm(Velocity, carrierFreq);

TOM ya

goldwing joe

when executes this error appear
" Undefined command/function 'Dent' "
..what should i do? Anyone?

goldwing goldwing

how can i get fast rayleigh fading channel in simple matlab program?

zhe hu

when run it
error as : undefine function fm
where function fm defined??

THINH TRAN GIA

THINH TRAN GIA

Aydar Zimaliev

In the description you mentioned a paper "EEE paper by Wu Z. from 2004 (Electronics Letters, Volume: 40, Issue: 15) that covers the statistical performance of several models, including the Dent". I searched with google and what i came up with is ieeexplore.ieee.org site trying to sell the paper for 35\$.

Please, if you still have this paper could sent it to me? I would appreciate that.

Thank you in advance,
Aydar.

Aydar Zimaliev

Looks very good! Thank you!

Jimin Liu

In Line 89, 'term1 = Ak(NumWaveforms,i);' must be ;term1 = Ak(q,i);'. The reason is that in Dent model, the first term is Ak(n), k is the index of waveform.

Any questions?

philip branch

Would be excellent if fm function worked :-)

Can be fixed fairly easily by fm = fc*v/c

Miguel Gonzalez-Lopez

simple but very well done job!

IM Chang

how tod use a function fm(Velocity, carrierFreq).
When I excute this file, occur error beacuse of function fm..

wen wu

give errors when executed

Leng Siew

Enlightening!

Master Mind

Good Help!

##### MATLAB Release
MATLAB 7.1.0 (R14SP3)
##### Acknowledgements

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

Play today