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
