Interleaver for Viterbi

Started by JAlbertoDJ February 16, 2007
I want to insert a interleaver-deinterlaver in my software for Viterbi.
 
If i have select r=1/2 and k=7, How many bits of interleaving is a good
option?
depends on the channel condition..
                                               base the interleaver
decision on channel..(OFCOURSE THIS IS OBVIOUS)..it will give good
results

regards
particlereddy


On Feb 16, 4:05 am, "JAlbertoDJ" <nietoro...@yahoo.es> wrote:
> I want to insert a interleaver-deinterlaver in my software for Viterbi. > > If i have select r=1/2 and k=7, How many bits of interleaving is a good > option?
Excuse for my english, but i refer to the numbers of bits of interleaving.
How many bits would be advise?


>depends on the channel condition.. > base the interleaver >decision on channel..(OFCOURSE THIS IS OBVIOUS)..it will give good >results > >regards >particlereddy > > >On Feb 16, 4:05 am, "JAlbertoDJ" <nietoro...@yahoo.es> wrote: >> I want to insert a interleaver-deinterlaver in my software for
Viterbi.
>> >> If i have select r=1/2 and k=7, How many bits of interleaving is a
good
>> option? > > >
hi alberto,


it depends on the constraints you have..say..i will put it this way..

1. First thing what i would tell is which application are you
targeting in particularly.is it stationary environment or mobile
environments..

An example of a IEEE paper on this says like this..

 Reconfigurable outer block interleaving over correlated Rayleigh
fading for 3GPP turbo coding
Chaikalis, C.   Noras, J.M.   Riera-Palou, F.

Turbo coding in correlated Rayleigh fading channels is improved by
outer block interleaving, but with added complexity and delay.
Choosing the wrong number of columns can increase the BER, so a
reconfigurable block interleaver with column number optimized for
different operating environments is useful. Simulation results are
presented for the four block interleaver configurations specified for
the 3GPP mobile standard in the case of correlated Rayleigh fading.
Using different data FRAME lengths in various SCENARIOS, the
advantages of adapting to an optimum number of columns are
demonstrated.

2. And second and most importantly..choosing a interleaving block
length purely based on channel will not do..choose
it also based

A. optimization point of view (i have seen N number of papers and
Patents.where block length have been chosen so that CC and
interleaving are done simulateneously (clubbed together in many cases)
to consume less number of cycles and less amount of memory)

B.  power consumption should be also be taken into consideration.

C. and also..see what kind of interleaving would suit you..packet or
block interleaving..

D. STUDY as many "Optimal Interleaving" algorithms as possible.

E. put interleaving block length as variable based on channel
condition every frame to every frame of data

last and finally try putting the block length "40 to 5114" for
interleaving..(here i am suggestion HSDPA ) and also if possible
try..wimax

and may be many other factors could be there while
considering..interleaving block length..

regards
particlereddy




On Feb 16, 8:03 am, "JAlbertoDJ" <nietoro...@yahoo.es> wrote:
> Excuse for my english, but i refer to the numbers of bits of interleaving. > How many bits would be advise? > > > > >depends on the channel condition.. > > base the interleaver > >decision on channel..(OFCOURSE THIS IS OBVIOUS)..it will give good > >results > > >regards > >particlereddy > > >On Feb 16, 4:05 am, "JAlbertoDJ" <nietoro...@yahoo.es> wrote: > >> I want to insert a interleaver-deinterlaver in my software for > Viterbi. > > >> If i have select r=1/2 and k=7, How many bits of interleaving is a > good > >> option?
On Fri, 16 Feb 2007 06:05:27 -0600, "JAlbertoDJ" <nietorosdj@yahoo.es>
wrote:

> >I want to insert a interleaver-deinterlaver in my software for Viterbi. > >If i have select r=1/2 and k=7, How many bits of interleaving is a good >option?
I think the first question would be "Why do you want to interleave?" Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org
I want to interleave because Viterbi run very bad with burst noise. So,
with interleaving a burst is divided into several bits separated in time.

I used an interleaver convolucional (diagonal). My question is the numbers
of bits (the minimum necessary) that i need separate. 

