On Saturday, November 28, 2015 at 8:11:08 PM UTC-5, dbd wrote:
> On Wednesday, November 25, 2015 at 6:47:49 PM UTC-8, robert bristow-johnson wrote:
> > On Wednesday, November 25, 2015 at 8:50:53 PM UTC-5, dbd wrote:
...
> > >
> > > If you haven't found free access to one of these you are either too incompetent or too lazy to use google. But then, being to lazy to learn the context in a technical discussion -is- incompetent.
> > >
> > > For the similarly limited:
> > > /www.ece.lsu.edu/pub/aravena/CoGS_Literature/FilterBanks/SubbandCodinfg-Princen1987.pdf
> > >
> >
> > well, Dale, looks like you're back to grinding axes again. i almost never have luck getting an on-line copy of an IEEE paper (which was the first one you sited) from behind a pay wall. and my lazy habit is, that when i want to point someone to a reference on the web, i give them a URL.
> >
>
> Luck has little to do with it. All of the papers I've mentioned in this thread except the 2010 comp.dsp paper are available behind pay walls. They are also all available for free on the web. Unfortunately, non-paywall urls can be transient and the urls alone don't provide enough information to allow identifying the papers.
and luck has "little" to do with that.
> ...
> > > The context is not crossfades.
> >
> > absolutely wrong.
> >
> > where the context is "perfect reconstruction" and "frames", it's about crossfades, whether you like that semantics or not. in fact i noticed Bob Adams using a similar terminology in another thread describing a fade out function as a half window.
> >
>
> I have no problem with the semantics or terminology, but perfect reconstruction in frame based processing includes the effects of all processing, not just the input windowing.
>
absolutely correct.
now, if there is other processing (in the frequency domain), not just the "null process", the all bets are off. you're not getting "perfect reconstruction". within that semantic (that is "perfect reconstruction"), i have been careful to always say with it "null process".
> > call it what you want, but these windows are a concatenation of a fade up function adjacent to a fade down function. and they are complementary if the fade up half and fade down half add, in some sense, to 1.
> >
> > now, in what sense might that be??
>
> Yes, and there are at least 2 senses. Bob mentions one in the paragraph you quoted, the one with windowing only in the time domain where perfect reconstruction requires windows to be arithmetically complementary. There is another with two windows, one in time and one in frequency,
when applied to the frequency-domain data, that sure-as-hell ain't a "null process'.
what i thought Bob Adams meant was applying the window twice to time-domain data. first on the outset (the "analysis window") and again at reconstruction (the "synthesis window").
>
> Power complementary windows are not applied in a way that allows their effects to be determined by simple addition. You need to look at the frame processing algorithm they are used in and how they are applied in it.
>
i am considering *only* the null processing algorithm and then i am testing for "perfect reconstruction", which i take to mean that the signal coming out of the whole damn thing is exactly the signal going in, with the possible exception of a *known* delay.
> >
> > point 2: when doing perfect reconstruction using "STFT with subsequent IFFT" (hmmmm, where did those words come from?), there is no mention of DCT nor MDCT nor any of those other contexts where complementary power windows are used. do you know why? (think "perfectly correlated" vs. "uncorrelated".) if you use windows that satisfy the "Princen-Bradley condition" (which is a term i never ran across before, but it appears to simply mean "complementary power" windows), your "STFT with subsequent IFFT" operation will fail "perfect reconstruction" if the process in the frequency domain is the null process. (except, i seem to remember that Hann^2 and 75% overlap provides for perfect reconstruction.)
> >
>
> I'm glad you have some recollections and can identify some things that you don't remember, but you aren't doing well at inventing interpretations of them. You should try reading some of the citations for comprehension so we can discuss the same signal processes.
> You keep demonstrating that you haven't looked at the manner in which the power complementary windows are applied.
>
> Also, DCTs and DSTs -are- discrete Fourier transforms (DFT), have the short time property and have fast implementations, forward and reverse. They are often chosen as faster DFTs when signal processing goals don't require a CXin-CXout form of DFT or IDFT.
>
but i think that DCT (or the DST which doesn't seem to be used much) tosses phase information to the wind. maybe i'm incorrect, but when i look it up:
DCT:
N-1
X[k] = SUM{ x[n] cos( (pi/2N) (2n+1) k ) }
n=0
can't find the inverse DCT definition for the moment, which causes me to ask "is this perfectly invertable? does x[n] come back from X[k] with all frequency components lined up in phase as they were going in?"
i have to confess that i don't know the answer. i had been thinking that the answer is "no". i had been thinking that the DCT sorta destroys phase information.
>
> I referred readers to Table I for examples of power complementary windows. The table reference is appropriate regardless of what types of processing the paper may describe.
>
no. *some* processing messes up the signal. the only exception i am aware of is the "null process" that does nothing to the signal.
> > that is not in general what the "STFT and subsequent IFFT" is about in audio analysis and processing. sometimes people want in the output exactly what they put in the input in the case where the processing algorithm (in the STFT domain) is null. and if that is the case, complementary power windows along with 50% overlap will fail "perfect reconstruction". and that is because 1/sqrt(2) + 1/sqrt(2) does not add to 1. (but 1/2 + 1/2 does add to 1.)
>
> "In General" includes many approaches to using FFT => IFFT to produce perfect reconstruction.
**if** the process in *null*.
> You should read and learn about them.
Dale, i confess i have never ever ever used the DCT. but 15 years ago and prior, i have done soooo many frame-based, windowed, "FFT => IFFT" apps that i have lost count. i have published (my only publication for an IEEE conference, feel free to look it up) one of those applications. i actually know something about this frame-by-frame frequency-domain processing stuff. usually i boil it down to "phase-vocoder" or "sinusoidal modeling". i have never done a lossy data-compression app like AAC or Vorbis. but, i am not relying on that to make the case. i *only* rely on the math to make a claim.
one thing that i had not been addressing is, again, what Bob Adams brought up: yes, the fact is that if a complementary-power window is applied *twice* to the same data, that is effectively the same as a single application of a complementary-voltage window (which is the square of the complementary-power window) and that *will* result in perfect reconstruction, with 50% overlap, if the process in-between is the null process. maybe this is where we are talking past each other, Dale.
but if one window is applied to frequency-domain data while the other is applied to time domain data, then all bets are off. *unless* the window is Gaussian (see my IEEE paper). but Gaussian windows are not complementary in any sense that i am aware of. so, in *my* paper, we applied the Gaussian window as the "analysis window", did our processing in the frequency domain in a manner which preserves the Gaussian window property and which adjusts phase in such a manner that the phases of each frequency component is aligned at the frame boundaries. after transforming back to the time domain, i multiply by a Hann (or "flattened-Hann") window and divide by the Gaussian window (i team that up into a single synthesis window definition), which leaves the data in a complementary-add state. then lastly, overlap-add with 50% overlap.
it is also possible to multiply the input data with a Hann window (which is *not* complementary-power), transform into frequency domain, do phase-preserving processing, transform back, apply *another* Hann window and overlap-add with 75% overlap and get perfect reconstruction. Miller Puckette and Jean Laroche did that, but i never duplicated the work. however i once did the overlap and summation of the Hann^2 window to see that it did indeed add to a constant. try that out, Dale.
i also know that when splicing uncorrelated data together, to avoid a little "dip" in energy at the middle of the splice, that complementary-power splice functions are needed. but when the data is perfectly correlated (which means that all frequency components are phase aligned), a complementary-voltage splice function should be used. in the music-dsp mailing list, i wrote about what to do if the (normalized) correlation is somewhere in-between zero and 1. you get a window that is something in-between a complementary-power and complementary-voltage window. another guy, Olli Niemitalo (from Norway, i think), picked up on that because he did similar research.
r b-j