Channel Model

Hii

I am using channels.channel_model as

channels_channel_model_0 = channels.channel_model(
noise_voltage = self.EbN0_to_noise_voltage(EbN0),
frequency_offset=0.0,
epsilon=1.0,
taps=(1.0 + 0j, ),
noise_seed=RAND_SEED,
block_tags=True
)

in the place of Add and Noise_Source in berawgn.py file… But the BER is
not following the theory curve. I am attaching the curve i got.

What does this channel model do ? Can someone please explain it.

On Wed, Aug 5, 2015 at 7:25 AM, monika bansal [email protected]
wrote:

block_tags=True
)

in the place of Add and Noise_Source in berawgn.py file… But the BER is
not following the theory curve. I am attaching the curve i got.

What does this channel model do ? Can someone please explain it.

The channel_model is a hierarchical block to add noise, frequency
offset,
timing offset, and a constant channel. In your case, you’ve turned off
everything but the noise source, which is generated using a
gr::analog::noise_source_c.

http://gnuradio.org/doc/doxygen/classgr_1_1channels_1_1channel__model.html

My guess is that you’re setting the noise voltage level incorrectly.

Tom

On 05.08.2015 04:25, monika bansal wrote:

block_tags=True
)

Try

noise_voltage = self.EbN0_to_noise_voltage(EbN0)/sqrt(2)

