FSAF (Fast subband adaptive filtering) measurement

dcibel

Member
Joined
Sep 10, 2017
Posts
293
Thanks John. This FSAF stuff is really impressive, thanks for incorporating it to REW! I think it may take some time for it's use and benefits to really sink in to the general public however, but given some time perhaps FSAF will be as common of a term as HD or IMD.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
John, from some discussions at DIYAudio, should one expect some loopback test with a known harmonic distortion level and sine sweep stimulus, to provide the same overall distortion level when comparing HD sweep to FSAF? I would expect not, but I am also having a hard time determining the cause of a significant discrepancy in distortion level.

Here's a simple loopback test I completed, with an amplifier that exibits some power supply noise, result in the HD plot is effectively transformer hum and noise floor, not much else. I kept the signal level low to make sure the hum is clearly shown in the HD plot, and "show harmonics at harmonic frequency" used to make easier interpretation for direct comparison.
1729604647403.png


For FSAF, I used the signal generator in REW to export the same sine sweep at the same level to file. Confirmed level when running the measurement is very similar. Sweep is 0 to 48kHz, 5.5second long, no filters, and FSAF is configured for 500ms IR, and "no mic" selected since this is a simple loopback result.

1729604830625.png


You can see here, that the amp hum is much more discernible here, clear as day approaching 10%. It's probably not meant for such direct comparison, but I am just trying to understand the differences and put some context to the results of FSAF. Michael Tsiroulnikov seems to not be engaging with the public anymore, so any insight you can provide is helpful.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
@John Mulcahy , do you plan to incorporate any of the timing reference functionality of a sine sweep into FSAF? For myself, I have no interest in acoustic timing reference, but loopback timing as well as "loopback timing and cal" aka dual channel measurement method is very important to me. Adding this functionality would allow me to complete the vast majority of my speaker testing without the need for that annoying since sweep. Pink noise is much more pleasant.

Also, for what it's worth and despite the discrepency in the loopback test above, I completed a comparison of sine sweep vs FSAF on a couple real speakers tonight, and I think the results were much more agreeable. For as close to apples to apples comparison, I used a sine sweep stimulus for the FSAF measurement, and kept everything else exactly the same. To avoid duplicating the information here, the images are posted here:
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Posts
8,118
John, from some discussions at DIYAudio, should one expect some loopback test with a known harmonic distortion level and sine sweep stimulus, to provide the same overall distortion level when comparing HD sweep to FSAF? I would expect not, but I am also having a hard time determining the cause of a significant discrepancy in distortion level.
Log sweeps extract the linear part of the impulse response, move harmonic components to negative time and distribute other non-linear and noise components across the IR. You can read a review of the way different IR measurement techniques react to non-linearities and noise in Comparison of different impulse response measurement techniques.

There is a timing reference option for FSAF measurements:
1729683326920.png
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
Thanks John, but timing markers for clock rate correction is not what I'm after. I am after a complete dual channel measurement, where t=0 is set by the impulse of the reference input, and reference input is used to calibrate the frequency response of the mic input. In this method, t=0 is set by the reference input, and the location of the impulse in time includes the time of flight from speaker to mic.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
I am still struggling on comprehension of measurement results unfortunately.

Below is a test of a pretty good speaker, a 2-way bookshelf using 6" Satori woofer. A hard dome waveguide tweeter is crossed at 2kHz.
FSAF test, full range pink noise, RMS level is fairly low around 78dB/1m
1729693109101.png

