DSPRelated.com
Forums

Why randomization is needed prior to FER ?

Started by jia April 10, 2008
Hi, here

I am confused about the usage of the Randomization prior to FEC.

Usually, the transmit burst is randomized by being correlated with a
pseudorandom binary sequence, before being fed into the FEC encoder
(Turbo code, LDPC etc.).

What is the usage of the "Randomization" ?

Is it to avoid long sequences of consecutive "0"s and "1"s?

Then, why we need to avoid such sequences?

Thanks.

--
Jia
Sorry about the title.

I mean the typo - "FER", which should be "FEC".
jia wrote:
> Hi, here > > I am confused about the usage of the Randomization prior to FEC. > > Usually, the transmit burst is randomized by being correlated with a > pseudorandom binary sequence, before being fed into the FEC encoder > (Turbo code, LDPC etc.). > > What is the usage of the "Randomization" ? > > Is it to avoid long sequences of consecutive "0"s and "1"s? > > Then, why we need to avoid such sequences?
This has nothing to do with FEC, really. Its something you need to do in most digital comms systems, for good performance. You need to whiten the signal, with some form or pseudo-randomisation, for various reasons. The exact set of reasons depends on the modulation scheme and the nature of the channel. However, there almost always ends up being reasons why its needed - avoiding DC content, avoiding intense spectral lines, ensuring plenty of transitions to get a good timing fix at the receiver, etc. If the data just happens to reverse the effects of the scrambling, things can go horribly wrong. In practice the chances of that happening over any significant period are low, but its good fun when experimenting to work out a data stream that does this. :-) Steve
Steve Underwood wrote:
> jia wrote: >> Hi, here >> >> I am confused about the usage of the Randomization prior to FEC. >> >> Usually, the transmit burst is randomized by being correlated with a >> pseudorandom binary sequence, before being fed into the FEC encoder >> (Turbo code, LDPC etc.). >> >> What is the usage of the "Randomization" ? >> >> Is it to avoid long sequences of consecutive "0"s and "1"s? >> >> Then, why we need to avoid such sequences? > > This has nothing to do with FEC, really. Its something you need to do in > most digital comms systems, for good performance. You need to whiten the > signal, with some form or pseudo-randomisation, for various reasons. The > exact set of reasons depends on the modulation scheme and the nature of > the channel. However, there almost always ends up being reasons why its > needed - avoiding DC content, avoiding intense spectral lines, ensuring > plenty of transitions to get a good timing fix at the receiver, etc. If > the data just happens to reverse the effects of the scrambling, things > can go horribly wrong. In practice the chances of that happening over > any significant period are low, but its good fun when experimenting to > work out a data stream that does this. :-) > > Steve
With QAM, one of the things the data whitening should achieve is an even spread of usage of all the constellation points. A fun trick is to work out a data sequence that unscrambles to the extent that only a smaller inner group of constellation points are used. Then the power drops dramatically, and the receiver probably thinks the carrier has died. I was once sent a test case data file which did exactly this for about a minute with the V.29 modem used for FAX. It took me a while to realise it was a trick data file, as it seemed so unlikely someone would have cooked it up. :-\ Steve
jia <jia.qinghua@gmail.com> writes:

> Hi, here > > I am confused about the usage of the Randomization prior to FEC. > > Usually, the transmit burst is randomized by being correlated with a > pseudorandom binary sequence, before being fed into the FEC encoder > (Turbo code, LDPC etc.). > > What is the usage of the "Randomization" ? > > Is it to avoid long sequences of consecutive "0"s and "1"s? > > Then, why we need to avoid such sequences? > > Thanks.
Hi Jia, If by randomize you mean "modulation code" [proakiscomm, p.181], then you would randomize after FEC, not before. The purpose of a modulation code is to shape the spectrum of the transmitted signal. In some cases the shaping is intended to spread out the spectrum so that it isn't "line-like." In other cases it is intended to introduce some memory into the signal. One common reason to do the spectral shaping is as you noted: to avoid long sequencies of ones and zeros. The reason such sequences are undesirable is that, when they are present, they can violate the spectral masks the FCC and other RF regulatory organizations impose on signal transmission. These signals they make the output spectrum line-like, i.e., all the signal power is concentrated at a few (or one) frequencies, which means, given that the total output signal power is constant, the signal power in any small portion of the spectrum becomes much larger and may rise above the spectral mask. As an example, see the spectral mask for signals specified by the FCC part 15 rules shown in section 15.109 of http://www.fcc.gov/oet/info/rules/part15/part15-9-20-07.pdf --Randy @BOOK{proakiscomm, title = "{Digital Communications}", author = "John~G.~Proakis", publisher = "McGraw-Hill", edition = "fourth", year = "2001"} -- % Randy Yates % "Maybe one day I'll feel her cold embrace, %% Fuquay-Varina, NC % and kiss her interface, %%% 919-577-9882 % til then, I'll leave her alone." %%%% <yates@ieee.org> % 'Yours Truly, 2095', *Time*, ELO http://www.digitalsignallabs.com
Randy Yates <yates@ieee.org> writes:

