Filter brewing for the Soekris R2R

Disabled Account
Joined 2005
More listening impressions:

-NQ C960_140 gets fatiguing after a while (20min), it is not sibilant like a typical Sabre dac, but it has an edge in somewhere 10kHz region, some gear i have listened have measurable problems in that area, not a simple fr spike, but time domain saturation or ringing that remin me the same edginess. Like super snappy ;) I had confirmation when my gf listened to these filters and instantly disliked the c960, women have a bit more sensitive hearing in upper frequencies. Ofc she had no idea which filter does what or which i personally liked. Otherwise the C960 is technically more adapt in treble than NQ_C128_100 to my ears.

C960 is also brighter, i can't say if more neutral or not.

-ct1014_60 is surprisingly good, great dynamics, similar to the Nyquist filters, but a bit closed-in sounding.

-384_C130_MP is among the best i have tried. Tonally similar to Nq C128, maybe less dark. It has a bit more beef down low, notes are thicker in a good way. Bass feels a hair heavier. Not quite as natural sounding as Nq C128.

-16_C110 is nice open sounding, reminiscent of nos. Tonally tilted to bright side of things. Bass is too light footed, doesn't have proper impact. I feel somewhat the same about NOS actually, but to lesser degree.



I have no clue why, but i trust my ears as there are significant differences in tonal balance and bass presentation. Few dB tilt from 10kHz up won't have that effect.



Maybe some width of impulse response works in the Dam favor? Compensates something in the design, like quantization error or smth? Makes notes thicker sounding?



There is enough going on with the filters that compensating for flaws is not necessary to explain the changes.



This is a comparison of the frequency response of the filters you mentioned.

attachment.php




Red: 384_C130_MP, Olive: CT1014_60, Green: C960_140dp, Purple: 16_C130_MP







Response below 10kHz for the same filters. showing essentially flat response for all expect the 16_C130_MP, which is -0.3dB at 10kHz. The 16 has very slight rolloff from 0Hz so should sound tilted to the bass if anything.

4filtTB.png

Looking at the start of roll-off ( 0 to -1dB, offset from zero is just that I ran out of adjustment in graphing software), The "16" is obviously rolled off, but others are essentially flat to 18kHz.



So it would seem with the exception of the 16_C130 there is no obvious reason that these filters will sound particularly different based on frequency response. At worst you'd expect slight differences in "air" and "detail", but certainly not bass/treble shifts.



So if the response is essentially flat we have to look elsewhere...

I've had to remove one image as it was incorrect. I'll post a replacement later.
 

Attachments

  • PrCompFR.png
    PrCompFR.png
    47.4 KB · Views: 1,479
Last edited:
Disabled Account
Joined 2005
The question is then, if frequency response is not the determining factor, what is?

The most obvious factor is impulse response, and we have looked at this earlier in the thread. Mike Pflaumer describes the effect in one of his patents and points out a relationship between the width of the log squared impulse response in milliseconds and the size of the sound source being reproduced.

If, however, one plots the magnitude of the impulse response on a logarithmic scale, one can see some very interesting results, which do correlate with listening tests. The response of human hearing is logarithmic. ... The vertical axis is the amplitude in dB with reference to full scale, and the horizontal axis is in samples. This can be thought of as the response of the system in time to a single impulse of unity amplitude (0 dB). Notice that the energy in the system response to a single impulse spike is spread over many samples in time. If one assumes that this is a CD example with a sampling frequency of 44.1 kHz, the spread in time at the point where the plot is 50 dB below full scale is about 3 milliseconds. This time corresponds to physical dimensions of roughly one meter, given the speed of sound in air. If the source of the sound was originally smaller, such as a wood block percussion instrument, the spreading in time or time smear will alter the sound as reproduced by the system in a way that sounds like a loss of high frequency resolution.


Pflaumer also suggests that the response above -80dB is sonically significant, but adds the caveat that the main response and the first pair of side lobes have the greatest impact.

The impulse width of the NOS FIR in response to a 1 sample impulse is around 0.02ms.

attachment.php


Being lazy I'm using the calculator at Frequency formula period time frequency cycle per second hertz Hz amplitude duration periodic time period to angular frequency formulary wavelength acoustic equation relationship wavelength Hz millisecond ms calculation calculate calculator t=1/f Hz

If we punch in 0.02ms we find this is a frequency of 50kHz.

Following Pflaumer,
speed of sound at 20°C at sea level = 343m/s
0.02ms = 0.00002 seconds
343*0.00002 = 0.00686m = 6.86mm

