Re: Considerations in the design of a ShortTimeFFT window?

Edward Richards <[email protected]> Sat, 2 Mar 2024 13:10:45 -0800
Newsgroups gmane.comp.python.scientific.devel
Message-ID <CAADEu5aGJL6ngmgqCvgvZZVkBW6KLdQrQ0xJ8W2LuM0SMgpT1w@mail.gmail.com>
--===============7231200823753419317==
Content-Type: multipart/alternative; boundary="000000000000ac79010612b3ed99"

--000000000000ac79010612b3ed99
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thank you for your response, Dietrich.

We are currently implementing the differentiation as you suggested: (1)
STFT the signal, (2) multiply each slice by j2=CF=80f, (3) ISTFT. We are no=
t
using a rectangular window, though I can see how it performs. I default to
a nuttall for DSP, and its relatively poor performance lead to my question.
Is there a way of predicting if an operation does depend on the window? If
so, is there a standard practice for selection?

This procedure does show promise. The integration step is much simpler with
the STFT than a simple FFT/IFFT.

On Sat, Mar 2, 2024 at 1:49=E2=80=AFAM Dietrich Brunn <[email protected]=
e> wrote:

> Hi Ned,
>
> it is nice to see that the new STFT functionality is actually being used.
>
> > Our first use case is an integrator and differentiator. We implement th=
is
>
> > with a forward/inverse stft pair, and the frequency domain calculus
>
> > definitions.
>
> May I ask how you implemented the differentiation in the STFT space? Note
> that differentiation *is* window dependent. An ad-hoc approach would be
> using a rectangular dual window (utilizing `ShortTimeFFT.from_dual`) and
> multiplying the STFT by j2=CF=80f.
>
> Cheers, dietrich
>
>

--000000000000ac79010612b3ed99
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Thank you for your response, Dietrich.</div><div><br>=
</div><div>We are currently implementing the differentiation as you suggest=
ed: (1) STFT the signal, (2) multiply each slice by j2=CF=80f, (3) ISTFT. W=
e are not using a rectangular window, though I can see how it performs. I d=
efault to a nuttall for DSP, and its relatively poor performance lead to my=
 question. Is there a way of predicting if an operation does depend on the =
window? If so, is there a standard practice for selection?<br></div><div><b=
r></div><div>This procedure does show promise. The integration step is much=
 simpler with the STFT than a simple FFT/IFFT.</div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Mar 2, 2024 at =
1:49=E2=80=AFAM Dietrich Brunn &lt;<a href=3D"mailto:[email protected]"=
>[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=
04);padding-left:1ex">



<div><p style=3D"margin:0px"><span style=3D"font-family:Noto Sans">Hi Ned, =
</span></p>
<p style=3D"margin:0px">it is nice to see that the new STFT functionality i=
s actually being used.</p>
<br><p style=3D"margin:0px">&gt; Our first use case is an integrator and di=
fferentiator. We implement this</p>
<p style=3D"margin:0px">&gt; with a forward/inverse stft pair, and the freq=
uency domain calculus</p>
<p style=3D"margin:0px">&gt; definitions.</p>
<br><p style=3D"margin:0px">May I ask how you implemented the differentiati=
on in the STFT space? Note that differentiation <em>is</em>=C2=A0window dep=
endent. An ad-hoc approach would be using a rectangular dual window (utiliz=
ing `ShortTimeFFT.from_dual`) and multiplying the STFT by j2=CF=80f.</p>
<br><p style=3D"margin:0px">Cheers, dietrich</p>
<br></div>
</blockquote></div>

--000000000000ac79010612b3ed99--

--===============7231200823753419317==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
SciPy-Dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/scipy-dev.python.org/
Member address: [email protected]

--===============7231200823753419317==--