in such a case, linking to the original file [1] including line number
might be more helpful, as it gives more context.
So, looking at this, it’s taking the delayed input samples and copies
them (offset-corrected) to the output, considering parts of the samples,
x = ignore, o = copy, starting at the frame start:
I’m not too familiar with 802.11p frames, but that looks like Basti’s
leaving out some pilots in between the data, probably only copying the
preamble and data payload. But I could be wrong.
So, looking at this, it’s taking the delayed input samples and copies them
(offset-corrected) to the output, considering parts of the samples,
x = ignore, o = copy, starting at the frame start:
Exactly, its to remove the cyclic prefix (remove the first 16 samples of
every 80 samples). Unfortunately, the first 128 samples (the long
training sequence) dont fit into the same scheme. Therefore the special
case here.
Best,
Bastian
but I have no idea what are roles of these things in implementation.
Is this because of a length of an OFDM signal being a multiple of 64, which is
the number of subcarriers? (Except cyclic prefix)
Yes, the next step is the FFT that works on blocks of 64 samples. The
line you quoted is executed when a new frame is about to start. It’s to
ensure that the new frame starts at a multiple of 64 samples.
Best,
Bastian
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.