Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The first time I read this write-up I found it to be such a great resource because of the range of topics it touches on, with each one an entry point to some new subfield I didn't know about (coming from a non-EE background).

DSSS? Time to go on a wikipedia dive into modulation schemes

Numerically-controlled oscillators? There's something I haven't encountered, and let's read about FPGAs while we're at it.

1-bit ADC? Crazy that that even works, but it uses a bunch of interesting DSP math that I never even knew I was missing!

Plus the entire GPS signal chain, from the atomic clocks to the demodulated bits and inverse trig problem... incredible to see it all compiled into one (so well documented) project. I still go back and read this sometimes when I've forgotten part of it because it's fun to rediscover all the gems that went into building this receiver.



DSSS is an exceptionally interesting topic, IMO. It uses linear feedback shift registers which some CS types may have encountered as a very cheap PRNG. But it also makes these interesting spectral properties, and it's orthogonal to time-delayed versions of itself. That's quite a lot of somewhat unexpected properties for a fairly simple shift register construction.


To shed some light on the connection between these properties: they arise from the fact that the coding sequence _is_ pseudo random noise. Specifically, white noise.

White noise has this nice property that its autocorrelation is ideally a discrete delta function, aka a 1 at t = 0 and 0 everywhere else. In the time domain, this means that only an exactly aligned code sequence matches itself – ideal for communication symbols.

Spectrally, white noise is flat and fills the entire available frequency spectrum. This produces the “spreading” of digital spread spectrum sequences (DSSS).

Any kind of white noise could be used for this, but as far as I remember, the Gold codes used in GPS are: easy to generate and maximally different from each other.


It was one of the pages that inspired me in my journey away from physics into electronic engineering. Such a cool piece of work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: