On Fri, Jan 29, 2016 at 12:52 AM, Gonzalo Arcos <gonzaloarco...@gmail.com>
wrote:

> Thank you for your answer Tom.
>
> I infer from your mail that changing the value of K might as well mean
> building the decoder from scratch. Which leads to my next question, is
> there any tutorials on how to program a viterbi decoder for an arbitrarily
> value of K in an optimized way? does anyone know? I need to be able to
> increase the performance of this process.. Maybe another possibility is
> stick with IT++ and use something like gpgpu to speedup the process?
> What do you guys think? Do you have any suggestion?
>
> I have my reserves about gpgpu being useful in this scenario where the
> incoming packet rate is very high, and therefore the transfer of data
> between the main system and the gpu would be frequent and repeated. At the
> same time, im running out of ideas.
>
> Thanks a lot for the answers so far.
>

Check out the Spiral Project:

http://www.spiral.net/software/viterbi.html

Tom



> 2016-01-28 20:41 GMT-03:00 Tom Rondeau <t...@trondeau.com>:
>
>> On Fri, Jan 29, 2016 at 12:38 AM, Gonzalo Arcos <gonzaloarco...@gmail.com
>> > wrote:
>>
>>> Hello Tom,
>>>
>>> Thank you for your answer.
>>>
>>> I dont see how using the viterbi decoder from gr-fec would fix my
>>> problem. I would still need the viterbi decoder to work on K=5 to be able
>>> to integrate it with gr-ieee802-11, it is the same situation i am now with
>>> the decoder i linked. My question is first if there is a highly optimized
>>> decoder at least for 1/2 K=5, or in case it does not exist, if it is
>>> possible for me to modify an existing implementation. I repeat, i am a
>>> novice in the field of convolutional decoding.
>>>
>>> Thanks
>>>
>>
>> Apologies, I misread your first email and swapped the constraint lengths.
>>
>> But no, modifying the implementation for different values of K is /not/
>> trivial.
>>
>> Tom
>>
>>
>>
>>
>>> 2016-01-28 20:05 GMT-03:00 Tom Rondeau <t...@trondeau.com>:
>>>
>>>> On Thu, Jan 28, 2016 at 11:13 PM, Gonzalo Arcos <
>>>> gonzaloarco...@gmail.com> wrote:
>>>>
>>>>> The dvbt project im talking about is:
>>>>> https://github.com/gnuradio/gnuradio/tree/master/gr-dtv/lib/dvbt
>>>>>
>>>>> And the gr-ieee-80211 project is:
>>>>> https://github.com/bastibl/gr-ieee802-11
>>>>>
>>>>> thanks in advance
>>>>>
>>>>
>>>>
>>>> We have a highly optimized Viterbi decoder for K=7, rate 1/2 in gr-fec,
>>>> which is done mostly in a VOLK kernel. Those parameters (R=1/2, K=7) are
>>>> fixed, but the polynomials can be set externally.
>>>>
>>>> Tom
>>>>
>>>>
>>>>
>>>>
>>>>> 2016-01-28 19:11 GMT-03:00 Gonzalo Arcos <gonzaloarco...@gmail.com>:
>>>>>
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Discuss-gnuradio mailing list
>>>>> Discuss-gnuradio@gnu.org
>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>>
>>>>>
>>>>
>>>
>>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to