If I add in a 12dB LR high pass at 20Hz, the overall distortion level is decreased significantly. Is cutting the bass output below 20Hz really having such an impact to distortion levels >2kHz?
1729693172080.png
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Posts
8,118
Is cutting the bass output below 20Hz really having such an impact to distortion levels >2kHz?
It appears so. Bear in mind that the driver excursions for those higher frequencies are in a way sitting on top of the low frequency excursions you have removed through the filter.
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Posts
8,118
I am after a complete dual channel measurement, where t=0 is set by the impulse of the reference input, and reference input is used to calibrate the frequency response of the mic input.
The sweep measurements already offer all that. It seems redundant to replicate all that functionality for a measurement method which is focussed on extracting a TD+N result.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
The sweep measurements already offer all that. It seems redundant to replicate all that functionality for a measurement method which is focussed on extracting a TD+N result.
The benefit for myself or anyone else would be to not have to listen to the sweep for a frequency response measurement. For example, measuring required for a typical 2-way speaker could be 40+ measurements, it gets tiring after a while. Pink noise is a much more pleasant sound to listen to, and could provide the same result.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
It appears so. Bear in mind that the driver excursions for those higher frequencies are in a way sitting on top of the low frequency excursions you have removed through the filter.
The struggle I have is considering this knowing that this is a speaker I have designed myself, with a crossover around 2kHz, and the following filter in place.Given the operation if this speaker, I am suprised to see any real impact >2kHz for a 20Hz filter that affects only woofer operation, and I think not to any meaningful amount. I'll re-run this test later today and observe actual driver excursions.
1729710098213.png
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
It appears so. Bear in mind that the driver excursions for those higher frequencies are in a way sitting on top of the low frequency excursions you have removed through the filter.
John, would you mind taking a close look at the attached mdat file? It contains 4 measurements, 2 were taken this morning before I left for work, 2 were taken this afternoon when I returned from work. Nothing has changed in my setup, mic and speaker in the same location, interface knobs untouched, etc. Impulse response looks very similar, maybe some small change in background noise, but the distortion chart is very different between the measurements completed this morning, and the ones completed in the afternoon under the same conditions.

I think there is some error in REW when a WAV file has been loaded for FSAF. When I reviewed the measurement setup as I was posting this, I noticed the pink noise signal length showed only 5 seconds, where I had intended 15s. Entering 15 seconds into the box produced the following error about the previous file loaded. Measurement after hitting OK on the error is very much in line with the one taken this morning.

Equipment is Motu M4, Line Audio OM1 mic, and I am running REW 5.40 beta 57 on Linux.
1729726484515.png
 

Attachments

  • FSAF measurement issue compare 23-oct.mdat
    1.4 MB · Views: 79

Tikkidy

Member
Joined
Feb 22, 2019
Posts
55
@dcibel

Only 40?

I use REW in conjunction with VituixCAD2 and take the recommended multi-axial measurements from on-axis to 360, at 10 degrees intervals.


Horizontally and vertically that is a grand total of 36x2 = 72.
Of course the Hor +360 and Vertical +360 is a duplicate of on-axis, so it can be skipped, but then that’s still 70 measurements.

Imagine being able to measure and design with musical clips? Or pink/white noise?

Audiophiles don’t have a legitimate complaint when they say measurements don’t mean anything- well now we measure with music! Test and listen with music!
What else do you want??

Maybe we can listen to what diffraction and distortion sounds like?

What about two channel binaural recordings with a HATS? Multichannel in-car (EV) testing?


In the future what other applications there may be, I could only guess
 
Last edited:

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Posts
8,118
would you mind taking a close look at the attached mdat file?
The incorrect error message has been fixed for the next build, but it would not have had any effect on measurements.

The noise floor is slightly higher in the afternoon, but I don't see an explanation for the increased TD+N. The only difference I can see between the morning and afternoon sessions is a quarter cycle shift in the relative timing of output and input, evident if you zoom in enough on the IR to show the samples. Not sure what might cause that. (Edit: perhaps an air temperature difference between morning and afternoon).
 
Last edited:

dcibel

Member
Joined
Sep 10, 2017
Posts
293
Thanks for taking a look. It's very likely that the room temperature was 1-2degC higher in the afternoon. In the afternoon, I was able to reproduce the same distortion result as in the morning, but only after an attempt to change the measurement length. I'll keep at it and see if I can find something concrete to reproduce the problem. The main item that I want to identify right now is that I'm having some consistency issues with FSAF. Perhaps I'll try and reproduce a consistency problem with a file playback so the residual can be captured as well.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
I ran the same FSAF test with 10 repetitions.

8/10 measurements look like this:
1729812862992.png


