Hi Bastian,

I thought being a bit more thorough on the SOS method never harms ;-)

Aah, I got the point: alpha_n depends on theta and theta increases. I mixed it 
up and thought we were talking about psi and phi.

> It does not grow, but change over time. alpha_n depends on theta, which is 
> updated after each sample. Through theta, alpha_n is
> doing a random walk in the interval [- pi;  pi]  so that the term
>
> d_fDTs *sin(alpha_n)
>
> is a random walk through the Doppler spectrum.

Just to make it clear (to myself):
alpha_n changes randomly.
BUT: alpha_n depends on theta, which in turn does a random walk in the code

Bastian, you are right. In all the papers theta is a randomly chosen constant. 
And it should remain constant – at least for a certain time. After some time, 
the difference between actual process and intended process might run away such 
that a re-initialization might be appropriate. In this case you have to do 
something, which keeps the samples of previous calls continuous with the call 
using new parameters. By alternating the sign of the random variable, someone 
is trying to keep theta “in lanes”. Maybe the random walk of theta is an (I 
think inappropriate, because it does not work, because all other parameters get 
changed independently) way of achieving this.
In fact, the code should not use update_theta for every new output sample, 
because I fear that this makes successive samples non-continuous – and your 
iPython notebook backs this.
And theta should not saturate at +/- pi, either. I do not have a clue, where 
the step size is taken from. It is definitely not Table II in the Zajic/Stüber 
paper.

[…]

> "Efficient Simulation of Rayleigh Fading with Enhanced De-Correlation 
> Properties” by  Alenka G. Zajic  and Gordon L. Stüber
> http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1673098
> the authors refer to the paper, stating that:

Ahh, that is a very good reference. Actually I was searching for that in my 
literature database but did not find it again.

> "To improve on previously reported models, Zheng and Xiao proposed several 
> new statistical models [14]-[16]. By allowing all
> three parameter sets (amplitudes, phases, and Doppler frequencies) to be 
> random variables, Zheng and Xiao’s models obtain
> statistical properties similar to ones required by the reference model. 
> However, the models are no longer ergodic."
>
> To me it looks like the model was _fixed_ by introducing this random walk 
> that is supposed to make the model great ergodic
> again. I guess this follows some paper or book since the code mentions a table
> d_step( powf(0.00125*fDTs, 1.1) ),  // max step size approximated from Table 2

No, the model of Zajic/Stüber is ergodic. But yes, they fixed the previous 
model by choosing the parameters randomly – but constant over time and not 
updating for every sample. And Table II does definitely not refer to the one in 
their paper.

I try to summarize all the efforts

·         Use sin and cos in the factors for getting (almost) uncorrelated I 
and Q shares of the complex random variable

·         Introduce a random phase (but constant) argument into every 
cos(f_D*t) term in order to make the system WSS

·         In order to make the signals ergodic (ever draw of parameters has the 
equal statistics, which also yield uncorrelated processes) let sin(f_D*t) and 
cos(f_D*t) have different random (but constant) phases, but thake the cos/sin 
factors from identical angles of arrival

·         MEDS method produces WSS process of intended auto-correlation 
function, but introduces correlation between different random process.

·         The Zheng/Xiao model combines all previous advantages: still constant 
but different phases

·         The Zajic/Stüber model combines all previosu advantages, especially 
it has a random but constant phase (-> WSS), is ergodic, has uncorrelated I/Q 
and uncorrelated processes, while converging faster (requires smaller N).

=> In conclusion and because nobody remembers why this code was written like 
that, I vote for adapting the model to Zajic/Stüber by removing the 
update_theta function and their call (and then unused variables like d_step). 
Their implementation is one of the best-known ones.


Best regards

Stephan Ludwig

Communication Technology (CR/AEH4)
Robert Bosch GmbH | Renningen | 70465 Stuttgart | GERMANY | 
www.bosch.com<http://www.bosch.com>
Tel. +49(711)811-8809 | Mobile +49(172)5630639 | Fax +49(711)811-5187845 | 
stephan.ludw...@de.bosch.com<mailto:stephan.ludw...@de.bosch.com>

Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart, HRB 
14000;
Chairman of the Supervisory Board: Franz Fehrenbach; Managing Directors: Dr. 
Volkmar Denner,
Dr. Stefan Asenkerschbaumer, Dr. Rolf Bulander, Dr. Stefan Hartung, Dr. Markus 
Heyn, Dr. Dirk Hoheisel,
Christoph Kübel, Uwe Raschke, Dr. Werner Struth, Peter Tyroller



_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to