Hi, i wanted to ask please why is this happening when i import a txt
with columns that has an absolute flat dB magnitude but with phase changes.
Same file imported to Smaart is shown below. Thank you !!
All these files show very high phase slope and represent bulk delay.
Transferring measurements as Freq|Mag|Phase for subsequent filter design is generally bad
practice, especially when there is very high phase slope (as in these files). Unless the
Freq|Mag|Phase format represents the EXACT output of a DFT or FFT of the impulse response (IR),
there is ALWAYS a loss of information (relative to using the IR). For this reason, and when
the measurement has significant delay, we strongly recommend transferring the time IR.
In FIR Designer, since Freq|Mag|Phase TXT files come from many different sources, each
with different frequency ranges and spacings (including linear/log), we have a frequency
interpolator/resampler that does its best to remap the file’s Freq|Mag|Phase onto the
underlying FFT size used in the software – typically length 32768. The problems your are
seeing are the limitations of this interpolator/resampler when dealing with high phase slope.
(Note: When very high phase slope is present, the phase difference between adjacent input data
points could be multiples of 360 deg – particularly for log-frequency spaced data – and we
have no way of knowing the ground truth.)
I hope this helps,
To elaborate further, when we load a freq|mag|phase txt file we typically convert to complex (real & imaginary), then run the frequency interpolator/resampler to bring the data up our FFT size – typically 32768.
Today I tested the file loader interpolating/resampling the magnitude and phase separately. The magnitude wobble is gone, but there is still a slight wobble in the phase of ~2.5 deg. We may release this in a future update.
I can see your files are all linearly spaced frequency points. In our importer, we could try to determine the file’s FFT size from the frequency spacing, perform an inverse FFT to get the impulse response, then calculate the forward FFT at our FFT size – typically 32768. This would make all the problems go away, but it is more hassle. (We may consider this in the future.)
All this to say that time domain IR is still the best way to load a measurement. 🙂
one question, is this a filter that might be used on a speaker ?
[That is] a completely flat phase and only magnitude changes ?
thanks for your support
Absolutely, that’s fine. This is a linear phase filter and since it’s coefficients are symmetric, it also adds a bulk delay.
Sorry, this forum is for logged in users only. Please Login to continue
This topic is: Awaiting Feedback