So with the NOS impulse any sound source smaller than 6.86mm will sound as though it has rolled off HF. As this appears to translate to 50kHz it's not a huge issue. There are no side lobes to influence the way the NOS filter responds. My take on this is that the NOS filter give the most accurate tonal balance, simply because it doesn't smear energy in time based on amplitude and frequency.

Looking at the 384_C130_MP the difference is quite apparent. The main impulse is broader, and at -10dB the side lobes start to influence spread of energy. Taking the -10dB point the time span is around 0.07ms. Using Pflaumers formulation this means a sound source that is smaller than 24.01mm will be smeared and lose apparent HF energy. In terms of wave period, 0.07ms is roughly 14.285kHz.

At -20dB the width of the impulse is 0.2ms, and sound sources smaller than 68.6mm will start to be smeared. This corresponds to 5kHz.

At -80dB the impulse has spread to .67ms, the equivalent of a sound source with a size of 230mm, and a frequency of 1492Hz.

I find it difficult to visualise how this works on the filter sound tbh. My best shot is this:
With the MP filter the attack is very steep so initially all frequencies have an equal relative balance, as per the NOS filter.
As the amplitude decays the frequency at which time smearing effect gives a perceived HF roll-off decreases. In this case the frequencies below 1.5kHz should be perceived as relatively louder, despite the filter being essentially flat below 17kHz.

It's a bit speculative but it's about the only way I can really correlate impulse to perceived response vs actual response of the filter.
There are other factors in play as well. Julian Dunn's paper linked in the first post points out some of the other problems with slow roll off, as does Pflaumers patent.
 

Attachments

  • NOS_384_C130_MP.png
    NOS_384_C130_MP.png
    69.9 KB · Views: 869
Last edited:
Thanks for the graphs.
I am pretty sure that the audio band freq response is not responsible of these effects that i hear.
I can barely notice a 1-2dB tilt if i use eq, but these filters do have clearly different tonality and soundstage presentation.
The impulse response effect does make sense though. There could be something valuable hiding there as a compromise.

Gear and ears are very different, so it is hard to level things. Some people are super sensitive to high frequency distortion, while others to mid-range distortion. Some value soundstage the most, others tonality etc.
Right now i am torn between NQ C128 and 384_c130, these are both great in my system.
Both might need some improvement in soundstage/openness if anything.

About the C16, i hope some others chime in on this. I try these filters with active Genelec monitors and HD800 headphones through a Sansui integrated amp. So two very different systems. Both showed that the C16 to sound lean and bass shy, but very open and airy sounding without hint of edge, but then again lacking in some 'snap' to make rock recordings sound alive.

I wonder if a csd graph could show something about this?
 
Last edited:
Disabled Account
Joined 2005
Right now i am torn between NQ C128 and 384_c130, these are both great in my system.
Both might need some improvement in soundstage/openness if anything. .


Unfortunately openness and soundstage are pretty nebulous concepts. In order to address these things you first need to identify which aspect of the filter behavior influences what is perceived as openness and sound stagings. Once you have an idea of that, you can look for ways to shape the impulse in a controlled manner. It's a lot easier said than done :(
 
Disabled Account
Joined 2005
OK

Stock 441 vs NOS
attachment.php


960_C140 vs NOS
attachment.php


384_C130_MP vs NOS
attachment.php


C128MP vs NOS
attachment.php


16_C130 vs NOS
attachment.php


And as a bonus NOS vs Izotope Default steep roll-off.
attachment.php


Unfortunately I don't see any way to implement the steepness of the Izotope SRC that results in the board, flat shoulders within the constraints of 1016 taps. The Izotope filter is close to 3000 taps long.
 

Attachments

  • NOSv960_C140.png
    NOSv960_C140.png
    95.3 KB · Views: 838
  • NOSvC128.png
    NOSvC128.png
    59.8 KB · Views: 831
  • NOSv384_C130_MP.png
    NOSv384_C130_MP.png
    53.3 KB · Views: 837
  • NOSv16_C130.png
    NOSv16_C130.png
    36.7 KB · Views: 838
  • NOSvSK441.png
    NOSvSK441.png
    70.7 KB · Views: 849
  • NOSvISOdefault.png
    NOSvISOdefault.png
    123.7 KB · Views: 831
Disabled Account
Joined 2005
The passage in Dunn's paper I mentioned above is worth considering when we discuss any of the slow roll-off filters.

Take, for an extreme example, a full scale input signal of 1kHz below the half sample frequency. The image of this tone (to be suppressed by this filter) will be at 1kHz above the half sample frequency, and at full scale. The filter attenuation at that frequency is 25dB.

