From: Tim Wescott on
jungledmnc wrote:
> Thank you all people! And Nils actually that's what I'm talking about -
> audio stuff, so thanks a lot for valuable info!
>
> Anyway folks can you point me out to some zero-latency method? I mean there
> was a Hilbert transformer idea, I never did it, but assume it is
> similar/generalized fourier transform, so it would be processed block by
> block, therefore induce latency. Similar with pitch-shifting, I guess it
> could be done using granular-pitch shifting, but the results are usually
> quite ugly.

Squaring the signal up with a comparator then dividing by two digitally
is probably the least-delay way to do it, and the most problematical.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
From: jungledmnc on
>
>Squaring the signal up with a comparator then dividing by two digitally
>is probably the least-delay way to do it, and the most problematical.

Thanks Tim, but what does that mean? Squating the signal = each sample^2, I
guess. "With a comparator"? "Dividing by 2 digitally"?
From: Tim Wescott on
jungledmnc wrote:
>> Squaring the signal up with a comparator then dividing by two digitally
>> is probably the least-delay way to do it, and the most problematical.
>
> Thanks Tim, but what does that mean? Squating the signal = each sample^2, I
> guess. "With a comparator"? "Dividing by 2 digitally"?

Oops -- that was pure Circuits response, and this is a DSP newsgroup.

_If_ you were doing this with analog circuitry, you'd run the signal
through a comparator to turn it from a nice, curvy, sorta-sine wave
thing into a harsh, jagged square wave. Then you'd use that as the
clock in a divide-by-two circuit.

You _ought_ to be able to do the same thing DSPishly, but you'll need to
either sample absurdly fast, or you'll need to detect zero crossings
then extrapolate the exact zero crossing time from offset and slope,
then recreate a 'divided by two' and filtered wave. Still doable, still
low latency -- but with at least one clock of latency to catch the zero
crossing.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
From: jacko on
On Mar 17, 5:33 pm, "jungledmnc" <jungledmnc(a)n_o_s_p_a_m.gmail.com>
wrote:
> >Hi
>
> >Sub harmonics? umm. integrate your signal, comparator slice it with
> >the LPF DCish of your signal, feed back some of this square wave after
> >dividing by two via a schmitt trigger FF into your signal. Low pass
> >filter this and add some to your original signal to make the sub
> >harmonic enhanced version.
>
> >Cheers Jacko
>
> >p.s. don't forget the sub base W bins. ;-)
>
> Uuuuuu :)) what? :)) Could you write it in twice as number of words? I'm
> trying to decode it, but I'm kinda stuck :)).

Given signal X
1. Make Integral(x)
2. make LowPassFilterDC(x)
3. Make (Intergral(x)-LowPassFilterDC(x))*BigGainComparator
4. Clock a T flip-flop with 3. So Making 4 at the flip flop output.
5. Make x+LPF(signal 4).

Extend as appropriate!!

If you have high harmonics, 5. is better as Make x*signal 4.maybe,
even harmonics?? and chain a few together. or better still apply
feedback.

Cheers Jacko

From: jacko on
On Mar 17, 11:06 pm, "jungledmnc" <jungledmnc(a)n_o_s_p_a_m.gmail.com>
wrote:
> >Squaring the signal up with a comparator then dividing by two digitally
> >is probably the least-delay way to do it, and the most problematical.
>
> Thanks Tim, but what does that mean? Squating the signal = each sample^2, I
> guess. "With a comparator"? "Dividing by 2 digitally"?

I thinks he means make it a square wave.