On 4/11/2015 9:39 AM, robert bristow-johnson wrote:
i have to confess that this is hard and i don't have a concrete solution
for you.
Knowing that this isn't well known helps. I have an idea (see below). It
might be wrong.
it seems to me that, by this description:
r[n] = uniform_random(0, 1)
if (r[n] <= P)
x[n] = uniform_random(-1, 1);
else
x[n] = x[n-1];
from that, and from the assumption of ergodicity (where all time
averages can be replaced with probabilistic averages), then it should be
possible to derive an autocorrelation function from this.
but i haven't done it.
Using AMDF instead of autocorrelation:
let n be an arbitrary time index
let t be the AMDF lag time of interest
AMDF[t] = fabs(x[n] - x[n-t])
there are two cases:
case 1, (holding): x[n-t] == x[n]
case 2, (not holding) x[n-t] == uniform_random(-1, 1)
In case 1, AMDF[t] = 0
In case 2, AMDF[t] = 2/3 (i think?)
To get the limit of AMDF[t], weight the values of the two cases by the
probability of each case case. (Which seems like a textbook waiting-time
problem, but will require me to return to my textbook).
Then I just need to convert the AMDF to PSD somehow.
Does that seem like a reasonable approach?
Ross.
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp