Posted on:

hallo together, today I have a little question: Is it possible to turn a common FIRbandpass into a bandpass with 90 degree phase shift? And if possible, how to do? My usual procedure: 1. make a lowpass for the lower frequency edge (sin(x)/x * Blackmann) 2. make a second lowpass for the upper frequency edge (also sin(x)/x * Blackmann) 3. normalize both lowpasses 4. turn the second lowpass per spektral inversion to a highpass 5. add both passes, this makes a band reject pass 6. turn it into a band pass by spektral inversion This makes all the taps for a decent FIRbandpass, it works fine for even as well as for odd tap numbers, but without any phase shift. The output is limited to the desired frequency span as requested, so I hope it should be possible to add a 90 degree phase shift to it (a la Hilbert) A decent testbench for the a.m. filter I already have written for myself, but not yet for a added Hilbert transformation. so, has anyone a nice idea for this? kind regards W.S.
Posted on:

Iowa Hills Hilbert Filter Designer Ver 2.3 (free) I hope, this helps.
Posted on:

Sorry, no. I already know the apps from IOWA. My intention is rather, to be able to calculate the taps at runtime in the device. So I need the algorithm raher than the output of a IOWA filter app. thanks and kind regards W.S.
Posted on:

Moin, Maybe this recipe works out for you: All frequencies between 0..1(=Fsample/2) Lower Band edge: Fa Upper Band edge: Fb Calculate: Fshift=(Fa+Fb)/2 Flp=(FbFa)/2 Design Lowpass filter with Flp as usual. Index of its coefficents goes from k...0...+k. For the QuadratureBP: Multiply each of its coefficients by sin(pi*k*Fshift) (for the InphaseBP: Multiply with cos(pi*k*Fshift)) Gruss WK
Posted on:

Octave has an open remez algorithm for hilpert FIR http://octave.sourceforge.net/signal/function/remez.html