The output of the DAC following this filter will therefore have two tones 2kHz apart. A second-order non-linearity in an amplifier or loudspeaker would produce intermodulation products at the frequency sum and frequency difference of these tones. The amplitude of the products would be equivalent to the product of the two amplitudes multiplied by the coefficient of non-linearity.

If the second order non-linearity in the following stages (amplifiers and loudspeakers) is worse than 1% at that frequency and level then the resulting distortion product at 2kHz will be approximately -70dB below the signal. Do not forget that - for our listener at least - the signal itself is inaudible and will not have any masking effect.

The key thing here is that distortion products will be largely dependant on non-linearities in any equipment following the DAC. This potentially makes the slow roll-off filters heavily system dependent.

In other words YMMV...
 
Disabled Account
Joined 2005
Brick, meet Wall

After a bit of playing around I've got something I thinks sounds reasonably similar to the Izotope SRC "best" settings in Audirvana+. I'm not sure I'd be able to wring anything much closer out of 1016 taps anyway... (nb: comparisons done using the 115dB version)

Vocals on the tracks I listened to are positioned in a similar relationship to the rest of the instruments on both A+ and this filter.

The primary intention here is to address the concerns raised by Julian Dunn regarding the distortion products resulting from non-linearities as a result of insufficient stop band attenuation. The second concern I'm trying to address are Pflaumers comments regarding harshness resulting from imaging in the transition band.

I've noticed in playing with these filters that anything less than 100dB stop band attenuation is audible as "clouding" and a loss of transparency. I'd initially done a version with 115dB stop band attenuation but it seems 130dB is better again despite the roll off becoming less steep. Out of interest I tried a 150dB version...

I'd been analysing 24bit .wav files, and realised while I was doing these filters that the filters really needed 32bit .wav's to adequately reflect what is happening in the DAM.

I'd highly recommend working 115 -> 130 -> 150dB so you get a feel for what increasing attenuation does, even if you just give a reference track or two a listen at each stage.

I'm interested to hear if anyone thinks the 150dB filter is overkill after having a listen?

purple: 115dB, green: 130dB, red: 150dB.
attachment.php


attachment.php
 

Attachments

  • 1016BW_Variants.zip
    12.2 KB · Views: 83
  • 1016BW_LSIR.png
    1016BW_LSIR.png
    130.6 KB · Views: 825
  • 1016BW_Variants.png
    1016BW_Variants.png
    48 KB · Views: 817
Last edited:
The impulse width of the NOS FIR in response to a 1 sample impulse is around 0.02ms.

Being lazy I'm using the calculator at Frequency formula period time frequency cycle per second hertz Hz amplitude duration periodic time period to angular frequency formulary wavelength acoustic equation relationship wavelength Hz millisecond ms calculation calculate calculator t=1/f Hz

If we punch in 0.02ms we find this is a frequency of 50kHz.
If you are even lazier, you could recall that the NOS filter is 8 samples, long for a sample rate of 8*44100Hz, so coreesponds to 44100 Hz :D
... and start the typing later.
 
Hey Spzzzzkt, would it be possible to make the C16 kind of filter fully attenuated by ~25..30kHz, no matter if severe roll-off at high end? It would answer some questions.

Though the 384 is so fine, if i put music on i can't stop listening.
Must..finish... my . masters.. t h e s i s! Very bad time for such exciting stuff :p
 
Last edited:
Paul, I guess the filter should be 1021filt_16_C110_MP in the graphs and not 1021filt_16_C130_MP. In that case, could we have a 1021filt_16_C130_MP version to compare with the 1021filt_384_C130_MP version? Also what Priidik suggests seems valid.

1021filt_16_C110_MP is more open, instruments are further away, more relaxed. But again I feel 384 has a better focus on the instruments and more energy. Overall much better than 16 at least on my class-T.
 
Last edited:
I've just been listening to the 150dB filter. In my system the 3d effect it's producing is astounding... To me it's better than the 384 which was my favorite so far.
I'm eagerly waiting other people accounts to understand if it's only the effect of all the Belgian beers I had at the pub before coming back home...
Looking foreward testing the other db versions tomorrow ... Thanks again spzzzzkt
 
While looking at the impulse response of FIR1 instead of the whole FIR1*FIR2 seems to be safe for moderate-to-long length FIR1, e.g. looking at the following example we see that the visible difference of the total system consists in deeper notches, and some effects at the very margins at very low magnitude.
Impulse_reponse_C960_140dp.png


Whereas if the FIR1 is very short (take the NOS as extrem example) the FIR2 influences the total impulse response considerably
Impulse_reponse_NOS.png
 
