Tx_ofdm

Hi everyone:
I have already understand most part of the
tx_ofdm.grc.But the some digital i can’t calculate accurately.
1.stream_to_tagged_stream: Packet length=96 bytes.?
2.And ofdm_carrier_allocator:FFT_length=64(but 48
occupied carrier+4 pilot carriers!=64)?
Thank you in advance.Thank you.
Best regards

IIRC, the tx and rx files are just a very general implementation of the
OFDM
model.

Here’s my understanding:

  • Packet length refers to the data necessary to produce n symbols (48
    data
    carriers, 2 symbols = 96).
  • The number of total carriers in the systems equals the FFT length.
    In this case, 48 data carriers and 4 pilots, 52 total and the rest are
    set
    to 0.

I hope im sure about this, if anyone is able to confirm this just to be
precise.

http://gnuradio.org/doc/doxygen/page_ofdm.html
http://gnuradio.org/doc/doxygen/page_packet_data.html


View this message in context:
http://gnuradio.4.n7.nabble.com/tx-ofdm-tp48430p48432.html
Sent from the GnuRadio mailing list archive at Nabble.com.

On 05/22/2014 10:12 PM, eontool wrote:

IIRC, the tx and rx files are just a very general implementation of the OFDM
model.

Here’s my understanding:

  • Packet length refers to the data necessary to produce n symbols (48 data
    carriers, 2 symbols = 96).

Er, no. This is the number of bytes per packet. It’s 96 because we add 4
bytes for CRC, and then the packet number is a round value.

At 100 bytes per packet, the payload is 800 bits. With BPSK, that would
be 17 OFDM symbols (plus 1 OFDM symbol for header, and 2 for preamble).

You can set whatever here, but remember that the stock equalizers don’t
do a good job on long packets. Also, the length can vary per packet.

  • The number of total carriers in the systems equals the FFT length.
    In this case, 48 data carriers and 4 pilots, 52 total and the rest are set
    to 0.

This is correct (compare 802.11a standard).

M

Hi:
Thank you so much.
1.But from “chunks to symbols” I see you use the bpsk and qpsk
both.Right?What is the relationship between 800 bits and 17
symbols?Namely,how to calculate the 17 symbols?
17*64=1088.Can you explain?
2.I have looked at your ppt about the ofdm.You say now have two
version ofdm.Can you give me some links to them?Or some advices?Thank
you.
Best regards

On 05/23/2014 02:29 AM, xianda wrote:

Hi:
Thank you so much.
1.But from “chunks to symbols” I see you use the bpsk and qpsk
both.Right?What is the relationship between 800 bits and 17 symbols?Namely,how to
calculate the 17 symbols?
17*64=1088.Can you explain?

1 OFDM symbol @ BPSK == 48 bits in this configuration.
ceil(800/48) == 17.

 2.I have looked at your ppt about the ofdm.You say now have two version 

ofdm.Can you give me some links to them?Or some advices?Thank you.

They’re both in the tree. If you start working off of rx_ofdm an tx_ofdm
you’re already using the new stuff; no need to worry about this.

M

Hi Martin:
Thank you for your reply.
But,
1.I see the virual Source(Stream ID:Payload Bits)->Chunks
to Symbols(Symbol Table(-0.707…))(modulate:qpsk)?When I input 800 bits
to the Packet Header Generator,then chunks to symbols.How many symbols
generate in this way?When I input 800 bits to the Repack Bits,then
chunks to symbols.How many symbols generate in this way?Thank you very
much.
2.I also see another ofdm in the old version of
gnuradio.And the module structure is attached.And the connect code in
python:
self.connect((self,0), self.chan_filt) #
filter the input channel
self.connect((self,0), self.ofdm_sync) # into
the synchronization alg.
self.connect((self.ofdm_sync,0), self.nco, (self.sigmix,1)) # use
sync freq. offset output to derotate input signal
self.connect((self,0), (self.sigmix,0)) #
signal to be derotated
self.connect(self.sigmix, (self.sampler,0)) #
sample off timing signal detected in sync alg
self.connect((self.ofdm_sync,1), (self.sampler,1)) #
timing signal to sample at

  self.connect((self.sampler,0), self.fft_demod)              # send 

derotated sampled signal to FFT
self.connect((self.sampler,1), (self.ofdm_null,0)) # send
timing signal to decoder
self.connect(self.fft_demod, (self.ofdm_null,1)) # send
freq-domain samples to decoder

  self.connect(self.fft_demod, (self.ofdm_frame_acq,0))       # find 

frame start and equalize signal
self.connect((self.sampler,1), (self.ofdm_frame_acq,1)) # send
timing signal to signal frame start
self.connect((self.ofdm_frame_acq,0), (self,0)) #
finished with fine/coarse freq correction,
self.connect((self.ofdm_frame_acq,1), (self,1)) #
frame and symbol timing, and equalization
And someone tell me the new version of gnuradio is just expand to the
old version.Can you tell me how much parts adjust?And the main code of
gnuradio is in gnuradio/gr-digital/examples/ofdm?And whether other code
needed?Where are they?
3.And i use two usrps to run the tx_ofdm.grc and
rx_ofdm.grc.The adjust code I also attached. But in the transmit,so many
U U U display.Why?And in the receive part,I also encouter problem.Can
you help me explain it?
Thank you very much.I see the ofdm part many days.And the
3 questions I encounter.Thank you.Sorry for my poor English if you can’t
understand.Thank you in advance.Thank you for your patience.
Best regards

On 05/23/2014 11:33 AM, xianda wrote:

Hi Martin:
Thank you for your reply.
But,
1.I see the virual Source(Stream ID:Payload Bits)->Chunks
to Symbols(Symbol Table(-0.707…))(modulate:qpsk)?When I input 800 bits
to the Packet Header Generator,then chunks to symbols.How many symbols
generate in this way?When I input 800 bits to the Repack Bits,then
chunks to symbols.How many symbols generate in this way?Thank you very much.

I’m pretty sure I’ve answered all of these questions already.

          2.I also see another ofdm in the old version of

gnuradio.And the module structure is attached.And the connect code in
python:

Just ignore that. The new stuff is a complete rewrite.

          3.And i use two usrps to run the tx_ofdm.grc and

rx_ofdm.grc.The adjust code I also attached. But in the transmit,so many
U U U display.Why?And in the receive part,I also encouter problem.Can
you help me explain it?

Your computer is too slow.

M