Order Tray | Contact Us | Home | SIG Lists

[ss] PN Sequences with a set duty cycle

Phil Karn karn at ka9q.net
Sat Jan 7 21:43:38 UTC 2006


Darryl Smith wrote:
> G'Day All...
> 
> I am wanting to generate a PN (Pseudo Noise) sequence with a given duty
> cycle, with some of the properties of PN such that there are no more than x
> 1's or 0's, and also have the sequence repeat.
> 
> The big question... How would I do this?
> 

What do you mean by "a given duty cycle"? A given ratio of 0's and 1's?

PN sequences always have odd lengths of the form 2**n - 1, so they can't 
have an equal number of 0's and 1's. There's always one more 1 than 0, 
unless the whole sequence is inverted in which case there's one more 0 
than 1. Usually you *want* an equal number of 0's and 1's, so this 
imbalance can be made arbitrarily insignificant by just using a very 
long sequence.

It's possible to "extend" a basic PN sequence to a length that's an even 
power of two by stuffing a zero when the state recycles. This makes the 
0's and 1's exactly balanced. The "short" PN code in CDMA digital 
cellular does this to simplify the rest of the system structure.

I suppose you could post-process a PN sequence to change the 0/1 
balance, but the process would be nonlinear and probably also have 
memory so it would no longer have the nice mathematical 
pseudo-randomness properties of all basic PN sequences. (You'd be 
especially concerned about what this would do to its autocorrelation and 
cross-correlation properties.)

These days you might be better off using software to generate a long 
random sequence with just the properties you want and then placing that 
sequence in a ROM lookup table and clocking it out.

--Phil




More information about the ss mailing list