Well I believe the system is LTI just because the DFT is LTI by
definition.  The impulse response of a rectangular window I believe is that
of a sinc function, which has ripple artifacts.  Actually, the overlap-add
method (sorry I don't have time to dig into the differences between
overlap-add and overlap-save right now) minimizes artifacts depending on
the windowing function. A sine window actually sums to 1, the proof of
which can be found in audio coding theory.  I suggest you check out the
book by Bosi.

Thanks,
-ez

On Sun, Mar 8, 2020, 3:01 PM robert bristow-johnson <
r...@audioimagination.com> wrote:

>
>
> > On March 8, 2020 2:00 PM Zhiguang Eric Zhang <zez...@nyu.edu> wrote:
> >
> > it is not causal because the zero-phase system does not depend on past
> samples
> >
> >
> > On Sun, Mar 8, 2020 at 1:58 PM Zhiguang Eric Zhang <zez...@nyu.edu>
> wrote:
> > > the frequency response is a function of the windowing function
> > >
> > >
>
> what frequency response, Eric?  if the only sample the "zero-phase system"
> depends on is the present sample, not past nor future samples, then the
> system is a wire or simply a scaler (if it's linear) or some other
> memoryless function if it's nonlinear.  we normally mean linear systems
> when we discuss "frequency response".
>
> people here on this list are pretty competent about what linear system
> theory is, what makes systems linear or not, what makes them time-invariant
> or not, what makes for causal and acausal systems, what determines the
> frequency response of a linear system (it's the impulse response), what
> window functions are and their effect on the spectra of signals, what
> linear-phase systems are and what hypothetical zero-phase systems are.
> this is all in textbooks.
>
> one thing that needs to happen for anyone to truly assist anyone else
> here, is that communication is unambiguous and accurate.  that means we
> really have to agree on the definitions of terms.
>
> an FIR filter is a linear, time-invariant system.  it can be a
> linear-phase system, but it doesn't have to be.  that depends on the IR,
> which is F.  if and only if the IR is symmetrical, it's linear-phase.  a
> linear-phase FIR can be modeled as a hypothetical zero-phase FIR (so only
> magnitude response is in its description) followed or preceded by a delay
> of 1/2 of the length of the FIR.  the phase response of a delay is a linear
> function of frequency, hence "linear phase".  a hypothetical zero-phase
> filter is one with symmetry about the t=0 axis of the impulse response.
> that means that samples in the future of the IR are a mirror image of
> samples in the past.  add some delay and you can move all of the non-zero
> samples to the past (and one for the present input sample).
>
> using the FFT (and iFFT and frequency-domain multiplication of the
> frequency response) is an operation we often call "fast convolution".  fast
> convolution is used for very long (but still finite) FIRs.  for short FIRs
> we just do it the simple way, a dot-product of the IR against the most
> recent input samples.  fast convolution is performed using one of two
> techniques: "overlap-add" (OLA) and "overlap-scrap" (OLS).  the older lit
> will say "overlap-save" for OLS, but we mean the same thing.
>
> normally, the only windowing we do for fast convolution, is the
> rectangular window.  because of the overlapping and the linear-system
> nature of the operation, there are no windowing effects.  it *is* possible
> to do something like fast convolution FIR with overlap-add using a
> different window as long as it is complementary in the overlap (such as a
> Hann window), but it makes the operation less "fast".  if there is 50%
> overlap, the number of net output samples computed in each frame is 1/2
> that for using rectangular given both windows having the same non-zero
> length, so it would be half as efficient.
>
> lastly, this "overlap-add" method of fast convolution should not be
> confused with the overlap-add method of the STFT processing music DSP
> people often use for more general and sophisticated processing of audio
> (such as a phase vocoder).  generally more sophisticated than an FIR.  in
> that application, a rectangular window would be considered pretty bad.  but
> all this is not what "fast convolution" is, which we use to implement long
> FIR filters (like reverberators).
>
> i'm just trying to be helpful, but none of us can really be helpful if we
> cannot at least agree on the terminology.
>
> -- robert
>
> r b-j                  r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
> > > On Sun, Mar 8, 2020 at 10:34 AM robert bristow-johnson <
> r...@audioimagination.com> wrote:
> > > >
> > > >
> > > >  > On March 8, 2020 10:05 AM Ethan Duni <ethan.d...@gmail.com>
> wrote:
> > > >  >
> > > >  >
> > > >  > It is physically impossible to build a causal, zero-phase system
> with non-trivial frequency response.
> > > >
> > > >  a system that operates in real time. when processing sound files
> you can pretend that you're looking at some "future" samples. i guess that
> would be acausal, so you're right, Ethan.
> > > >
> > > >  --
> > > >
> > > >  r b-j                  r...@audioimagination.com
> > > >
> > > >  "Imagination is more important than knowledge."
> > > >
> > > >
> > > >  >
> > > >  > > On Mar 7, 2020, at 7:42 PM, Zhiguang Eric Zhang <zez...@nyu.edu>
> wrote:
> > > >  > >
> > > >  > > Not to threadjack from Alan Wolfe, but the FFT EQ was
> responsive written in C and running on a previous gen MacBook Pro from
> 2011. It wouldn't have been usable in a DAW even without any UI. It was
> running FFTW.
> > > >  > >
> > > >  > > As far as linear / zero-phase, I didn't think about the impulse
> response but what you might get are ripple artifacts from the FFT windowing
> function. Otherwise the algorithm is inherently zero-phase.
> > > >  > >
> > > >  > >
> > > >  > > On Sat, Mar 7, 2020, 7:11 PM robert bristow-johnson <
> r...@audioimagination.com> wrote:
> > > >  > > >
> > > >  > > >
> > > >  > > > > On March 7, 2020 6:43 PM zhiguang zhang <
> zhiguangezh...@gmail.com> wrote:
> > > >  > > > >
> > > >  > > > >
> > > >  > > > > Yes, essentially you do have the inherent delay involving a
> window of samples in addition to the compute time.
> > > >  > > >
> > > >  > > > yes. but the compute time is really something to consider as
> a binary decision of whether or not the process can be real time.
> > > >  > > >
> > > >  > > > assuming your computer can process these samples real time,
> the delay of double-buffering is *twice* the delay of a single buffer or
> "window" (i would not use that term, i might use the term "sample block" or
> "sample frame") of samples. suppose your buffer or sample block is, say,
> 4096 samples. while you are computing your FFT (which is likely bigger than
> 4K), multiplication in the frequency domain, inverse FFT and overlap-adding
> or overlap-scrapping, you are inputting the 4096 samples to be processed
> for your *next* sample frame and you are outputting the 4096 samples of
> your *previous* sample frame. so the entire delay, due to block processing,
> is two frame lengths, in this case, 8192 samples.
> > > >  > > >
> > > >  > > > now if the processing time required to do the FFT,
> frequency-domain multiplication, iFFT, and overlap-add/scrap exceeds the
> time of one frame, then the process cannot be real time. but if the time
> required to do all of that (including the overhead of interrupt I/O-ing the
> samples in/out of the blocks) is less than that of a frame, the process is
> or can be made into a real-time process and the throughput delay is two
> frames.
> > > >  > > >
> > > >  > > > > > On Sat, Mar 7, 2020, at 6:00 AM, Zhiguang Eric Zhang
> wrote:
> > > >  > > > > > ... FFT filtering is essentially zero-phase ...
> > > >  > > >
> > > >  > > > FFT filtering **can** be linear-phase (which is zero-phase
> plus a constant delay) if the FIR filter impulse response is designed to be
> linear-phase (or symmetrical). it doesn't have to be linear phase.
> > > >  > > >
> > > >  > > > --
> > > >  > > >
> > > >  > > > r b-j                  r...@audioimagination.com
> > > >  > > >
> > > >  > > > "Imagination is more important than knowledge."
> > > >  > > >
> > > >  > > > > On Sat, Mar 7, 2020, 5:40 PM Spencer Russell <
> s...@media.mit.edu> wrote:
> > > >  > > > > > On Sat, Mar 7, 2020, at 6:00 AM, Zhiguang Eric Zhang
> wrote:
> > > >  > > > > > > Traditional FIR/IIR filtering is ubiquitous but
> actually does suffer from drawbacks such as phase distortion and the
> inherent delay involved. FFT filtering is essentially zero-phase, but
> instead of delays due to samples, you get delays due to FFT computational
> complexity instead.
> > > >  > > > > >
> > > >  > > > > > I wouldn’t say the delay when using FFT processing is due
> to computational complexity fundamentally. Compute affects your max
> throughput more than your latency. In other words, if you had an
> infinitely-fast computer you would still have to deal with latency. The
> issue is just that you need at least 1 block of input before you can do
> anything. It’s the same thing as with FIR filters, they need to be causal
> so they can’t be zero-phase. In fact you could interchange the FFT
> processing with a bank of FIR band pass filters that you sample from
> whenever you want to get your DFT frame. (that’s basically just a
> restatement of what I said before about the STFT.)
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to