Tuesday, July 22, 2014

Linear least squares phase estimation of a sine wave

This snippet extracts the phase out of a noisy sinusoidal signal. The algorithm is a clever linear least squares (LLS) scheme, courtesy of the IEEE waveform measurement standard for characterizing ADCs and DACs. It works in spite of the fact that the sine wave is non-linear -- which just underscores the point that the linear bit of LLS is linearity in the parameters, not the fit function. It works quite a bit faster than the Levenberg-Marquardt nonlinear least squares routine.

 

Monday, July 21, 2014

Exit fluff. Enter IEP !

After dinking around with getting iPython notebooks to work without trouble on my linux laptop, I've finally hit the limit of my patience for the sluggishness and foppish foofery of iPython notebooks. I tried to revert to my old gedit + Dreampie combination, but having been spoiled by executing code inline, I looked around for other alternatives. And found an amazing option: IEP 

The features I like include
  • syntax highlighting and the simple, uncluttered interface
  • organized file structure for projects
  • easy integration with matplotlib (and not having to switch back and forth with %pylab tags to make code run on different machines)
  • being able to run selected code snippets with just Alt + Enter !
One word for it. Liberating!