discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Gr-trellis ; convolutional code and, convolutionn


From: Axel Belliard
Subject: Re: [Discuss-gnuradio] Gr-trellis ; convolutional code and, convolutionnal interleaver.
Date: Thu, 15 Apr 2010 12:08:48 +0200 (CEST)
User-agent: SquirrelMail/1.5.1

I took your advice, and I designed my convolutional interleaver using
existing gnuradio blocks. It was pretty easy. I just need to add an
"addtail" c++ block. It will do the exact opposite of gr.skiphead.
Do you think I should post this work?

Thanks for your help.
Axel


On Wed, April 14, 2010 4:35 pm, Achilleas Anastasopoulos wrote:
> Axel,
>
>
> regarding your interleaver question: Block or convolutional, I suspect
> that any practical application will use a convolutional interleaver in a
> "block" fashion, ie
> it will have M symbols in the input and produce M symbols at the output
> where the positions are permuted. If you can describe this permutation,
> and put it in a file then you can use the gr-trellis version of
> interleaver. For instance a length 5 interleaver looks like that:
> 3 1 5 4 2
> which means that the first symbol goes to position 3, the second to
> position 1 the third to position 5, etc. I have included at least one
> exampl in the examples directory og gr-trellis.
>
> If this is not the case and you still want a semi-infinite sequence as
> the input you can easily write your own block for the convolutional
> interleaver; it seems pretty straightforward as it consists of a
> demultiplexer 1-to-N, multiple delay elements with different delays D(1),
> D(2),...,D(N), and an N-to-1 multiplexer. Hey, this can even be
> done as a hierarchical block using existing gnuradio blocks...
>
> Achilleas
>
>
> Axel Belliard wrote:
>
>> Hi
>> Thanks for answering my questions.
>>
>>
>> I changed my code, it works now.
>> I will try the random interleaver, to see how it works. But in the end I
>>  will need a super control over it. I need something that look like
>> that :
>> http://www.mathworks.com/access/helpdesk/help/toolbox/commblks/ug/fp605
>> 04.html
>> (see convolutional interleaver section).
>>
>>
>> Thanks again
>>
>>
>> Axel
>>
>>
>> On Tue, April 13, 2010 7:58 pm, Achilleas Anastasopoulos wrote:
>>
>>> Axel,
>>>
>>>
>>>
>>>
>>> First, there is no such thing in gr-trellis as a "convolutional
>>> interleaver". There is only a generic interleaver, ie a permutation
>>> which is defined through the different constructors provided in
>>> interleaver.h (through a file, random, etc).
>>> If you do not want to have super control over it i suggest you start
>>> with just a random interleaver and see how it works.
>>>
>>> Second, I see a minor problem in your code:
>>> the viterbi block should specify the block size as its 2nd parameter
>>> so instead of
>>>
>>> self.va = trellis.viterbi_s(f,2,0,-1)
>>>
>>> you should put something like
>>>
>>> self.va = trellis.viterbi_s(f,len(self.src_data),0,-1)
>>>
>>> I tried this modification and works fine with me.
>>> Let me know if you have any problems,
>>> Achilleas
>>>
>>>
>>>
>>
>
> --
> _______________________________________________________
> Achilleas Anastasopoulos
> Associate Professor
> EECS Department               Voice : (734)615-4024
> UNIVERSITY OF MICHIGAN        Fax   : (734)763-8041
> Ann Arbor, MI 48109-2122      E-mail: address@hidden
> URL: http://www.eecs.umich.edu/~anastas/
> _______________________________________________________
>
>






reply via email to

[Prev in Thread] Current Thread [Next in Thread]