I think this email exchange contains good documentation for (part of) the
OFDM example. Maybe we could put it in a README file, and upload it to the
OFDM directory? Or insert these as comments at the respective lines of code?

Kunal


On Thu, Jun 2, 2011 at 5:01 PM, Tom Rondeau <[email protected]> wrote:

> On Thu, Jun 2, 2011 at 12:00 PM, Usman Haider <[email protected]>wrote:
>
>> Hi Tom
>> Thanks a lot. Yes, that did help me :). One more question: what is the
>> purpose of probe at the end of OFDM chain?
>>
>> alpha=0.001
>> thresh=30 #in dB
>> self.probe = gr.probe_avg_mag_sqrd_c(thresh,alpha)
>> self.connect(self.ofdm_rx, self.probe)
>>
>> I do understand that probe computes the " running average of the magnitude
>> squared of the the input", but I am not getting its purpose at the end of
>> the chain.
>>
>> Best Regards
>> Usman
>
>
>
> That was just used as an indicator or the received signal strength but
> doesn't really serve much of a purpose.
>
> Tom
>
>
>
>>
>> On Thu, Jun 2, 2011 at 7:03 PM, Tom Rondeau <[email protected]>wrote:
>>
>>> On Thu, Jun 2, 2011 at 3:10 AM, Usman Haider <[email protected]>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
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to