That "analytic" filter is very interesting.  My own frequency-response
displays are given below.  The test program is simply "process = 1-1'
: analytic;" followed by an fft of the output signal.  For the
magnitude, red is the real part and blue the imaginary part.  The
phase plot is the difference between the real and imaginary part phase
outputs, which sticks close to 90 degrees, while there is an overall
common phase drift in both channels.  It very aggressively pushes the
band quite wide.  Do we know its copyright status?  I think it would
be worth adding to the library if we can determine this and author.

Thanks,
- Julius

https://ccrma.stanford.edu/~jos/png/analytic/1.png
https://ccrma.stanford.edu/~jos/png/analytic/2.png
https://ccrma.stanford.edu/~jos/png/analytic/3.png


On Fri, Jul 5, 2019 at 5:10 PM Dario Sanfilippo
<sanfilippo.da...@gmail.com> wrote:
>
>
>>
>>         process = 1-1' <: hilbert;
>>
>> http://people.redhat.com/onestero/hilbert/hilbert.png
>
>
> Then the phase shift is rather consistent even above 2k in "hilbert". The 
> Gnuplot plot with the "with lines" option was deceiving as it interpolates 
> between the points and it resulted in that thick circle.
>
> So "hilbert" works quite well for about the whole audible range. It would be 
> nice to have a filter dedicated to the sub-audio range as well as sub-audio 
> SSBM in feedback loops can be so interesting.
>
> Thanks, Oleg and Julius.
>
> D
>>
>>
>>
>>
>>         pospass(N) = unmodulate : lpf(fc), lpf(fc) : modulate with {
>>           unmodulate = _ <: *(c),*(-s);
>>           modulate(x,y) = c*x-s*y, c*y + s*x;
>>           lpf = fi.lowpass(N); // or fi.lowpass6e, etc.
>>           //lpf = fi.lowpass6e; // strongest lowpass filter in filters.lib 
>> as of this writing
>>           guard = ma.SR/(2*N); // Guard-band to allow for filter roll-off
>>           fc = ma.SR/4 - guard;
>>           c = 1-1' : +~(*(-1):mem); // ||: 1, 0, -1, 0 :||
>>           s = c';
>>         };
>>
>>         process = 1-1' <: pospass(8);
>>
>> http://people.redhat.com/onestero/hilbert/pospass.png
>>
>>         process = 1-1' <: hilbert, pospass(8);
>>
>> http://people.redhat.com/onestero/hilbert/both.png
>>
>> Oleg.
>>


--

Julius O. Smith III <j...@ccrma.stanford.edu>
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/


_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to