|
From: | Tom Rondeau |
Subject: | Re: [Discuss-gnuradio] Measure BER |
Date: | Fri, 18 Jan 2008 17:34:03 +0000 |
User-agent: | Thunderbird 2.0.0.9 (Windows/20071031) |
George Nychis wrote:
The only difficulty is the delay introduced by the flowgraph, specifically through filters. You can brute force this by looking at the output and figuring out the delay. I noticed, though, when I was working on my dissertation, certain flow graphs would have an uncertain delay, though I wasn't sure why (I think it was GMSK, too, which would have a 7 or 8 sample delay on any given run).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.
Much easier on the same machine. The BER block I wrote works well in this case and automatically adjusts for the delay by looking for a start packet. It's a bit crude and awkward to use the block, which is why I haven't checked it into the project yet. The results, though, were _very_ good. Within a few tenths of a dB to theory. GMSK had a problem at SNRs lower than about 5 dB.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.
Tom
- George irene159 wrote:Hi all,I'm currently working on a GSMK modem, and I would like to calculate the BERof 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 clocksliding) exist ? Thanks !_______________________________________________ Discuss-gnuradio mailing list address@hidden http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Prev in Thread] | Current Thread | [Next in Thread] |