How to calculate BER in different modulations with OFDM using GNURadio Companion

Hello,

I’m doing my College final project about gnuradio companion.
Specifically
I have to calculate the BER with OFDM using different modulations to the
subcarriers. After that, I have to do a graphic with the BER numbers.
The
configuration I use is in the image attached.
When I’m using GRC to calculate BER I always have the same problem.
First I
try to simulate without introducing any noise and get a BER data. Then I
try to introduce AWGN noise and the BER data is the same. Clearly I’m
making a mistake, but I’m not able to identify what it is. In view of
the
configuration used, someone could tell me which are my mistakes?
Also, I would like to know how to configure the block Channel Model
correctly.

Thank you all.

The configuration to which I refer in the previous email is the
corresponding to the image attached

2015-08-31 13:18 GMT+02:00 ANTONIO TAMAYO [email protected]:

Hi Antonio,

The problem might be due to delay introduced by the processing blocks.
Your OFDM modulator and demodulator don’t work instantaneously, they
take
some time to do their processing and forward their outputs to the next
block in line. Therefore, there is a delay between the output of the
OFDM
demod block and the original signal.
What you need to do is add a delay block between your Random source and
the
BER block and set the delay properly.
When you’re not adding any noise, your BER should be 0. So you can try
to
find the delay value this way.
Then add noise and see how your BER evolves.

I hope this helps.

Regards,
Jawad

2015-08-31 13:21 GMT+02:00 ANTONIO TAMAYO [email protected]:

Hello Antonio,

Please take the habit of replying to the list. People might get into the
same problems or someone might have some knowledge to share.

Also, try to provide a flowgraph (.grc file) to make testing easier for
the
people helping you out.

That said, I did some testing and it looks like I was wrong. The delay
isn’t the problem here (at least not on my machine).
But I think I figured out the problem. It looks like you provided a
Payload
length of 0 in your OFDM modulator block.
If I set the payload length to 100 and then the random source Num.
samples
to the same value, the BER goes to 0 without adding delay. And you can
see
the BER moving when you change the delay.

There is one problem though, it doesn’t seem to work when the payload
length and the Num. samples are not set to the same value.

Regards,
Jawad

2015-09-01 13:50 GMT+02:00 ANTONIO TAMAYO [email protected]:

Hello Jawad,

I’ve made the changes you said. As you say, when I assign the Payload
parameter to the number of samples of the block Random Source without
introducing Delay, I get a BER value equal to 0. But what I need to
introduce a noise source so that when I increase the power noise, also
increase the BER. This doesn’t happen making the changes that you say,
when
I introduce a noise source and the noise power is increasing the value
of
BER remains 0. This is incorrect. As you can see in the spectrum
received,
the signal contains errors that they aren’t appreciated by the block
Error
Rate. (SistemasOFDM_prueba.grc)
Also, I need to send an image and calculate the BER in the same way as
with
the random vector. When I use the block File Source and calculate the
BER,
I have the same problem, the BER remains constant at 0.51 and although
the
noise power increases, the BER remains unchanged.
(SistemaOFDM_Pruebas1.grc)
The image that I send in the previos example is called “imagen”
Thank you.

Regards,
Antonio

2015-09-01 15:04 GMT+02:00 Jawad S. [email protected]:

Hi Antonio,
I tried to open your GRC file. This must have been with a pretty old
version of GNU Radio (which version are you using?).
I strongly recommend getting a newer version of GNU Radio, because
especially the OFDM code has improved a lot.

By the way, a BER of about ~0.5 means that as many bits are right as
there are wrong bits, which means that you get absolutely no information
through (if there were more wrong than right bits, you could just toggle
the bits and get more information); this means that the input and output
streams are not related, or have an offset relative to each other that
doesn’t get corrected; increase the BER window size (you don’t need the
delay if you’ve got a bigger window).

Best regards,
Marcus

Hello Jawad,

I’ve made the changes you said. As you say, when I assign the Payload
parameter to the number of samples of the block Random Source without
introducing Delay, I get a BER value equal to 0. But what I need to
introduce a noise source so that when I increase the power noise, also
increase the BER. This doesn’t happen making the changes that you say,
when
I introduce a noise source and the noise power is increasing the value
of
BER remains 0. This is incorrect. As you can see in the spectrum
received,
the signal contains errors that they aren’t appreciated by the block
Error
Rate. (SistemasOFDM_prueba.grc)
Also, I need to send an image and calculate the BER in the same way as
with
the random vector. When I use the block File Source and calculate the
BER,
I have the same problem, the BER remains constant at 0.51 and although
the
noise power increases, the BER remains unchanged.
(SistemaOFDM_Pruebas1.grc)
The image that I send in the previos example is called “imagen”
Thank you.

Regards,
Antonio

2015-09-01 15:04 GMT+02:00 Jawad S. [email protected]: