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

3.91667
3.9 | 13 ratings Rate this file 22 Downloads (last 30 days) File Size: 4.55 KB File ID: #9158 Version: 1.0

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

### Avetis Ioannisyan (view profile)

26 Nov 2005 (Updated )

Use this function to create Rayleigh fading channels

File Information
Description

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

Acknowledgements

This file inspired Rayleigh Fading Channel Signal Generator.

MATLAB release MATLAB 7.1.0 (R14SP3)

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.

Comment only
20 Nov 2009 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.

24 Dec 2008 Mohan

### Mohan (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);

Comment only

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

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

Comment only
05 Apr 2008 TOM ya
24 Jun 2007 goldwing joe

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

Comment only
17 May 2007 goldwing goldwing

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

Comment only
10 May 2007 zhe hu

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

23 Apr 2007 THINH TRAN GIA
23 Apr 2007 THINH TRAN GIA
28 Nov 2006 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.

Aydar.

Comment only
27 Nov 2006 Aydar Zimaliev

Looks very good! Thank you!

04 Sep 2006 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?

Comment only
01 Jun 2006 philip branch

Would be excellent if fm function worked :-)

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

24 Mar 2006 Miguel Gonzalez-Lopez

simple but very well done job!

06 Feb 2006 IM Chang

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

18 Jan 2006 wen wu

give errors when executed

05 Dec 2005 Leng Siew

Enlightening!

29 Nov 2005 Master Mind

Good Help!