Bugzilla – Bug 1140
Possible error on the Jakes Model
Last modified: 2012-05-21 11:25:36 UTC
(first, we are not good at writing in English. Please consider this. Thank you) We have looked at the variable k in the code double JakesPropagationLossModel::PathCoefficients::GetLoss (void) to find the Jakes Model equation. Comparing with the Jakes Model in the books and papers, we figured out that the Jakes model described in the code is different from original model. In the papers, the Jakes model T(t) needs to satisfy E(TT*) = 1 (T* means complex conjugate of T) Based on this, and also based on the parameters described in the NS-3 code, we concluded that the variable k doesn't satisfy E(TT*) = 1 We think that, based on the model in the papers, the variable k needs to be changed by k * (m_nOscillators + (1/sqrt(2))) * 2 * sqrt(2 / N) in order to satisfy E(TT*) = 1 (N, m_nOscillators are in the source code) We thought that the variable k is equivalent to the Jakes model T(t), but let us know if that is not true or other context above is wrong or misunderstood. We hope to get a quick and positive response. Thank you for reading.
Thanks for this report While I know that there are references in the source code, can you nevertheless indicate to which book and which equations you are referring to? This is to avoid any ambiguity. Ruben
(In reply to comment #1) > Thanks for this report > > While I know that there are references in the source code, can you nevertheless > indicate to which book and which equations you are referring to? This is to > avoid any ambiguity. > > Ruben I didn't know there was the reply system in Bugzilla because it was first time using this.. Again sorry for the inconvenience. I'll write down my e-mail context below Thank you for the response. We referred from the paper below, Jakes fading model revisited P Dent, GE Bottomley… - Electronics Letters, 1993 - ieeexplore.ieee.org In this paper, they says that the equation E(T(t)T*(t)) = 1 needs to be satisfied while the variable k (which corresponds to T(t))in the source code doesn’t. We changed the source code and made the variable k to satisfy that equation. I'll describe the modified source code below, In the function JakesPropagationLossModel::PathCoefficients::GetLoss (void), There is a code double k = sqrt(pow(coef.real, 2)+pow(coef.imag,2)) / norm; If the value of variable 'norm' is sqrt(2) (constant), or simply if you change to double k = sqrt(pow(coef.real, 2)+pow(coef.imag,2)) / sqrt(2); Then the variable k satisfies that equation Sorry for the ambiguity. I hope this mail help you to determine that 'bug' is right or wrong. Thank you.
Thanks. I'm on it. Do you have some test code btw? Ruben
(In reply to comment #3) > Thanks. I'm on it. Do you have some test code btw? > Ruben I couldn't understand what the 'test code' means.. We just changed the code which I said before, and run with constant transmit power and derived E(TT*). I hope to get a positive response from you. Thank you for looking on that bug.
changeset: 8786:8f366d5eee06 user: Kirill Andreev <andreev@telum.ru> date: Mon May 21 19:15:32 2012 +0400 summary: Bug 1140: fixed. New Jakes model has been implemented.