pyFDN.wrap_fdn_shell#
- pyFDN.wrap_fdn_shell(core, *, nfft, dtype=None)[source]#
Wrap an FDN core in a FLAMO
Shellthat returns the impulse response.The shell is FFT in, impulse response out: the input layer is an
FFTand the output layer theiFFTAntiAliasthat matches the core’s ownalias_decay_db. A pyFDN model therefore means one thing wherever it is used – rendered, analyzed or trained – and the time domain is a property of how the model was built rather than something a caller sets afterwards.The core evaluates the system on a circle of radius \(\gamma < 1\), so its response carries a \(\gamma^n\) envelope; the output layer removes it again. What comes out is the true impulse response, accurate to
alias_decay_db(seepyFDN.trainable_from_build()). Atalias_decay_db=0the layer is an ordinary inverse FFT.- Parameters:
core (
Any) – FDN core, e.g. fromassemble_fdn_core(). Itsalias_decay_dbis read back off it, so the output layer cannot disagree with the modules it undoes.nfft (
int) – FFT size.dtype (
Any) – Dtype for the FFT/iFFT layers; defaults to float32.
- Return type:
See also
pyFDN.model_responsethe shell’s output as a
Response, including the magnitude spectrum a frequency-domain view wants.