LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MT convolutional encoder explanation of inputs and outputs

i am using convolutional encoder in a simple program. the inputs of this vi are, 1. bitstream, 2. rate(k/n) 3. constraint length.

i gave a bit stream 100010100001111000.... of 30 elements to it. i set the rate as 1/2, and the constraint length as 5.

i than decoded this input bit stream with a convolutional decoder, but the output of that decoder was not matching my input bit stream. it was having only 5 elements. what do you think is the problem.

 

block diagram: input bit stream-------------> convolutional encoder( with the above mentioned rate and constraint length)....................>convolutional decoder( with same rate & constraint length) but the output is not the same as the input that i gave. only 5 elements showed up.

is there a condition b/w the number of input bits and constraint length which has to be met??? etc

0 Kudos
Message 1 of 7
(4,764 Views)

Hello irish_sunset,

 

Are you by any chance padding your bitstream after the encoding? At the output of the convolutional encoder? If you are, try padding before the encoding instead, so that you pad the input to the encoder.

This has been seen before and with this change you should get the expected bits at the decoder output.

Let me know if this helps,

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

Message Edited by sahpek on 04-22-2009 11:04 AM
0 Kudos
Message 2 of 7
(4,727 Views)
I've been trying to use MT convolutional decoder for a physical layer model..The problem is that it works fine for 1/2 rate but if ai use a puncturing and depuncturing unit it doesn't give me the right results.i get 50% error. Is there any solution to that?
0 Kudos
Message 3 of 7
(4,643 Views)

Hello Sidhu88,

 

It seems that the 50% puncturing you are doing gives you 50% error, so I would say they are very much related. 

The puncturing and depuncturing VIs are very well documented and you should probably revise their functionality to see where in your code the error is stemming from.

Attached is a little example one of my colleagues wrote a while ago, but please refer to the Help documentation for details.

 

I hope this helps,

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

0 Kudos
Message 4 of 7
(4,631 Views)
I've understood the puncturing part quite well.. i built my own vi for those i think it's the conv encoder that's not able to decode?  and shouldn't the punctured spots be filled with 0?
0 Kudos
Message 5 of 7
(4,621 Views)

Hello Sidhu88,

 

Have a look at the help file for the VIs that are used in the example and you will find that the "erasure value" replaces the missing elements with whatever you set it to. It stands as an equivalent to inserting a null symbol in the position of the input data stream that was previously punctured using the MT Puncture VI. If you select '0' for an erasure value, then this will be inserted into your stream.

 

The help files will be your best resource for what you are looking to achieve, which is standard functionality for these VIs. However please do not hesitate to post back if these do not sufficiently cover your needs.

 

I hope this helps,

Kind Regards,

Michael S.
Applications Engineer
NI UK & Ireland

0 Kudos
Message 6 of 7
(4,606 Views)
 Yes I got that..the problem now is not with he puncturing but with the decoder..i tried to decode after puncturin and depuncturing and i'm not getting the right result..i'm trying to implement a 5/6 rate code of constraint length 7..any settings i should use on the decoder?
0 Kudos
Message 7 of 7
(4,585 Views)