Thank you all for your help and suggestions, it's been most useful.
Cheers
--
Syd
Reply by Eric Jacobsen●February 4, 20132013-02-04
On Mon, 04 Feb 2013 18:09:38 -0600, Tim Wescott <tim@seemywebsite.com>
wrote:
>On Mon, 04 Feb 2013 18:03:04 -0600, Vladimir Vassilevsky wrote:
>
>> "Syd Rumpo" <usenet@nononono.co.uk> wrote in message
>> news:kepgbt$utk$1@dont-email.me...
>>> Hi
>>>
>>> I'm developing a custom OFDM modem. I use 52 carriers each encoding
>>> one nibble, so 26 bytes at a time.
>>>
>>> In order to avoid large peaks on transmit, I Xor the 26 bytes with
>>> 'randomly selected' 26 bytes before FFT and do the reverse on receive.
>>> These bytes were simply made using VB to make 26 'random' numbers.
>>> This works well, but it's not very scientific.
>>>
>>> How would I go about choosing suitable numbers for best performance?
>>> My main concern is when the data is all the same - zeros or ones. I'm
>>> resource limited with regard to processing power.
>>
>> There is approximately bazillion of methods for OFDM PAPR reduction;
>> here are the simplest ones:
>>
>> At every frame, try several pseudorandom xoring sequences from different
>> seeds, as long as computation permits. Select the one that makes for
>> best PAPR. Transmit randseed along with the data. This is not very
>> scientific but it works.
>>
>> Leave some subcarriers unoccupied. Generate the signal. Then use those
>> redundant subcarriers to generate anti-signal to attenuate the worst
>> peaks in the signal. If you could allow for ~20% redundancy, significant
>> improvement is possible.
>>
>> There are scientific methods for OFDM optimal coding for PAPR, although
>> those methods are hardly practical.
>
>Well, so much for my recollection of reducing PAPR in OFDM. Thanks for
>posting this.
>My Inner Egghead wants to combine the PAPR reduction with error
>correcting codes, basically making all of the allowable code words ones
>that also result in the lowest PAPR. I gather that doing so in any
>computationally tractable way is not a slam-dunk, or someone would be
>doing it already.
That idea was heavily researched about ten years ago, and you're
right, not much came of it.
Most of the PAPR techniques have tradeoffs that make them system
dependent. What was suggested above doesn't fit into most systems, so
they're almost never used in my experience.
Since the worst PAPR cases for OFDM are fairly pathological, e.g., all
of the subcarriers have the exact same phase, scrambling is usually
the first line of defense since it takes care of most of the
worst-offending cases, the complexity is low, and it's a common thing
to have in a comm system, anyway. There are some other fairly simple
things that can be done that are system dependent, and many systems
these days take care of a lot of related issues with the PA and the
control for the PA. Depending on the system constraints, like
complexity and latency tradeoffs, some techniques may be more
desirable than others.
For systems where PAPR creates big problems, the common path is to
just not use OFDM. e.g., LTE uses SC-FDMA, which sort-of turns OFDM
back into single-carrier, specifically to avoid the PAPR problems.
>--
>My liberal friends think I'm a conservative kook.
>My conservative friends think I'm a liberal kook.
>Why am I not happy that they have found common ground?
>
>Tim Wescott, Communications, Control, Circuits & Software
>http://www.wescottdesign.com
> Hi
>
> I'm developing a custom OFDM modem. I use 52 carriers each encoding one
> nibble, so 26 bytes at a time.
>
> In order to avoid large peaks on transmit, I Xor the 26 bytes with
> 'randomly selected' 26 bytes before FFT and do the reverse on receive.
> These bytes were simply made using VB to make 26 'random' numbers. This
> works well, but it's not very scientific.
>
> How would I go about choosing suitable numbers for best performance? My
> main concern is when the data is all the same - zeros or ones. I'm
> resource limited with regard to processing power.
>
> Cheers
On Mon, 04 Feb 2013 23:31:40 +0000, Syd Rumpo <usenet@nononono.co.uk>
wrote:
>Hi
>
>I'm developing a custom OFDM modem. I use 52 carriers each encoding one
>nibble, so 26 bytes at a time.
>
>In order to avoid large peaks on transmit, I Xor the 26 bytes with
>'randomly selected' 26 bytes before FFT and do the reverse on receive.
>These bytes were simply made using VB to make 26 'random' numbers. This
>works well, but it's not very scientific.
>
>How would I go about choosing suitable numbers for best performance? My
>main concern is when the data is all the same - zeros or ones. I'm
>resource limited with regard to processing power.
>
>Cheers
>--
>Syd
Syd,
You're more or less on the right track. Randomization has very good
bang for the buck for PAPR reduction in OFDM. Usually a
linear-feedback "scrambler" is used for randomization rather than a
LUT of precomputed values, but either can be made to work if one is
careful. This process is also sometimes referred to as "whitening",
as it serves to flatten out the spectrum of the transmitted signal.
http://www.lfsrscrambler.com/http://en.wikipedia.org/wiki/Scrambler
On the Wiki site there are links at the bottom of the page to some
commonly used scramblers.
If you want to use a LUT instead of an LFSR system, the system needs
to have enough entropy (i.e., be random enough) to not create
repetitive patterns that will detrimentally affect the output
characteristics. This can be done with relatively small LUTs if some
other mechanism is used to randomize the access to the LUT, which
really just creates another randomization problem.
If the output width of the LUT aligns with the partitions of the
subcarrier data, e.g., they're both nybbles, this can make it harder
to get effective randomization. One of the advantages of the LFSR is
that the lengths are often odd, so there is not correlation between
the LFSR output and any type of framing boundary.
Hope that helps a bit or two.
Eric Jacobsen
Anchor Hill Communications
http://www.anchorhill.com
Reply by Tim Wescott●February 4, 20132013-02-04
On Mon, 04 Feb 2013 18:03:04 -0600, Vladimir Vassilevsky wrote:
> "Syd Rumpo" <usenet@nononono.co.uk> wrote in message
> news:kepgbt$utk$1@dont-email.me...
>> Hi
>>
>> I'm developing a custom OFDM modem. I use 52 carriers each encoding
>> one nibble, so 26 bytes at a time.
>>
>> In order to avoid large peaks on transmit, I Xor the 26 bytes with
>> 'randomly selected' 26 bytes before FFT and do the reverse on receive.
>> These bytes were simply made using VB to make 26 'random' numbers.
>> This works well, but it's not very scientific.
>>
>> How would I go about choosing suitable numbers for best performance?
>> My main concern is when the data is all the same - zeros or ones. I'm
>> resource limited with regard to processing power.
>
> There is approximately bazillion of methods for OFDM PAPR reduction;
> here are the simplest ones:
>
> At every frame, try several pseudorandom xoring sequences from different
> seeds, as long as computation permits. Select the one that makes for
> best PAPR. Transmit randseed along with the data. This is not very
> scientific but it works.
>
> Leave some subcarriers unoccupied. Generate the signal. Then use those
> redundant subcarriers to generate anti-signal to attenuate the worst
> peaks in the signal. If you could allow for ~20% redundancy, significant
> improvement is possible.
>
> There are scientific methods for OFDM optimal coding for PAPR, although
> those methods are hardly practical.
Well, so much for my recollection of reducing PAPR in OFDM. Thanks for
posting this.
My Inner Egghead wants to combine the PAPR reduction with error
correcting codes, basically making all of the allowable code words ones
that also result in the lowest PAPR. I gather that doing so in any
computationally tractable way is not a slam-dunk, or someone would be
doing it already.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?
Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com
Reply by Vladimir Vassilevsky●February 4, 20132013-02-04
"Syd Rumpo" <usenet@nononono.co.uk> wrote in message
news:kepgbt$utk$1@dont-email.me...
> Hi
>
> I'm developing a custom OFDM modem. I use 52 carriers each encoding one
> nibble, so 26 bytes at a time.
>
> In order to avoid large peaks on transmit, I Xor the 26 bytes with
> 'randomly selected' 26 bytes before FFT and do the reverse on receive.
> These bytes were simply made using VB to make 26 'random' numbers. This
> works well, but it's not very scientific.
>
> How would I go about choosing suitable numbers for best performance? My
> main concern is when the data is all the same - zeros or ones. I'm
> resource limited with regard to processing power.
There is approximately bazillion of methods for OFDM PAPR reduction; here
are the simplest ones:
At every frame, try several pseudorandom xoring sequences from different
seeds, as long as computation permits.
Select the one that makes for best PAPR. Transmit randseed along with the
data. This is not very scientific but it works.
Leave some subcarriers unoccupied. Generate the signal. Then use those
redundant subcarriers to generate anti-signal to attenuate the worst peaks
in the signal. If you could allow for ~20% redundancy, significant
improvement is possible.
There are scientific methods for OFDM optimal coding for PAPR, although
those methods are hardly practical.
Vladimir Vassilevsky
DSP and Mixed Signal Consultant
www.abvolt.com
Reply by Tim Wescott●February 4, 20132013-02-04
On Mon, 04 Feb 2013 23:31:40 +0000, Syd Rumpo wrote:
> Hi
>
> I'm developing a custom OFDM modem. I use 52 carriers each encoding one
> nibble, so 26 bytes at a time.
>
> In order to avoid large peaks on transmit, I Xor the 26 bytes with
> 'randomly selected' 26 bytes before FFT and do the reverse on receive.
> These bytes were simply made using VB to make 26 'random' numbers. This
> works well, but it's not very scientific.
>
> How would I go about choosing suitable numbers for best performance? My
> main concern is when the data is all the same - zeros or ones. I'm
> resource limited with regard to processing power.
>
> Cheers
Actually, if I'm not mistaken you need to worry any time all of the
nibbles are the same pattern (which will give you a honkin' big pulse at
the phase encoded by that pattern), and any time the phase of the
carriers is offset by a constant amount with frequency (which will give
you a honkin' big pulse at some time other than the center of the frame).
And if you just XOR by a fixed number, then you have to worry if any of
the above conditions happen _after_ the XOR, instead of before. For
truly random data you haven't changed your chances of success, but for
most real data all zeros or all ones is probably most likely.
There. I've almost exhausted my knowledge of OFDM. Just one more thing
to add: I've seen the peak/average ratio problem discussed before on this
group, and if I recall correctly there isn't a tidy solution to it.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?
Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com
Reply by Syd Rumpo●February 4, 20132013-02-04
Hi
I'm developing a custom OFDM modem. I use 52 carriers each encoding one
nibble, so 26 bytes at a time.
In order to avoid large peaks on transmit, I Xor the 26 bytes with
'randomly selected' 26 bytes before FFT and do the reverse on receive.
These bytes were simply made using VB to make 26 'random' numbers. This
works well, but it's not very scientific.
How would I go about choosing suitable numbers for best performance? My
main concern is when the data is all the same - zeros or ones. I'm
resource limited with regard to processing power.
Cheers
--
Syd