2/10 measurements look like this:
1729812882874.png
 
Last edited:

dcibel

Member
Joined
Sep 10, 2017
Posts
293
With latest beta testing I ran first run of 10 measurements successfully, second run produced above problem in 1/10 measurements. So odds are getting better, so far I'm only 1 for 20. But, there are some "small" differences between all measurements, around 5dB and especially in upper frequencies >3kHz.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
No difference at 48kHz. 2/10 were no good, and the same amount of variation across the good measurements
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
For comparative measures, here's a comparison of 10 repetitions of FSAF TD+N (a particularly good run to be honest), and 10 repetitions of sine sweep THD.
1729866072827.png
1729865838765.png
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
I thought I would try as well to use pink noise from a file, but no change there either.
1729866629793.png
 

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Posts
8,118
I ran 100 repetitions with a loopback and every one was identical. Probably worth trying a loopback rather than an acoustic test with the same interface etc. to see if that behaves any differently.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
FWIW I also tried on windows with ASIO driver and got a similar result.

I ran a loopback from the amp output (simple voltage divider to the audio interface input). 10 repetitions are very consistent. I'm not sure what that means in the grand scheme of things. I guess that means REW is fine, but what is wrong with my acoustic measurements? Some small changes in noise floor creating a big impact on the measured result?

These 10 loopback tests simply show the power supply hum of the amp. I did have "condenser mic" still selected for these tests, however that selection has not made any difference when I tried to compare it.
1729902343407.png


And direct loopback at the audio interface with a patch cable.
1729877928960.png
 
Last edited:

John Mulcahy

REW Author
Thread Starter
Joined
Apr 3, 2017
Posts
8,118
It's odd. Perhaps some tests with a music track and comparing the residuals would give some clues.
 

dcibel

Member
Joined
Sep 10, 2017
Posts
293
Good idea.

Here's loopback with a real music clip, 15s playback, 10 repetitions.
1729910983375.png


...and the same music clip through the speaker and mic.
1729911354364.png


So at least we can be certain, this is not a problem specific to the type of stimulus used.

I'll send you a PM shortly with a link to the measurements and their residuals.
 
Last edited:

Tikkidy

Member
Joined
Feb 22, 2019
Posts
55
Clearly your loopback with audio interface only and audio interface + amplifier can give consistent results, which means that your setup is doing fine.

But after inserting the microphone, the room, and speaker into the recording chain, spurious things pop up.

If we go back to doing ordinary Sweeps, Longer sweeps are better than shorter ones. But this needs a consistently quiet environment eg. hemi/anechoic chambers.
In an ordinary room/office, transient noise is a real deal breaker. One way of getting around this is using multiple shorter sweeps, so that noisier ones can be discarded.
Or in REW's case, averaged

REW allows multiple sweeps to be averaged, although best results are generally obtained by using single, longer sweeps rather than multiple, shorter sweeps......If Repetitions is more than 1 REW uses synchronous pre-averaging, capturing the selected number of sweeps per measurement and averaging the results to reduce the effects of noise and interference. The pre-averaging can improve S/N by almost 3 dB for each doubling of the number of sweeps. Averaging can be useful if the measurements are contaminated by interference tones, whether electrical or acoustic, as they typically will not add coherently in the averaging and hence will be suppressed by the process.

For frequency response I tend to take 1M samples, which takes me ~12 seconds at a sample of 88.2KHz,
But for distortion measurements in an ordinary untreated room/office I prefer to take 256K x4 repetitions, which takes the same amount of time, but is better at reducing spurious noises.

Here's 3 measurements in FSAF mode with pink noise lasting 5 seconds, the mic 1.2m from the ground/ceiling, and 31.6cm from the driver.
These are taken different times of day. And, with one in the nearfield, to minimize environmental noise.

1729931582713.png


Clearly the effects of the room and time of day are affecting these measurements.


It would appear to me that FSAF can suffer because there's no averaging. The shortest measurement is a 5 second measurement with noise.

If your measurement is a longer measurement, or with music, @dcibel Could it be that there something in the environment that is causing the noise?
 
Last edited:
Top Bottom