Hi Sylvain and Harald!
I am contact you again (sorry for so many mails), because Sylvain
is a copyright holder of the 'libosmocore/utils/conv_gen.py', and
Harald listed in the output of 'git blame' for almost every line.
There is a mismatch between the CS2 & CS3 convolutional code
definitions in 'osmo-bts/src/osmo-bts-trx/gsm0503_conv.c' and
'libosmocore/utils/conv_gen.py'. In second source there is no
puncture for both definitions:
const struct osmo_conv_code gsm0503_conv_cs2 = {
.N = 2,
.K = 5,
.len = 290,
.next_output = conv_xcch_next_output,
.next_state = conv_xcch_next_state,
};
const struct osmo_conv_code gsm0503_conv_cs3 = {
.N = 2,
.K = 5,
.len = 334,
.next_output = conv_xcch_next_output,
.next_state = conv_xcch_next_state,
};
But in first source there is. And I am not sure, which
definition is correct. I paid my attention here, because
I just integrated some tests from 'osmo-bts/tests/bursts'
to libosmocoding. PDCH test fails until there is puncture
in both definitions. When I removed punctures from definitions,
test passed.
So, my question is do we need punctures for both CS2 & CS3?
With best regards,
Vadim Yanitskiy.
2016-09-06 10:46 GMT+07:00 Sylvain Munaut <246tnt(a)gmail.com>om>:
Hi,
With regards to convolutional coding, the main
difference between GPRS
and EGPRS will be the use of tail-biting recursive codes.
Max, can the utility generate recursive state tables?
Yes
Cheers,
Sylvain