Disabled Account
Joined 2005
I've just been listening to the 150dB filter. In my system the 3d effect it's producing is astounding...

Thanks for the feedback nusa.

I haven't had a chance to listen to the 150dB filter properly at this stage but I noticed there was a clear improvement over the 130dB when I swapped filters.

One of the reasons I have the USB-RS232 convertor hooked up permanently to my music server is that it allows me to change filters from my listening position with only a short gap of 1-2 seconds while the DAM resyncs.

My initial impression when the filters swapped was that it 150dB seemed to less bright, and the slightly harsh edge to what I was listening disappeared. I got the feeling the sound was darker, and smoother, but still very detailed. I thought I might be imagining the changes, so didn't want to get too excited. :eek:

Anyway I'm going to rebuild the filter to ensure I have messed anything up and have a proper listen this afternoon.

cheers
Paul
 
Disabled Account
Joined 2005
Hey Spzzzzkt, would it be possible to make the C16 kind of filter fully attenuated by ~25..30kHz, no matter if severe roll-off at high end? It would answer some questions.

Though the 384 is so fine, if i put music on i can't stop listening.
Must..finish... my . masters.. t h e s i s! Very bad time for such exciting stuff :p

It's not possible with the C16.
Roll off is by determined the number of taps, the passband band ripple and stop band attenuation.

C128 is about as short as is feasible to achieve roll-off under 30kHz while keeping passband ripple and stop band attenuation to a reasonable level.

If I'm hearing what I think I'm hearing with the 1016_K150_BW filter it may well be that we are better off focusing on stop band attenuation as a primary goal.
 
Disabled Account
Joined 2005
Whereas if the FIR1 is very short (take the NOS as extrem example) the FIR2 influences the total impulse response considerably
View attachment 481512

FIR1 will only be altered when FIR2's is not flat through to the start of FIR1's stop band . Typically you would design the FIR2 response to suit the FIR1.

NOSx8x8 vs F2_K150:
attachment.php


You can see the F2 curve undercuts the NOS response above 220kHz, which means FIR1 response will be altered above this point.

1016_K150_BW vs F2_K150
attachment.php

No interaction between FIR1 and FIR2 so FIR1 response is unaltered.

1016_K150_BW vs 1016_K150_BW up sampled with F2_K150
attachment.php


In the case of very short filters like the C16 which has a total of 16 taps there are some changes to the filter response where the FIR2 roll off interacts with FIR1

C16 vs F2_K150 (16 vs 120 taps)
attachment.php

And impulse...
attachment.php
 

Attachments

  • NOSvsF2_K150.png
    NOSvsF2_K150.png
    49.9 KB · Views: 799
  • 1016_K150vsK150F2.png
    1016_K150vsK150F2.png
    40.2 KB · Views: 774
  • 1016K150BWvsF2.png
    1016K150BWvsF2.png
    100.7 KB · Views: 778
  • C16vsF2_K150.png
    C16vsF2_K150.png
    39.3 KB · Views: 788
  • C16vsC16_F2_K150.png
    C16vsC16_F2_K150.png
    61.8 KB · Views: 783
Last edited:
Disabled Account
Joined 2005
Stopband, how low can you go?

After a bit of a listen to the 1016_k150 filter I think my initial impressions were pretty right. There is a real smoothness that is lacking from the filters with lower stop band attenuation and I suspect I know why.

While the stop band is well below audible levels even at 100dB I've been forgetting something essential. The DAM is using a 28bit ladder so is reproducing content in the signal down to -168dB whether we hear it or not.

With 100dB stop band attenuation a -1dBFS 1kHz will mirror above Nyquist at 43.1kHz, 45.1kKz, 65.15kHz, 67.15kHz, etc, etc, at -101dBFS. It is definitely low level but it means the DAM would be reproducing these "junk" harmonics at 17 bit level.

I suspect the benefit from increasing stop band attenuation comes from pushing the "junk" in the stop band down to smaller LSB's, which should reduce the amount of low level HF activity in the R2R. In theory pushing the stop band to -169dB should push HF junk to a low enough level the DAC does not pass it to the R2R ladder.

I could be completely wrong, but what I'm hearing with 1016_K150 and 1016_K180 seems to indicate there is something much more significant than just filter rolloff or passband ripple going on.

Attached filter has -180dB attenuation in both FIR1 and FIR2, which may be a bit of overkill.

I'll try to do some testing next week to see if there is any measurable benefit to this, and if so at what level there cease to be gains (if any).

cheers
Paul
 

Attachments

  • 1021filt_1016_K180_BW_F2.skr.zip
    3.9 KB · Views: 87
Last edited: