Implementing a Hilbert (90 degree shift) filter in Python
Why? A digital 90° phase shift filter is an important building block of the so-called Software Defined Radios (SDRs). And SDR is a radio that has (relatively) minimal hardware, and most of the features are implemented in software. There are no fancy buttons and displays, but there is a UI application that controls the box. The box is a direct conversion receiver. It just converts part of the radio frequency spectrum to the audio spectrum (the reality is a bit more complicated, but you got the idea). An SDR usually provides two signals that are almost the same, except one signal's frequency components are shifted 90 degrees in one direction. Given these two audio signals, the software can do anything a conventional receiver can achieve with bulky components or expensive integrated circuits. Plus, the software can be changed easily. Actually this is the greatest thing in SDRs. The software can demodulate AM signals by LW-MW-SW broadcast stations, or FM usually encountered ...