I am trying to optimize the current performance of gr-iee802-11. Ive done some profiling and came to the conclusion that there is a lot of work being put in decoding the convolutional code at the receiver.
I have done some research, and found out that there exists a viterbi decoder that was developed for the digital tv branch, that supposedly outperforms IT++ by a factor of 9x!, IT++ being the library that gr-iee802-11 uses to decode the convolution.
When trying to adapt this decoder to gr-iee802-11 ive found some hassles. First, the constraint length for the viterbi decoder in dvbt is K = 7, while in gr-ieee802-11 uses a constraint length of K=5.
In addition, the generator polynomials also differ.
I would appreciate if someone could help me here, i am a beginner in the matter of convolutional codes, i would like if someone could asses me if it is possible to adapt this viterbi decoder to gr-iee802-11 at all, and in case it is indeed possible, if it is very complex task for a non expert on the matter.
The source file d_viterbi.c has a comment that says:
That changing the polynomials would need me to "regenerate the BUTTERFLY macro calls in viterbi()" I am not certain about what should the new parameters be for the polinomials 0133 0171.
https://github.com/gnuradio/gnuradio/tree/master/gr-dtv/lib/dvbt