to analyze whether you’re seeing attenuation, you should actually
compare the power of a un-faded and the faded version of a signal with a single QT sink. You can configure that sink to have two inputs. Your
dB-scaled FFT display hardly lends itself to comparing powers.
To test the fading model, you really should use noise from the GNU Radio
noise source and not what you receive with a USRP, because in normal
cases, what a USRP receives won’t be white, and hence is sub-optimal to
test a channel model.
Therefore, the testing setup I’d propose looks somewhat like [0].
according to the theory power should attenuate after applying fading.
Talking of the gr::channels::fading_model: It’s solely based on
flat_fader_impl[1], which, if I don’t misread the source, is really just
Clarke’s model of a Rayleigh channel[2], scaled. This will not give you
a strong attenuation on average. Rayleigh fading is based on the idea
that due to a large number of real-world scatterers, the channel impulse
response (which is a function) comes from a Gaussian process[3]; because
we consider complex channels, the amplitude (as the combination of
independent I and Q) is Rayleigh distributed.
Now, you’re right, at no point there can be more power coming out of the
channel than what went into it, so the maximum output of the channel is
the input power, and on average, the power will be less. However, the
statistical properties of the actual power of an actual channel depend
on the statistical properties of the the absolute path lengths –
something that a fading channel model itself doesn’t simulate, because
it only cares about the path /differences/.
Greetings,
Marcus
[0]
[0] GRC file also available:
[1]
[2] Since you’re after modeling RF channels a bit closer to the physical
medium: Have a look at Appendix A /p.992 of
Clarke, R.H., “A statistical theory of mobile-radio reception,” /Bell
System Technical Journal/ , vol.47, no.6, pp.957,1000, July-Aug. 1968
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6779222&isnumber=6779217
[3] Central limit theorem: a sum of independent, identically
distributed random variables follows a Gaussian distribution, no matter
what the distribution of the individual variable is, as long as the
number of variables is sufficiently large.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.