I have a signal generated in matlab, with Rayleigh Fading, how can I add a given type of Doppler spectrum ( Gaussian for instance) to that signal ?

Any help will be really appreciated

  • $\begingroup$ "What is it" is a different question than "How can I add it". Which one are you interested in? $\endgroup$ – A_A Mar 4 at 10:02

When we talk about Doppler, we typically refer to time-varying systems.

A popular model in system theory is to assume systems to be LTI (linear time-invariant). This means that beside being linear, their input-output transformation does not change in time, it does not matter when we apply a certain input signal $x(t)$, we'll always get the same $y(t)$. Such systems are completely characterized by an impulse response $h(\tau)$ which specifies exactly this transformation: $y(t) = h(t) * x(t)$, where $*$ denotes convolution.

In practice, this assumption is often not true. Wireless communications are a good example. While the channel is typically (approximately) linear, its characteristics change in time, e.g., due to movement of transmitter, receiver or interacting objects such as cars, trees, people, etc. For this reason, we need to extend the impulse response by another time variable that tracks the change of $h(\tau)$ in time. We often simply write $h(\tau,t)$. It may seem weird to have two time variables but there is solid theory behind this. As an engineering perspective, we can think of $\tau$ as the "fast time" (at which signals travel, orders of $\mu$s) and $t$ as the "slow time" (at which the channel changes, order of ms) and treat them more or less as independent.

The rate at which the channel changes is called Doppler frequency, say $\alpha$. Mathematically we can think of it as the Fourier transform of the time variable $t$. Given that we have two time variables and we can Fourier both of them, this leads to four possible representations of the input-output relation: $h(\tau,t)$ (time-varying impulse response), $H(f,t)$ (time-varying transfer function), $h(\tau,\alpha)$ (Delay-Doppler spread function), and $H(f,\alpha)$ (name it as you like). They are also referred to as the (first set of) Bello functions to drop a keyword for further reading.

Since this is the title of your question: the Doppler spectrum measures how much power is associated to a certain Doppler frequency, it is the power spectral density of $h(\tau,t)$ over the time variable $t$.

Regarding the implementation of a certain Doppler spectrum into your simulations: in general what you would do is to generate the channels for different time points independently and then add a filter over time that introduces the proper amount of correlation. If you're using Matlab, have a look at [MATLAB Fading channel page], it explains it quite well.

| improve this answer | |
  • $\begingroup$ So if I've understood your answer a Gaussian Dopler Spectra consists of having $(h(\tau)$ being a random gaussian for every $\tau$ ($\tau$ being the short term variation variable) $\endgroup$ – Abby_DSP Mar 4 at 10:34
  • $\begingroup$ I don't think it makes a lot of sense to consider a Doppler spectrum to have a Gaussian shape. A typical model is the Jakes model, where the Doppler spectrum turns out to have a "bathtub" shape $\endgroup$ – Florian Mar 4 at 10:37
  • $\begingroup$ for instance, the HF ionospheric channel have a model is bi-gaussian Doppler spectrum $\endgroup$ – Abby_DSP Mar 4 at 12:25
  • $\begingroup$ Alright, well, in this case what you need to do is to find a filter that, applied to white noise, will yield the power spectrum you are given. I believe spectral factorization is the keyword to look for. But I'm not an expert in this. $\endgroup$ – Florian Mar 4 at 13:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.