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 On Thu, Jun 2, 2011 at 7:03 PM, Tom Rondeau <trondeau1...@gmail.com> wrote: > 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