File Exchange

image thumbnail

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

10 Downloads

Updated

No License

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

Comments and Ratings (20)

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.
Thnx in advance

Abdul Hafeez

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

Mohan (view profile)

alieh moradi

 ??? Undefined function or method 'fm' for input arguments of type 'double'.
 
 Error in ==> ai_RayCh at 62
omega_m = (2*pi) * fm(Velocity, carrierFreq);

Miguel granados

??? 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

Inspired: Rayleigh Fading Channel Signal Generator

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

» Watch video