OpenCores
no use no use 1/1 no use no use
Re: [ecc] traceback in viterbi
by Sridhar on Jan 29, 2004
Sridhar
Posts: 2
Joined: Mar 15, 2009
Last seen: Aug 8, 2009
I think you misunderstood my answer. Let me explain once again. Yes. we need to add dummy data to the received set of data at receiver to bring the data out of traceback unit eventhough the encoder is designed in such a way that last sets of data will force the encoder to zero state. For example, if you have 50 bits to transmit after "encoding", and your traceback length is 20 you still need to push 10 zeros into traceback unit to get the required output 50 bits. There may be otherways of doing, but i did it in this way and got enough coding gain. Hope this helps. Regards, Sridhar Nandula Wireless Design Engineer ----- Original Message ----- From: "Hari Madhavan " hariresh at singnet.com.sg> To: "List about open source Error Control Coding cores" ecc at opencores.org> Sent: Wednesday, January 28, 2004 8:12 PM Subject: Re: [ecc] traceback in viterbi
Hi Sridhar, Thanks very much for the detailed answer. I do have some doubts still though. Say the encoder is designed in such a way that last sets of data will force the encoder to it's initial all zero state. So in this case also do we have to add dummy data to the received set of data ? Let me try to ask the question again by explaining my understanding of the traceback. Please correct me if anything is wrong. Say the number of states in the encoder is 16, traceback depth is 20 and the number of received inputs is 30. Say I have a 20x64 memory to store the survivor path information - 4 bits per state and for 20 stages. After processing 20 received input data for survivor path calculations, we start a traceback at stage 20 to decode the first data. Then the 21st data is taken for survivor path calculation and a traceback is started at this point (the memory being addressed in a circular buffer way) and the second data is decoded. This process is basically repeated for the next sets of data. This way we can decode the first 11 data with 20 stages of traceback with the 30 received points. Now for the rest of the data which needs to be decoded, do we have to assume dummy input data (say zero) for each traceback so that we can have 20 stages of traceback for each decode, ofcourse for the case when encoder is forced to its all zero state at the end of processing ? Again, thanks very much and hope to hear from you soon. Thanks & Best Regards, Hari. ----- Original Message ----- From: "Sridhar" nandulasridhar at yahoo.com> To: ecc at opencores.org> Sent: Wednesday, January 28, 2004 5:20 PM Subject: Re: [ecc] traceback in viterbi
> > Hi, > I have designed Viterbi decoder to target an FPGA. I > can help you upto some extent. > Most of the times the size of the traceback length is > fixed. we should not change it dynamically which will > be difficult to implement in hardware. so, best thing > is to fix the traceback length to some fixed no. In > case of last sets of data, you need to append some > extra data bits. these data bits can be either zeros > or ones but i recommend to append zeros, that will > ensure that decoded path comes to the "All zeros path" > . And after decoding the entire received data, you > need to clip off the extra bits you appended. > If you think from hardware side it will be easy to > understand. In general traceback unit will be > implemented using some shiftregister kind of > structure. So, as soon as you start decoding you will > be pushing your received bits into traceback unit > registers. For last sets of data you need to push > zeros into shift registers. Typically, you need to > push as many zeros as the traceback length. > Regarding the depth of the traceback unit, yeah you > are right it is advisible to have constraint_length x > 5. Because, literature says constraint_length x 5 is > optimal to achieve enough coding gain. If you want > more coding gain you can increase the size of tb unit > at the cost of increased complexity. > for example in my design, i used constraint_length x > 8, because i have "Punctured codes" in my design. > Hope this helps > Regards, > Sridhar Nandula > Wireless design engineer > > ----- Original Message ----- > From: Hari Madhavan > To: ecc at opencores.org > Sent: Saturday, January 24, 2004 9:34 PM > Subject: [ecc] traceback in viterbi > > > I have a question regarding the traceback method > in viterbi decoding. It will be nice if someone can > help me > with this. > > In most of the situation, we have to work with a block > of encoded data > for decoding. The number of received inputs could be > far more or less than the > traceback depth, D. In such a situation, what happens > to the > traceback length for the last sets of data ? > > Is it necessary that always a depth of D > (constraint_length x 5, say) > has to be traced back, even for the last sets of > traceback ? Or > can it go on reducing ? > > Thanking you, > Yours sincerely, > Hari. > > __________________________________ > Do you Yahoo!? > Yahoo! SiteBuilder - Free web site building tool. Try it! > _______________________________________________ > http://www.opencores.org/mailman/listinfo/ecc
_______________________________________________ http://www.opencores.org/mailman/listinfo/ecc
**************************************** Confidentiality Notice The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. If you are not the intended recipient, please notify the sender at mailadmin at isofttech.com immediately and destroy all copies of this message and any attachments. ****************************************
no use no use 1/1 no use no use
© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.