FSAF (Fast subband adaptive filtering) measurement

@dcibel

Moving somewhere that’s less prone to hurricanes, war planes doing military drills and hotted up cars from C20 roaring down the street is in the 5 year plan.

In the meantime, how can we use FSAF to see if the residual is not coming from the (rear mounted) passive radiator? The box? The room?
I would think to use the same methods as always - neafield of woofer and PR individually and compare.
If the answer is to build a better enclosure Eg. sealed box, another project…
If you want to go down another rabbit hole, be my guest ;). Compare all the cabinets, and wonder if the cause of differences is due to change in driver excursion, air velocity, turbulence, rasonant panels, leakage, etc. Just don't forget to stop and enjoy the music once in a while...
The ESS has some advantages in that multiple sweeps can reject plosives
I’m afraid FSAF will be misused and abused
I would think more along the lines of "misinterpreted and misunderstood", which can be said for any/all measurements/data when the audience is the general public.
 
"misuse and abuse" is exactly what I am looking for. Any new technology is flaky, shaky, and full of bugs which I have not noticed because I am using FSAF too "right". It's a long way to the rock-solid perfection of a good ice-axe.

"misinterpreted and misunderstood" is out of my control, thus I try not to care... although being canceled out of the hate for my ideas is hardly a pleasant experience. Same GULAG, over and over again. There always will be people who object to your ideas by physically exterminating you.
 

FSAF

You're all about sad things. How to use FSAF features? I played the music track. FSAF recorded this track. Then he compared the mathematical decomposition of the source and the recorded one. There was a difference. You can listen to it. Try to remember which frequencies have the highest levels. Decide how this happened, that is, who is to blame. And this is all against the backdrop of doubts, or maybe the difference is insignificant, maybe everything is almost fine. Then why keep looking? Maybe visualization of the remainder is needed? Spectral or in the form of a graph of % remainder over all frequencies? Then it will be easier and faster to evaluate the measurement result. It also seems to me that to use FSAF you do not need any music signal, such as mp3, but, on the contrary, the highest quality signal, more than 44100 16 bits. Maybe such a test track should be created. 32 bit floating point, 96 kHz. Or find it if it already exists somewhere. Then the difference will show approximately what a person can determine for himself, without programs, whether the musical instruments performed by the speaker under test sound true.
 
The best test tracks "objectively" are the same as the hardest to compress - live unedited chamber acoustic with voice, like a jazz piano trio accompanying a singer. Too many instruments - easier. Too much editing - easier. Without voice - easier. Without piano - easier. Also, it must be a very good performance of very good music (for you) - otherwise, you'll start hating it after listening to the same piece so many times.

I am all for visualizations, like
sgram.png

... which can pinpoint internal resonances and motor hysteresis distortions. Here, the source was bandlimited to 200...1000Hz and it's obvious that the residual is spread all over the map, far and wide. I am not sure how to condense them into a single value. Also, such visualizations require a low-noise mic like Rode NT1 5th gen and a low RT60 room. Otherwise, your ears are vastly superior to any visualizations.

A regular, high level of distortion is easily audible as residual, and visible on spectrograms. The lower, more marginal distortions sound like a cheap piano (while the real one was a true concert grand piano) and an amateur nervous signer with poor voice control (while the real one was flawlessly smooth). These are still possible to detect on residuals. When you change your listening habits, even stop listening to music - that's a sign of an even lower level of distortion. I am not sure if FSAF can help with those (yet:-).
 
I mentioned previously, a useful free tool for spectrogram visualization is Sonic Visualiser:
 
The impulse response is a transfer function. Changing the measurement level doesn't change the transfer function until the system reaches either its saturation threshold at the high end or the noise floor at the low end. Within the linear range of the system measuring at different levels produces the same transfer function and so the same frequency response. Presenting the result in that way is quite counter-intuitive for people, however, so REW offsets the frequency response to account for the measurement level.

For sweep measurements the distortion graph shows how the transfer function's harmonic distortion relates to its linear response (labelled fundamental). That fundamental is the same as the frequency response shown on the SPL & Phase graph, perhaps barring cal file effects depending on the preference setting for whether distortion results include cal.

