[Vorbis-dev] Window function (again)
bender at doanstar.de
bender at doanstar.de
Sat Jun 4 05:31:54 PDT 2005
Tuomo Latto wrote:
> Well, there was this in the original post (the link you gave):
> --- clip -->
> If you substitute z=2(x+0.5)/n, you get
> f(x(z)) = sin(1/2*pi*sin^2(z*pi/2))
> <-- pilc ---
>
> So, z = (2x + 1) / n.
> If we then substitute x = n/2 - x we get
> z = (2(n/2 - x) + 1) / n = 1 - (2x - 1)/n
> => 1 - z = (2x - 1)/n
> which seems wrong.
>
> But if we forget the second line and try n/2+x in the first line,
> we get
> z = (2(n/2 + x) + 1) / n = 1 + (2x + 1)/n
> => z - 1 = (2x + 1)/n
> which seems wrong too, but if we applied the symmetry here
> we get 1 - z = z - 1 = (2x + 1)/n, which looks about right.
Hello Tuomo,
thanks for your answer. Hm, but I still do not understand how it
works... The original text from Gesemann says:
sin^2(pi/2*pi*g(z)) + sin^2(pi/2*pi*g(1-z)) = 1
But where does the second pis come from?
The Vorbis window function: f(x) = sin(pi/2 * sin^2(pi * (x + 0.5) / n))
For easier calculations we could substitute 2*(x + 0.5) / n with z and
then get:
f(z) = sin(pi/2 * sin^2(pi * z/2)
Furthermore, we substitute sin^2(pi * z/2) with w and then get:
f(w) = sin(pi/2 * w)
which correspondends with Gesemanns result (I hope that my abbreviated
notation is right... ;-)))
"With
g(z):=sin^2(z*pi/2)
you get
f(x(z)) = sin(1/2*pi*g(z))"
Okay, the condition of Princen-Bradley says:
f^2(x) + f^2(x + n/2) = 1
With f(w) being f(w) = sin(pi/2 * w), we then would get:
f^2(w) + f^2(w + n/2) = 1
<=> sin^2(pi/2 * w) + sin^2(pi/2 * (w + n/2))
So, my result has not the second pi in each summand and additionally, I
cannot understand, why one could turn w(z) + n/2 or w(z) - n/2 (i.e.
w(z) = my short term "w") into w(1 - z). I know that w(1 -z) could be
written as 1 - w(z) and that's all for me :-(. The n/2 still annoys me...
By the way, I would prefer another proof that Vorbis fulfills the
Princen Bradley condition.... this one seems a little bit too long (too
hard?) for me ;-). If you know one, just write me... I'd really
appreciate that!
Regards,
Duc
More information about the Vorbis-dev
mailing list