discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] BER & SNR


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] BER & SNR
Date: Tue, 4 Jul 2017 12:48:37 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

BER is an observation, a count, not an estimation – it only makes sense to talk about a Bit Error Rate (BER) after a complete physical layer receiver, i.e. at the bit level. You can estimate the BER of a whole system if you know how it reacts to noise – but that's typically not what you do. Instead, you just simulate with various noise/distortion levels, measure for each of these and write down the number of wrong bits. A good receiver will make more of a noisy signal (lower BER) than a bad receiver for the same modulation. So, BER depends on your receiver implementation.

SNR, on the other hand, the Signal-to-noise-ratio, is not something that depends on your implementation – it's really just the ratio of Signal power to noise power. Since we're looking at a noise reception, one can only write an estimator for these powers – and thus, SNR is a measure relative to a mathematical model of your reception, and not something that indicated demodulability. It's very important to say where in the signal chain you look at the SNR – is it directly at the antenna? After mixing to baseband? After filtering to a channel bandwidth? It's equally important to explicitly specify what you consider signal and what you consider noise power – for example, one might say "OK, after my timing recovery, I still have a bit of phase offset, but that's OK, I just declare the difference between perfect constellation point and actual recovered point "noise" and be done with it". That's a very practical thing to look at – and, indeed, for the decider, which has to convert complex numbers to bits, it just looks like a random addition to the perfect signal, but that power didn't come in as noise power – it's just an error we introduced by not being able to perfectly synchronize.

As another example, if you take any signal, and shift it in frequency, then that doesn't change its power at all! So, a reception with a terribly bad frequency offset still has the same SNR as a perfectly synchronized one. UNLESS, that is, that you declare the phase offset between recovered symbols and perfect constellation points "noise".

Now, depending on what you declare to be noise and what you declare to be signal, you'd define different SNR estimators. I constantly repeat this (I don't mind, someone has to):

There's no single "right" SNR estimator. Everything depends on what you define to be noise and what you define to be signal. One man's noise is another man's signal.

Coming back to your original question:

> How Is it possible to get a good estimation of the BER without a costas loop?

It's not an estimate. If you get BER of 0, then your receiver did not make a single bit error, if you get BER=0.5, then every second bit is wrong. So, that estimator is pretty much perfect.

If you remove the phase synchronization (i.e. the costas loop) from your receiver, you make it a worse receiver. Then, your BER increases, if your receiver gets sufficiently bad.

I hope that answers your question!

If not, please don't hesitate to elaborate (in length!)

Best regards,

Marcus


On 07/04/2017 11:49 AM, Rafik ZITOUNI wrote:
My question is: 

How Is it possible to get a good estimation of the BER without a costas loop? 




2017-07-04 11:39 GMT+02:00 Marcus Müller <address@hidden>:

You're still not explaining what your question is – I really don't know what to answer.

What is wrong?


On 07/04/2017 11:31 AM, Rafik ZITOUNI wrote:
Sorry I missed to add the flow graph. 
Here is attached. 

2017-07-04 11:29 GMT+02:00 Rafik ZITOUNI <address@hidden>:
Marcus, 

You find attached my flow graph with  Tx and Rx. I know that it is not recommended to have TX and RX in the same flow graph but i did it just to obtain one view for my Tx and Rx. 

Thanks,  

2017-07-04 11:23 GMT+02:00 Marcus Müller <address@hidden>:

Dear Rafik,

I think we're approaching this from the wrong side: I don't think that I should be explaining why you get a good BER and SNR estimate, it is you who should explain why you're expecting something different, and then we can discuss! I'm not quite sure what I could be explaining at this point :)

Best regards,

Marcus


On 07/04/2017 11:20 AM, Rafik ZITOUNI wrote:
Thank you Marcus for your answer !

My BER and SNR are calculated and obtained using MPSK SNR Estimator Probe and Error Rate blocks. I obtained  two points, which rotate in the qt gui constellation sink despite the BER and SNR have been obtained as expected. Could you give me an explanation how it was possible to obtain a good snr and ber with a wrong constellation with  good SNR and BER?

I found the  presentation of Tom Rondeau useful, since he explained the function of the costas loop block.  https://static.squarespace.com/static/543ae9afe4b0c3b808d72acd/543aee1fe4b09162d08633fc/543aee1fe4b09162d0863402/1392309732018/mpsk.pdf


This morning I add a Costas loop after a Polyphase Clock Syncronisation block, and it s going well. You find attached a screenshot of my constellation for a DBPSK of my receiver/transmitter. I propose to add a grc to gnuradio/gr-digital for MPSK since grc is more easy to understand than python source code.


Now I am trying to send and receive data files such as videos or images (bmp). Do you have an example with a file exchange implemented in .py or grc?

Best,  


2017-07-04 9:44 GMT+02:00 Marcus Müller <address@hidden>:

Hi Rafik!

So, what's wrong with the BER and the SNR estimate?

Best regards,

Marcus


On 07/03/2017 11:29 PM, Rafik ZITOUNI wrote:
Dear all, 

I translate the /gr-digital/examples/narrowband/digital_bert_tx.py and the /gr-digital/examples/narrowband/digital_bert_rx.py python source codes to GRC flow graphs. The objective is to get more graphical possibilities with a GRC.  My flow graph gives a fine result of BER and SNR for DBPSK modulation. 
The problem is with the rotating points of my constellation. I think that the rotation of my view comes from a lack of frequency synchronization, but why I obtained a correct BER and SNR?

You find attached to this message a constellation view obtained by my flow graph. 

Please could you explain me this  result or give an advice to improve the obtained result? 

Regards, 


--
Rafik



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
--
Rafik
--
Rafik
--
Rafik
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
--
Rafik

reply via email to

[Prev in Thread] Current Thread [Next in Thread]