For FSAF measurements the situation is quite different. Any stimulus is allowed, and the stimulus may have more energy at some frequencies than others, important information to interpret the TD+N result, which is the difference between the system's total output and its linear output. The fundamental on the distortion graph shows the power spectrum of the linear part of the system's response to the stimulus. To maintain some commonality with the presentation of sweep results, that spectrum is shown at the SPL corresponding to the measurement level. For example, if white noise were the stimulus and the noise was playing at 80 dB SPL the power spectrum would sit at 80 dB SPL. That isn't the true spectrum of course, since 80 dB is the total SPL of the signal, the spectrum of that signal from a 64k FFT would sit at about 35 dB SPL. That would, again, be rather counter-intuitive, hence the chosen presentation.
Hi John,
Finally getting back to this. Thanks again for the kind exmplanation. I think the trouble I have is that the SPL on the distortion tab for FSAF is quite different from what I'm used to. I expected that if I run a measurement sine sweep through FSAF, that the SPL on the distortion tab would match the SPL tab, but it doesn't. A loopback sweep measurement where I would expect a flat line, has a -3dB/oct slope on FSAF distortion tab so it's more of a spectrum analysis. It would be more easily interpreted (for myself) if SPL for FSAF distortion were adjusted by +3dB/oct slope to match a measurement sweep result, but perhaps that's not the right way to be thinking about it. ie pink spectrum = flat, not white.
 
Last edited:
I was also puzzled in the beginning and went looking for a bug in the code. I found that -3dB/oct is due to exponential sweep, and that is how it is, the nature of things. After a while, I stopped seeing it as abnormal. Yes, it takes time to get used to.

A linear sweep is flat, it spends the same time at each frequency bin.
 
..only if the bins are equal frequency width. If we treat it as an RTA, it will have a fractional octave bin size, so pink spectrum will appear flat. This would match how frequency response is presented in REW for a sweep measurement, even as SPL scale of ESS distortion.
 
A loopback sweep measurement where I would expect a flat line, has a -3dB/oct slope on FSAF distortion tab so it's more of a spectrum analysis.
Yes, the distortion tab for FSAF is showing the spectrum of the stimulus. A log sweep has a pink spectrum. For sweep measurements REW is showing the transfer function, not the spectrum.
 
This was my primary source of confusion in the past. In different locations of REW there are charts with same units of measure (SPL or dBFS), however the data may not be processed in the same way so they are not directly comparable. Thank you for clarifying.
 
Thanks for taking the time to analyze my measurements. I must apologize, a few sentences into this explanation gets over my head a bit.

This is exactly my problem, see past few pages of this thread. This Speaker is a Satori MW16P and a 28mm hard dome tweeter in a shallow waveguide. The speaker is of my own design, and crossover is at ~2kHz.


I had lengthy response written up as I completed testing this evening, including measuring at 1cm to prove a point that the variation had little to do with the room and background noise. However, I'll cut to the chase - the variance here is caused by myself, and I believe I've determined the cause. It's my own test jig. A simple jig that I use for testing all my speakers, when set up for "SPL" measurements, the signal simply runs through a switch - an industrial style rocker switch rated at 15A. It's provided perfectly good repeatability and consistency for my all my measurements in the past - ESS, HD, IMD, MLS, periodic noise, you name it, and I've just made a habit of leaving it in place for all my measurements whether I need it or not, and didn't even think to remove it in all my troubleshooting. Somehow this FSAF was doing something special, at seemingly random intervals. I have to think that the switch contact is not as good as it could be. Stupid me connected the amp straight to the speaker, and low and behold, the situation is much improved. I tested 2 different speakers to be sure.
It's taken a long time to get to the root cause of my previous measurement inconsistencies plaguing this thread. It wasn't anything to do with my test jig, but wiggling and jiggling the wires in the process of troubleshooting certainly "helped". Today I determined the cause - a cold solder joint on the audio input on my test amp. It wasn't being easily identified in ESS measurements, but FSAF was clearly highlighting the issue. Intermittent problems can be awful to determine. Today is a good day, as I can move on from this headache.
 
It would be nice if EQ could be applied to FSAF measurement signal, similar to how you can do that with sweeps. It would be useful where you are interested in the N+D of a speaker/driver after it has been tuned to a target frequency response.
Is that something that could be implemented in the future?
 
Here's a clever idea for FSAF. I noticed at Hificompass that he provides some "voice coil current distortion" measurements to evaluate speaker performance. I inquired and was sent the following diagram for this measurement:
1739834300912.png


The idea is that the 0.1 ohm resistor allows for a small voltage to be recorded at the soundcard, that includes EMF generated distortion of a speaker voice coil. So I rummaged through my parts and found a pair of 0.2 ohm resistors that were pulled from a dead amplifier, and made a simple measurement jig:
1739834427217.png


I am happy to report that not only does this work well for replicating the voice coil current distortion measurements that Hificompass presents, but it can also be used with FSAF, allowing one to listen to the distortion generated by a loud speaker, no microphone required. Give it a try :)
 
lol, 0R1 = 0.1 ohm., words I wrote under the image should have made it clear. Back in "the olden days" many schematics were photocopied, so the letter R is less easily mistaken for dust/specs/noise in a photocopied image, than a .
 
Revisited my Atari speaker (Satori MW16P + Melodavid Be28 combo) with this measurement method. I really like that this measurement is able to provide some useful data without the pitfalls of acoustic measurement, no microphone, quiet well treated recording environment is required, so the results are a lot more easily repeatable without any background noise contamination.

