From: HeavySide on 20 Jan 2010 09:45 Thanks for your reply, Robert. >it's "flat". i dunno if i would call that "lossless". if the gain >was a constant 1/2, would this be lossless or not? I guess I'm considering a subset of allpasses for which the mag response is 1 for all freqs, and hence such that the coeffs of the numerator are in reverse order of those in the denominator. This will give the property that: Sum(n=-infinity...+infinity,abs(out[n])^2) = Sum(n=-infinity...+infinity,abs(in[n])^2) making it lossless (in the sense of Regalia et al., "The Digital Allpass Filter -- a versatile signal processing block", Proc IEEE 76(1), 1988, pp. 19-37). > >> In order to implement a fixed point approximation of this in hardware, I'= >m >> sizing the datapath by computing the l1 gains of the impulse responses fr= >om >> the input to the various internal nodes. (The l1 gains are approximated >> using the truncated impulse response of a floating point model of H, in >> Matlab. The impulse response is truncated at 1e6 samples, well beyond the >> point where the response has become highly attenuated). > >by "l1 gain", do you mean the L^1 norm applied to the impulse >response? can you define the math of the "l1 gain"? Yes: if g[n] is the impulse response from the input to the internal node I'm considering, then the quantity whose name I abused as "l1 gain" will be: "l1 gain" = Sum(n=0...N,g[n]) where N was set to 1e6. >> Something is bugging me though ... the l1 gain of the impulse response of >> the particular set of allpass filters I'm dealing with are higher than 1. > >i think you can make other filters that have magnitude of >|H(w)| <=3D 1 and have the the values of |h[n]| sum to more than 1. > >why not? > >i dunno. My "why not" is as follows: -(1) if the mag response is 1 (for example) the gain applied to any input signal is 1 (perhaps this assumption is wrong) -(2) hence by (1) I should be able to expect the dynamic range at the input and the output of an allpass filter to be identical -(3) BUT: the dynamic range of the output is bounded from above by the dynamic range of the input, scaled by the "l1 gain" (sorry ...) from input to output -(4) hence, if the said "l1 gain" is not 1, then the dynamic ranges of the input at the output can be different So (2) and (4) seem to be in conflict. Perhaps my underlying assumption (1) is wrong? Or perhaps there's something fundamental that I've missed. Also, (3) refers to an upper bound, I know. So I used simulation with long sequences of data pumped into the allpass, and then examined the outputs of the various allpassess in the cascade, and behold the dynamic ranges from input to output of the allpasses did in fact change. So, if my data was \in [-1,+1], my output data would go above/below +/- 1. Is this what you would expect? Somehow this rubs with the idea that the magnitude response is flat and 1. Thanks, John
From: HeavySide on 20 Jan 2010 12:45 Thanks very much, guys.
|
Pages: 1 Prev: Real Time Interpolation/Resampling Next: 1/3T allpass design |