Hi,
BER is defined as the % of bits that have errors to the total number of
bits. Therefore, you need to calculate the number of incorrect bits.
To do this you would need to know the correct bits to compare your
received bits to. You can then easily compute the number of incorrect bits.
Therefore, if the input to gr.vector_source_b() is your input data, you
would compare it to the output of gr.vector_sink_b() and calculate the
bit difference. If 1 bit out of 10^3 bits are different, your BER is
1/10^3. The more input, the more accurate your BER estimate is.
I don't think a BER calculator exists in GR, but it shouldn't be that
difficult. The block would take two input streams, one being the
correct data and the other being the decoded data. It could then
compare the two.
Or you could compare the two outside of GNU Radio pretty easily.
It's not clear to me if you're performing the modulation and
demodulation on the same machine. If so you have easy access to both
data sets. Otherwise, transfer the known data to the receiver in a 100%
accurate method and then compare.
- George
irene159 wrote:
Hi all,
I'm currently working on a GSMK modem, and I would like to calculate the BER
of the link. I send data using gr.vector_source_b( ) connected to a GMSK
modulator/demodulator and receive the signal in gr.vector_sink_b( ).
1) How can I measure BER from the vector_source and vector_sink ?
2) Does a BER calculator recovering from clock shifting (bit lost by clock
sliding) exist ?
Thanks !
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio