OFDM benchmark - premature termination

Hi,

For the majority of my tests (ex. below), with benchmark_ofdm_*, the
receiver terminates prematurely with:

ok: True pktno: 7501 n_rcvd: 4537 n_right: 4263
ok: True pktno: 7502 n_rcvd: 4538 n_right: 4264
ok: True pktno: 7503 n_rcvd: 4539 n_right: 4265
Exception in thread Thread-1:
Traceback (most recent call last):
File
“/usr/local/lib/python2.4/site-packages/gnuradio/gr/gr_threading_24.py”,
line 446, in __bootstrap
self.run()
File
“/usr/local/lib/python2.4/site-packages/gnuradio/blks2impl/ofdm.py”,
line 294, in run
self.callback(ok, payload)
File “./benchmark_ofdm_rx.py”, line 168, in rx_callback
(pktno,) = struct.unpack(’!H’, payload[0:2])
error: unpack str size does not match format
uOuOuOuOuOuO

It seems a certain combination of fftlength, occupied tones, and cp
length allows the program to run to completion (FFT/OT/CP = 64/28/54
and 40/20/32 works but 256/160/128 ends early). Does anyone know the
“magic” behind these sets of values, or can explain something I have
overlooked?

Also, is there a way to control / define exactly which subcarriers are
being used to transmit the data?

Any help is appreciated, thank you in advance.

Katy

Katy Qian wrote:

File “/usr/local/lib/python2.4/site-packages/gnuradio/gr/gr_threading_24.py”,

It seems a certain combination of fftlength, occupied tones, and cp
length allows the program to run to completion (FFT/OT/CP = 64/28/54
and 40/20/32 works but 256/160/128 ends early). Does anyone know the
“magic” behind these sets of values, or can explain something I have
overlooked?

This is an error that occurs when the packet is corrupted in a way that
ends up with an empty payload, usually due to a bad value for the packet
length in the header.

Also, is there a way to control / define exactly which subcarriers are
being used to transmit the data?

No. You have to hack the C++ code in gr_ofdm_mapper. Others have been
looking to do the same thing, but I’m not sure how far they have gotten.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs