PyDynamic icon indicating copy to clipboard operation
PyDynamic copied to clipboard

Proposal: support for resampling/upsampling in GUM_iDFT

Open bruns01 opened this issue 8 years ago • 2 comments

The method GUM_iDFT has a parameter Nx=... which is meant to represent the requested number of samples in the time domain. However, in the current implementation this is limited by the number of frequencies available. Hence, upsampling of a band limited signal is not possible for now. Subsequently applied scipy.signal.resample() calls will again operate in the frequency domain using fft and ifft. Therefore it seems reasonable to include an upsampling option in GUM_iDFT.

bruns01 avatar Dec 09 '16 07:12 bruns01

The manual for np.fft.irfft states: n : int, optional Length of the transformed axis of the output. For n output points, n//2+1 input points are necessary. If the input is longer than this, it is cropped. If it is shorter than this, it is padded with zeros. If n is not given, it is determined from the length of the input along the axis specified by axis. Hence, upsampling is possible with irfft, already. Or do I read this wrong?

bruns01 avatar Dec 09 '16 16:12 bruns01

First step: Identify exact method in np.fft.irfft for this and derive the formula/equation for corresponding uncertainty treatment

eichstaedtPTB avatar Jul 16 '19 12:07 eichstaedtPTB

@bruns01 : It took some time, but this is finally implemented with #311 :-)

mgrub avatar Mar 16 '23 15:03 mgrub

And finally it is released in v2.4.0.

BjoernLudwigPTB avatar Mar 20 '23 11:03 BjoernLudwigPTB