> jia <jia.qinghua@gmail.com> writes: > >> Hi, here >> >> I am confused about the usage of the Randomization prior to FEC. >> >> Usually, the transmit burst is randomized by being correlated with a >> pseudorandom binary sequence, before being fed into the FEC encoder >> (Turbo code, LDPC etc.). >> >> What is the usage of the "Randomization" ? >> >> Is it to avoid long sequences of consecutive "0"s and "1"s? >> >> Then, why we need to avoid such sequences? >> >> Thanks. > > Hi Jia, > > If by randomize you mean "modulation code" [proakiscomm, p.181], > then you would randomize after FEC, not before.
Jia, It just occurred to me that you may be speaking of the block usually called the "source encoder" since it is done before FEC. If that is the case, then the reason that is done is to reduce the rate required of the communication channel. Think of, e.g., a human voice recorded at 16 bits and 44.1 kHz. There is a lot of redundancy in that type of signal and R = 16 bits / sample * 441000 samples / sec = 705.6 bits / sec is not necessary. Instead, e.g., with source coders like the GSM AMR codecs the rate can be brought down to a few 1000 bits / sec. -- % Randy Yates % "She has an IQ of 1001, she has a jumpsuit %% Fuquay-Varina, NC % on, and she's also a telephone." %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Yours Truly, 2095', *Time*, ELO http://www.digitalsignallabs.com
Randy Yates <yates@ieee.org> writes:

> R = 16 bits / sample * 441000 samples / sec = 705.6 bits / sec
Correction! R = 16 bits / sample * 441000 samples / sec = 705.6k bits / sec -- % Randy Yates % "Ticket to the moon, flight leaves here today %% Fuquay-Varina, NC % from Satellite 2" %%% 919-577-9882 % 'Ticket To The Moon' %%%% <yates@ieee.org> % *Time*, Electric Light Orchestra http://www.digitalsignallabs.com

jia wrote:
> Hi, here > > I am confused about the usage of the Randomization prior to FEC.
If the randomization is done by multiplication/division by a polynomial, it should be done prior to FEC to avoid the propagation of the errors. If the randomization is done by XORing with the random sequence, then it can be done either before or after FEC.
> Usually, the transmit burst is randomized by being correlated with a > pseudorandom binary sequence, before being fed into the FEC encoder > (Turbo code, LDPC etc.). > > What is the usage of the "Randomization" ? > > Is it to avoid long sequences of consecutive "0"s and "1"s? > > Then, why we need to avoid such sequences?
Depending on the system, there are several reasons why: 1. The transitions are required to maintain the symbol synchronisation. The long sequences of the identical symbols may result in the loss of lock. 2. In the OFDM, the long sequences of the identical symbols will result in the bad PAPR. 3. Some systems don't pass the DC in the signal. The randomization alleviates this problem. 4. Regulatory issues (average vs peak spectral power densities) Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

Steve Underwood wrote:


>> If the data just happens to reverse the >> effects of the scrambling, things can go horribly wrong. In practice >> the chances of that happening over any significant period are low, but >> its good fun when experimenting to work out a data stream that does >> this. :-) > > With QAM, one of the things the data whitening should achieve is an even > spread of usage of all the constellation points. A fun trick is to work > out a data sequence that unscrambles to the extent that only a smaller > inner group of constellation points are used. Then the power drops > dramatically, and the receiver probably thinks the carrier has died. > > I was once sent a test case data file which did exactly this for about a > minute with the V.29 modem used for FAX. It took me a while to realise > it was a trick data file, as it seemed so unlikely someone would have > cooked it up. :-\
:)))))) In OFDM, sometimes they have a choice of several different random sequences for every symbol. The sequence which produces the best result with the current chunk of data is selected. So this is a counter to the tough luck :) Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On Thu, 10 Apr 2008 12:58:21 GMT, Vladimir Vassilevsky
<antispam_bogus@hotmail.com> wrote:


>jia wrote: >> Hi, here >> >> I am confused about the usage of the Randomization prior to FEC. > >If the randomization is done by multiplication/division by a polynomial, >it should be done prior to FEC to avoid the propagation of the errors. >If the randomization is done by XORing with the random sequence, then it >can be done either before or after FEC. > >> Usually, the transmit burst is randomized by being correlated with a >> pseudorandom binary sequence, before being fed into the FEC encoder >> (Turbo code, LDPC etc.). >> >> What is the usage of the "Randomization" ? >> >> Is it to avoid long sequences of consecutive "0"s and "1"s? >> >> Then, why we need to avoid such sequences? > >Depending on the system, there are several reasons why: > >1. The transitions are required to maintain the symbol synchronisation. >The long sequences of the identical symbols may result in the loss of lock. > >2. In the OFDM, the long sequences of the identical symbols will result >in the bad PAPR. > >3. Some systems don't pass the DC in the signal. The randomization >alleviates this problem. > >4. Regulatory issues (average vs peak spectral power densities) > > >Vladimir Vassilevsky >DSP and Mixed Signal Design Consultant >http://www.abvolt.com
What he said. Vladimir's reasons 1 and 2 are the big ones. Lots of other little reasons apply as well, like 3 and 4 and others that may be system-specific. Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org