On Thu, Jun 2, 2011 at 3:10 AM, Usman Haider <usmanhaide...@gmail.com>wrote:

> Hi all,
>
> I am working on the OFDM in GnuRadio. After reading the code files and
> going through the presentation on the OFDM implementation I did understand
> most part of OFDM. But I still have few questions to ask:
>

It's been a long time since I've looked at these items, so my memory is a
bit fuzzy on these things. But here goes, anyway.



> 1)   how symbols_per_packet is calculated ? I know the following formula
>           symbols_per_packet = math.ceil(((4+options.size+4) * 8) /
> options.occupied_tones)
>       but why 4+4 ? why these 8 bytes are added to calculate the symbol per
> packet?
>       If these 8 bytes are for packet header and CRC32 ??
>

Yes, I believe you are correct. The extra 4 and 4 comes form the header and
CRC.


> 2)  Why 2 is added to following formula while calculating
> samples_per_packet ?
>           samples_per_packet = (symbols_per_packet+2) *
> (options.fft_length+options.  cp_length). If this 2 is for preamble symbols?
>
>

I think 1 is for the preamble and 1 is for that last packet.


> 3)  How many preamble symbols are inserted for one packet ? I think there
> is one preamble symbol for one packet ? right ?
>

Yes, 1 preamble that is split into 2 internal repetitions used for
correlation.


> 4)  What is the format of OFDM packet transmitted. I got the following idea
> after reading the code
>
>  
> ------------------------------------------------------------------------------------------------------------------
>       packet Head(4bytes)  | payload(option.size bytes)   | CRC32(4bytes)
>  | something extra(1byte)
>
>  
> --------------------------------------------------------------------------------------------------------------------
>       my question is what is the purpose of packet head ? And what is this
> * last byte* for ? I know this byte comes from the following code
>          pkt_dt = ''.join((payload_with_crc, '\x55'))
>          what is its purpose ??
>

I can't remember exactly. I think this had something to do with the USRP USB
transport issues, and we had to pad it out with this.


> 5)   I know from the source code that whitening is done in order to ensure
> transition in data. am I right? But what is effect of variable 
> "*whitener_offset"
> ?*it is set to 0.
>

It's like a seed value so that you aren't necessarily using the same
whitening coefficients all the time if you don't want to.


> 6)    Which thing really invokes the call to rx_callback() ?
>

It's used in gnuradio-core/sry/python/gnuradio/blks2impl/ofdm.py in the
ofdm_demod class. This sets up a "watcher" thread called
_queue_watcher_thread (line 279), which waits for a message to be appended
to the message queue. The message is appended in gr_ofdm_frame_sink when a
packet is received.  When the watcher thread gets the new message, it ships
it off to the callback function for processing.


> Thank you very much for precious time. waiting for your response
>
>
> Best Regards
> Usman
>


Hope this helps,
Tom
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to