the original berawgn.py was already buggy, because it didn’t follow a
recent change in the noise power. I’ve submitted a patch, but it
probably won’t be merged before the release cycle is reset (cf
https://github.com/gnuradio/gnuradio/compare/master...mbr0wn:digital/berawgn_fix_noisepower?expand=1).

M

Hii
Thanks for your responses.

The problem is this channel model is eating some initial 6 bits(3 qpsk
symbols) and last 10 bits(5 qpsk symbols).
Because of this index of output symbol is different fron input which is
resulting in error for all snr ranges.
You can see the output for noise_volage =0.0

Input = (0L, 0L, 2L, 3L, 1L, 2L, 1L, 1L, 2L, 3L, 0L, 1L, 0L, 1L, 1L,
3L,
2L, 3L, 1L, 0L, 2L, 0L, 3L, 2L, 2L, 1L, 3L, 2L, 3L, 0L, 2L, 2L, 0L, 1L,
2L,
3L, 3L, 0L, 2L, 2L, 0L, 2L, 3L, 3L, 2L, 2L, 3L, 0L, 0L, 0L, 1L, 0L, 2L,
2L,
2L, 0L, 3L, 0L, 1L, 1L, 3L, 0L, 1L, 3L, 3L, 3L, 0L, 0L, 2L, 0L, 1L, 1L,
0L,
2L, 3L, 2L, 2L, 3L, 2L, 3L)

Output = (3L, 1L, 2L, 1L, 1L, 2L, 3L, 0L, 1L, 0L, 1L, 1L, 3L, 2L, 3L,
1L,
0L, 2L, 0L, 3L, 2L, 2L, 1L, 3L, 2L, 3L, 0L, 2L, 2L, 0L, 1L, 2L, 3L, 3L,
0L,
2L, 2L, 0L, 2L, 3L, 3L, 2L, 2L, 3L, 0L, 0L, 0L, 1L, 0L, 2L, 2L, 2L, 0L,
3L,
0L, 1L, 1L, 3L, 0L, 1L, 3L, 3L, 3L, 0L, 0L, 2L, 0L, 1L, 1L, 0L, 2L, 3L)

Input = (0L, 1L, 0L, 2L, 0L, 1L, 1L, 3L, 2L, 3L, 3L, 1L, 0L, 2L, 2L, 0L,
0L, 1L, 1L, 1L, 0L, 0L, 3L, 2L, 3L, 1L, 1L, 2L, 1L, 0L, 3L, 0L, 0L, 0L,
3L,
0L, 3L, 2L, 1L, 0L, 3L, 1L, 3L, 1L, 1L, 3L, 1L, 2L, 0L, 1L, 0L, 3L, 1L,
0L,
3L, 2L, 1L, 2L, 3L, 3L, 2L, 1L, 3L, 0L, 1L, 2L, 3L, 3L, 0L, 0L, 0L, 2L,
3L,
3L, 1L, 3L, 3L, 1L, 0L, 3L)

Output = (2L, 0L, 1L, 1L, 3L, 2L, 3L, 3L, 1L, 0L, 2L, 2L, 0L, 0L, 1L,
1L,
1L, 0L, 0L, 3L, 2L, 3L, 1L, 1L, 2L, 1L, 0L, 3L, 0L, 0L, 0L, 3L, 0L, 3L,
2L,
1L, 0L, 3L, 1L, 3L, 1L, 1L, 3L, 1L, 2L, 0L, 1L, 0L, 3L, 1L, 0L, 3L, 2L,
1L,
2L, 3L, 3L, 2L, 1L, 3L, 0L, 1L, 2L, 3L, 3L, 0L, 0L, 0L, 2L, 3L, 3L, 1L)

How should i calculate the error now?
Should i use Delay block?

On Thu, Aug 6, 2015 at 2:34 AM, Johnathan C.
[email protected]

How should i calculate the error now?
That pretty much depends on what /you/ want to measure – obviously,
these bits are lost, so practically, this increases your BER.
If you want to demonstrate asymptotic behaviour, however, then you could
just increase the length of your simulation until a few bits lost at
start and end just don’t matter anymore.

Greetings,
Marcus

On Wed, Aug 5, 2015 at 12:51 PM, Martin B. [email protected]
wrote:

Try

noise_voltage = self.EbN0_to_noise_voltage(EbN0)/sqrt(2)

the original berawgn.py was already buggy, because it didn’t follow a
recent change in the noise power. I’ve submitted a patch, but it
probably won’t be merged before the release cycle is reset (cf

https://github.com/gnuradio/gnuradio/compare/master...mbr0wn:digital/berawgn_fix_noisepower?expand=1

).

​This did get merged for 3.7.8 release.​

Taking a blind guess here:
How many samples do you simulate for Eb/N0 = 8dB? And for 10dB? And for
12dB?

Best regards,
Marcus

160000 bits for all snr values.,…

On Thu, Aug 6, 2015 at 2:45 PM, Marcus Müller [email protected]

Yes Marcus…
and i used delay block at the output of the demodulator to make output
bits
align with input bits.
Now it is tracing the theoretical curve till 9 db but after that error
is
not reducing.

I am attaching the curve.
Why is this happening ??

On Thu, Aug 6, 2015 at 2:03 PM, Marcus Müller [email protected]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

As a rule of thumb with expected error rate BERe:

num simulation bits: (1 / BERe) * 100
that’s more like a minimum. It’s probably better to go for * 1000.
Also if you use BER block, it has a parameter ’ BER Min. Errors’. As
long as it didn’t count at least this amount of errors it’ll not
output anything.
Depending on your code and your SNR 8-12dB I’d expect you need at
least 1Gbit or in case of SNR=12dB more towards 100Gbit in order to
obtain meaningful results.
Hope that helps.

On 06.08.2015 11:31, monika bansal wrote:

[email protected] wrote:

Greetings, Marcus
output for noise_volage =0.0
0L, 1L, 2L, 3L, 3L, 0L, 2L, 2L, 0L, 2L, 3L, 3L, 2L, 2L, 3L, 0L,

[email protected][email protected]> wrote:

didn’t follow a recent change in the noise power. I’ve
submitted a patch, but it probably won’t be merged before
the release cycle is reset (cf

https://github.com/gnuradio/gnuradio/compare/master...mbr0wn:digit
al/berawgn_fix_noisepower?expand=1

).


Discuss-gnuradio mailing list [email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Discuss-gnuradio mailing
[email protected]://lists.gnu.org/mailman/listinfo/d
iscuss-gnuradio


mailing list [email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBAgAGBQJVwyrLAAoJEO7fmkDsqywMumwQAJ9YXsjZrX051rtAp61Rrbdp
PqsblRAqNAy2kXNGVX+Ag1B9BUnSqsIpSZVgYCvXqiPH8Cy9qAGFv3EkPPk80BN0
O+4zzIFCovnPXHHnJB90ntyUUvHZlUd5TTDRn0RNzMSvI1ABg+ssk7pUYM424vvO
wTMBA4yP41aCr7nbYDowpMd+GnzdC0nwpxpTVdEVX8yS8PlhECAv45/U2Ze/6CT2
EcK3pUIZRTgZlWezrS1mqD5afGqNYPHz1WhPQx05Hx2OjyP2wNwPx9RA6VKhIosU
iywpvz4zdpbaKFEpgTwB6h0w0+CeclnqmipSP+hPIkUmFa7kbQyzNjAn5WTYfQrd
Ne+v2W9ztxQlbvihswVmHdrBxwk2/gDlL6pzBWy6zf2T0NfAJxlW/zcOQlVc+fEs
tL5l0ZVNha0Ppam2I6jxKzINMDOm3Gln0h3F75FD9CpcTyHRKxV9a8Sg4BCi4jei
+l6rnT4mhQk6RirDBOXUwWIXLbk28RLAWYNL8Jyn0n7M50ax7WMGXBS+yDUf/G1A
mmiLAFm1ATZRHBN1Aw99DXkI/LN+qp10oUYkKRcx7Ji3z6Oc+CKIqE0r9QBck0qS
z0JfxOG9N1z+iEgWJ/Ui4GZx85zHJVkmyHQs72QTecoFnhO1j/GWqeRRAyyWDTJ8
zMsQVtreQnqYEPkSSQKK
=rixl
-----END PGP SIGNATURE-----

Yes …
Thanks !

On Thu, Aug 6, 2015 at 3:07 PM, Johannes D. [email protected]