Pilot symbols in ofdm

Hi

Looking at the ofdm receiver at ofdm_rx grc, I see that schmidl and cox
synchronisation algorithm uses sync1 and sync2 which are two ofdm
training
symbols that help in frequency offset correction and also timing
estimate
to detect the start of the packet.

Then there is channel estimator block in grc that again uses preamble
ofdm
symbol to detect coarse frequency offset. In the entire implementation
I
haven’t seen the use of pilot symbols in each ofdm symbol for either
channel estimation or synchronisation. So does that mean that if you are
using a packet structure with a preamble there is no need of pilots for
any
receiver processing.

I get this doubt because benchmark_rx.py which uses ofdm gives you a
terminal option saying occupied tones which can be set by user at
terminal.
So if you can set or increase occupied tones to any number less than fft
length, then that means you can be flexible with increasing or
decreasing
pilot symbols to a value that you want. Am I right?

On 11.06.2014 14:43, Karan T. wrote:

symbol for either channel estimation or synchronisation. So does that
mean that if you are using a packet structure with a preamble there is
no need of pilots for any receiver processing.

I get this doubt because benchmark_rx.py which uses ofdm gives you a
terminal option saying occupied tones which can be set by user at
terminal. So if you can set or increase occupied tones to any number
less than fft length, then that means you can be flexible with
increasing or decreasing pilot symbols to a value that you want. Am I right?

Yes, you can use zero pilot carriers. They are used in the
ofdm_frame_equalizer_vcvc, but our current implementations aren’t very
good. For longer frames, I recommend using pilot symbols (distributed in
time, not frequency!), but for short packets, the initial estimation is
sometimes enough, if your setup is two USRPs close to each other and you
have something like 10 OFDM symbols total.

M

Hi Martin,
Thanks for the reply. I would like to just clarify two
questions I have from your comment.

  1. In gnuradio packet structure , what is difference between frame and
    packet? I see that packet consists of preamble,header,payload and crc
    fields. But what does a frame mean. Is it the entire data that is sent
    from the transmitter which is then broken into packets or is it
    something
    else.

  2. what is the payload size in a packet. Like I think that every packet
    consists of a few ofdm symbols(maybe around 2 or 3 FFT length symbols)
    as a
    payload along with preamble, header and crc. Is the number of ofdm
    symbols
    to be sent as payload fixed or variable for a packet.

On Wed, Jun 11, 2014 at 7:07 PM, Martin B. [email protected]

On 11.06.2014 17:18, Karan T. wrote:

Hi Martin,
Thanks for the reply. I would like to just clarify two
questions I have from your comment.

  1. In gnuradio packet structure , what is difference between frame and
    packet? I see that packet consists of preamble,header,payload and crc
    fields. But what does a frame mean. Is it the entire data that is sent
    from the transmitter which is then broken into packets or is it
    something else.

I think they can be used interchangeably.

  1. what is the payload size in a packet. Like I think that every packet
    consists of a few ofdm symbols(maybe around 2 or 3 FFT length symbols)
    as a payload along with preamble, header and crc. Is the number of ofdm
    symbols to be sent as payload fixed or variable for a packet.

You set the length of the packet. The ofdm_tx hier block takes a tagged
stream as entry, and every streamed packet will be one OFDM packet.

M