My Viterbi is r=1/2 and K=7, and my path memory is 5*k= 32 bits. Then i
think the diagonal of interleaver would be of 32 bits. isn't it? 



>On Fri, 16 Feb 2007 06:05:27 -0600, "JAlbertoDJ" <nietorosdj@yahoo.es> >wrote: > >> >>I want to insert a interleaver-deinterlaver in my software for Viterbi. >> >>If i have select r=1/2 and k=7, How many bits of interleaving is a good >>option? > >I think the first question would be "Why do you want to interleave?" > >Eric Jacobsen >Minister of Algorithms >Abineau Communications >http://www.ericjacobsen.org >
On Feb 16, 9:30 pm, "JAlbertoDJ" <nietoro...@yahoo.es> wrote:
> I want to interleave because Viterbi run very bad with burst noise. So, > with interleaving a burst is divided into several bits separated in time. >
You will need to characterize the noise bursts. How long are they on average?. If they arise from an impulse, such as a lightning discharge, then the burst could be as long as the impulse response of your receiver. I would say you want your interleaver to spread the burst out by several constraint lengths. You might also consider adding a noise blanker, which can excise the impulse before it gets filtered. John
i read that for ionospeheric communications 1 or 2 seconds is a good
value, for example 1.5 seconds.

1.5 seconds are 12 symbols in my modulation. But in Viterbi, path memory
(5*k) is 32 symbols.

Then, my question is if 1.5 seconds of interleaving is enough or i have to
rise to 32 symbols (4 seconds) because path memory in 32 symbols.



>You will need to characterize the noise bursts. How long are they on >average?. If they arise from an impulse, such as a lightning >discharge, then the burst could be as long as the impulse response of >your receiver. I would say you want your interleaver to spread the >burst out by several constraint lengths. You might also consider >adding a noise blanker, which can excise the impulse before it gets >filtered. > >John > >
On Feb 17, 7:35 am, "JAlbertoDJ" <nietoro...@yahoo.es> wrote:
> i read that for ionospeheric communications 1 or 2 seconds is a good > value, for example 1.5 seconds. > > 1.5 seconds are 12 symbols in my modulation. But in Viterbi, path memory > (5*k) is 32 symbols. > > Then, my question is if 1.5 seconds of interleaving is enough or i have to > rise to 32 symbols (4 seconds) because path memory in 32 symbols. > > >You will need to characterize the noise bursts. How long are they on > >average?. If they arise from an impulse, such as a lightning > >discharge, then the burst could be as long as the impulse response of > >your receiver. I would say you want your interleaver to spread the > >burst out by several constraint lengths. You might also consider > >adding a noise blanker, which can excise the impulse before it gets > >filtered. > > >John
For an example of a block interleaver preceding a Viterbi FEC decoder, consider the IS-95 mobile phone standard. In that standard the interleaver span is 26.67 msec. One of the channels that is transmitted by the base is the sync channel, which transmits 128 coded and interleaved symbols in 26.67 msec. The interleaver is a bit reversal type that permutes the symbol by the bit reverse of its index. This doesn't guarantee every pair of symbols a minimum seperation, but on average the separation turns out to be about 30. The FEC for the sync channel is rate 1/2 K=9. So the average seperation is several times the K value. John
To design an interleaver you really have to know your channel. If it
doesn't fade, then an interleaver won't help. If it does fade, then the
usual rule of thumb is an interleaver span at least 10 times the channel
coherence time.

Don't overlook frequency diversity for fading channels. Spread spectrum,
either direct sequence or frequency hopping, is the usual method. Here
you'd like to go wider than the channel coherence bandwidth.

OFDM is another form of frequency diversity; you can think of it as
frequency hopping where you transmit on all the hops at once. 802.11a/g is
a good example of a OFDM system that uses convolutional coding to provide
frequency diversity. The encoded symbols are distributed across the OFDM
carriers so that if one is lost in a frequency-selective null, it can be
regenerated with the symbols received on the other carriers. The time
diversity is kept small so as to minimize latency.