I discovered a potential bug in the Rayleigh_Channel.
noise_var = 0.0;
norm_dopp = 50/3.84e6;
Nsamples = 38400;
When I run above code with fd=60Hz it works fine, i.e.
amplitude variations and phase rotation.
However, going down to 50Hz, all channel symbols will
be the same! (I also noticed that the border of
working/not working changes with Nsamples -> less
Nsamples requires higher doppler and vice versa).
Additionally, I tried to use Jake-filter generator:
However, this is not working at all, since it will exit with
*** Assertation failed in comm/channel.cpp on line 352:
Rayleigh_Channel::filter. Wrong size (channel.size() ==
which cannot be avoided since jakeinput and jfilttaps are
obviously of different size:
void Rayleigh_Channel::create_channel(int no_samples,
cvec jakeinput = randn_c((int)std::ceil(double
vec jfilttaps = jake_filter(normdopp*upsamp,jfiltord);
cvec jakeoutput = filter(to_cvec(jfilttaps),jakeinput);