Frank
I've been digging into Hilbert filters for IQ receivers using the Oak Hills software. One of the things I notice is that the typically used designs that have about 100 taps start to fall apart below about 800 Hz with resulting loss of sideband suppression close to carrier. Do you have any data about what the sideband suppression below 1Khz is with your convolutional approach?
Joe
W3JDR
Hi Joe,
there are several aspects with this according to my experience:
* convolution filtering is computationally less intense if you substitute FIR filters from about 60 taps onwards, so even with such a low no. of taps (100) in your Hilbert Filter it would be worth using convolution filtering --> Borgerding has some figures about that in his papers (link in my github WIKI)
* Teensy Convolution SDR uses a 512-point FFT, so this is equivalent to 256 tap FIR filtering (with 50% overlap). Now: we do a decimation step with a decimation-by-4, that means that the filter skirts are even 4 times steeper (with 4 times lower internal sample rate), so that the convolution filtering is equivalent to a FIR filter with 1024 taps --> 10 times higher than the filter you designed in IOWA HILLS filter designer
* the Hilbert filter in the Teensy Convolution SDR is not easy to see: it is hidden inside the calculation of the complex FIR filtering coefficients --> look at the code function which is called something like "calc_cplx_coeffs"
* sideband suppression in the Teensy Convolution SDR is something like 55-65dB. It is dependent on switching ON the I/Q correction routine by Moseley & Slump --> user option in the menu --> default is ON
* maybe you can achieve some dB better by manual IQ amplitude and phase correction, but this has to be done for every band. My tests revealed that it is not necessary to use manual correction, because the automatic correction is at least of equal quality than manual tweaking
Performance of Hilbert filter at low frequencies:
* we use an IF frequency of IF == sample rate / 4
* That means the Hilbert filter is not stressed too much in the low frequency range where opposite sideband rejection could be worse (however, we have 1024 taps!), but it is supposed to have good rejection at the frequencies at -samplerate / 4
I have written up some lines for the mcHF WIKI concerning the thematic of sideband suppression and Hilbert filters at low frequencies, maybe that is of interest:
https://github.com/df8oe/UHSDR/wiki/IQ---correction-and-mirror-frequencies
And also something about sideband suppression which adresses exactly your question:
https://github.com/df8oe/UHSDR/wiki/How-does-your-UHSDR-software-DSP-work
If you have further questions, dont hesitate to ask.
But it would be good if you could be a little bit more specific with your observations/questions. E.g.
* what exactly means "designs start to fall apart" -> what did you test? what were the results of these tests? Could you provide any figures?
Have fun with the Teensy Convolution SDR,
Frank DD4WH