I may try again with a nicer amplifier later on to see if I can get a lower noise floor, and at higher SPL. The measurements show nothing from 2kHz+ for the tweeter range, however based on my previous HD measurements I expect to need SNR of 70dB to capture it, with the quick measurement this morning I have only managed 60dB.

Tested with music - "QDust" track. Level was set at 5V, reasonable low listening level, not high stress.
1739897032218.png


Testing again with 200Hz LR24 high pass.
1739897147260.png


Quite impressed really, with the high pass in place there TD+N is at -60dBr level >200Hz.
1739897850811.png
 
Last edited:
Of course, this electrical measurement doesn't unveil all distortion products for a complete loudspeaker, there appears to be distortion products that are not manifested in this current sensing measurement for a complete speaker with crossover assembly. For individual drivers, I think it can provide very useful insight into the distortion products generated by the motor.

For comparison, ESS acoustic measurement of a speaker. It's a quick and dirty measurement, so there are room interaction 200-400Hz.
1739925432066.png


With an electrical measurement, you can see that the 2nd order products >1khz are completely absent.
1739925443806.png
 
Hypothesis- that H2 is that flappy rubber surround.

Which may explain you may not see it in the electrical around the impedance blip of the MW16p above 1KHz, but can measure it with the microphone.
 
@FSAF would you have any ideas / suggestions for a "current sense" circuit that would be less dependent on the driver impedance, and provide a true constant current measurement? This 0.1 ohm resistor is impressively simple and functional, but still has a downside of being dependent on the driver impedance, especially problematic at low frequency around the driver Fs. Perhaps this is unimportant when viewing data relative to the fundamental, I'm not sure.

Some further details on this electrical measurement have been posted here: https://www.diyaudio.com/community/threads/rew-fsaf-revisited.424278/post-7938468
 
Last edited:
I have been playing with current measurements for quite a while but have not found a way to make much sense of them.

First, you need a soundcard that can turn +48v on and off on separate inputs. I used Focusrite 18i20 Gen 1. Then I recorded 4 channels:
1. ruler-flat measurement mic (electret)
2. cardio condenser low-noise mic
5. voltage on the amp output
6. voltage on the 0.1Ohm
... but after spending days and days looking at the data, I could not figure much. BTW, with voltages on 0.1 and amp out, you can figure out the driver impedance and correct amp out (which is the same as eq-ing it) for the next run. Much easier with MatLab:-)

Then I made a true current driving amp with wide feedback bandwidth - and the results were much clearer. Some of my previous conclusions turned out to be wrong.

I do not care much about constant current - but I do care about the constant (equalized) acoustic output, in either voltage / mixed / current drive.
 
Thanks for getting back to me, FSAF. I am using a Motu M4 for my measurements, like any USB audio interface, 48V power on/off is just a push of a button, and only active on the XLR pins, so as long as you use TRS for input, 48V phantom power will never be on the wire by accident.

If you follow the link provided to DIYAudio, I hope that the data there shows that I did find quite good correlation for HD between acoustic measurements and the current sense measurement, as long as dBr scale is used, and harmonics are shown relative to their harmonic frequency. Especially true for odd order harmonics. Lacking correlation is at low frequencies around the driver's Fs. For FSAF, I will double check, but I believe there is good correlation there as well, and of course the residual audio contains much of the same distortion artifacts, harmonics, intermodulation, barkhousen, and easily identifies a simple speaker motor from a more advanced motor design, as well as the same reduction in modulated products from a high pass filter, etc.

The main benefit for myself that I am hoping to accomplish with this current sense measurement, is reduction in noise floor, and less reliance on background noise conditions and room treatment. This measurement can be achieved at my desk while someone watches TV in the next room without any contamination in the result. The icing on the cake is that a resistor and some wire can be a lot cheaper than a nice microphone.

Applying EQ to the impedance response is a good idea, I will give it a try. If REW could do impulse response convolution to normalize the output, that would make my day, but perhaps is asking a bit much.

Is something like this circuit what you mean when you say "true current dividing amp"?
1740428175492.png
 
I did not know that about MOTU, thank you for sharing this very valuable insight!

I also saw the correlations... but after I measured a few dozens of loudspeakers, I got completely confused. I am not saying that nobody can extract valuable data from it - only that I was unsuccessful.
I agree about much better noise immunity.

BTW, for pure current sense, you can use TI's INAxxx op-amps which have a better common mode rejection.
By the "true current drive" i meant something like that:
lm3886-cd.png

where L1, C1, R2, & R3 are driver's params /10 (or *10 for C1) near its high-freq resonance.
4.png

(Hz instead of kHz) - which you need to get sufficiently wide open loop gain.
 
Back
Top