Filter brewing for the Soekris R2R

Disabled Account
Joined 2005
As I said it is quite a while I did this, so with the details....
But the RME runs from morning to evening and surely was hot. The measurements were made "one after the other" so under similar conditions. The DAM and AD1955 got their digital signal over SPDIF-coax from the RME. The RME measurement was an analog loopback.

It's definitely a signal related artefact from the DAM. It seems to peak at 41kHz regardless of sampling rate selected on the DAC or ADC. I wonder if it's a multiple of the FPGA clock.

My comment re the 1 tap filter was a bit daft (and I've since deleted). We discussed this before and the output of a single tap filter at x8 is very low (thnx zfe). Adding taps increased the "hump" so it's not likely this was actually doing anything useful, except confirming that the issue is correlated to signal level.
 
It's definitely a signal related artefact from the DAM. It seems to peak at 41kHz regardless of sampling rate selected on the DAC or ADC. I wonder if it's a multiple of the FPGA clock.

My comment re the 1 tap filter was a bit daft (and I've since deleted). We discussed this before and the output of a single tap filter at x8 is very low (thnx zfe). Adding taps increased the "hump" so it's not likely this was actually doing anything useful, except confirming that the issue is correlated to signal level.

I had also meassured fs=192 kHz, and yes it also shows the peak is at the same location. But I would locate its peak more around 35kHz than 41 kHz.
 

Attachments

  • DAM192av.jpg
    DAM192av.jpg
    150.6 KB · Views: 506
Ha ha :D, fantastic Paul. Although I argue this one might be a better fit for the young stars insisting on using they’re iPhone speakers as ghettoblaster.
An externally hosted image should be here but it was not working when we last tested it.


I’ve even went out and bought a speaker width docking to my daughter. Of no use of course as the phone can’t leave hear hands. I keep your DTYWS filter and rename it GoMo (grumpy old man only).

On a serious note. My intention with the limited bandwidth was to create something with a soft knee to minimize side effects. Am I to understand that’s not necessary? As TNT I'm curious how it measure?
 
Last edited:
For those curmudgeons who want to wallow in their dotage (and failing hearing).

This has turned out somewhat like DEQ's "full steam ahead, and don't spare the high end" special. :)

DTYWS starts to roll-off at just under 16kHz, is down a comparatively restrained 22dB at 20kHz, is -130dB at 22kHz and bottoms out at -180dB at 22.4kHz.

Who cares if the young'ns think it sounds bad. ;)

FWIW the passband response graph extents are +/-0.00001dB so don't be too alarmed at the precipitous drop in response.

I added similar looking filters also for higher sample rates by taking only every second respectively fourth coefficient (as most of the material I have with me is at higher fs) and with my (problematic) Stax headphone it sounds much better (relaxed) than before. So its also good for old headphones not only old man :p. I will "investigate" that in more detail the weekend.

I can not measure anything at the moment, I am still away from my main equipment.
 
Disabled Account
Joined 2005
I had also meassured fs=192 kHz, and yes it also shows the peak is at the same location. But I would locate its peak more around 35kHz than 41 kHz.

This was at 48khz with 1088kHz test tone. Looks like 41kHz to me :)

The DTYWS filter isn't really all that bad. It's only -0.02dB at 17kHz, then -0.8dB at 18kHz, -6dB at 19kHz, and -21.5dB at 20kHz.
While it is starting to roll off at 16kHz it's only fractions of a dB, and the serious roll-off doesn't begin until 17kHz.

It's not nearly as dull sounding as the AyreListen filter which was rolling off at 10kHz or something crazy.
 

Attachments

  • 48_1088.png
    48_1088.png
    201.3 KB · Views: 477
Last edited:
Disabled Account
Joined 2005
What measurements, and why?

OK. Impulse of the filter from post:

474289d1427521865-filter-brewing-soekris-r2r-dtyws_impulse.png


Impulse of the filter measured at DAC outputs.

attachment.php


Surprise, surprise, the DAM measures pretty much like the filter, just like Søren said it would.

Response from the impulse....

attachment.php


Ignore the absolute levels - the impulse is one sample long so doesn't have a huge amount of energy and measures low, however I believe the response curve is accurate.

So who would of guessed. ;) It starts rolling-off at around 17kHz, is around 1dB down at 18kHz, -22dB at 20kHz. Hmmmm... do those figures sound oddly familiar!?!??

The other "take home message" here is that the noise floor swamps the filter response below -145dB, in my test setup at least. I suspect that only reason for chasing stop band attenuation much below 150dB is to reduce passband ripple.
 

Attachments

  • impulse.png
    impulse.png
    30.3 KB · Views: 561
  • ImpluseResponse.png
    ImpluseResponse.png
    94.9 KB · Views: 532

TNT

Member
Joined 2003
Paid Member
It would be intersting to see what the passband contains with such hard filtering. Its bordering a steep HP of a 2 way actitive system (for bats). I would be interested to see analogue measurements.

Fs=44, 48, 96, 192, 384 and a few F0 version of the same filter topology on say 22, 16 and 8 khz with ditorsion and noise measurements. Maybe compare a few radically different filters at these F0s while at it.

//
 
Disabled Account
Joined 2005
It would be intersting to see what the passband contains with such hard filtering. Its bordering a steep HP of a 2 way actitive system (for bats). I would be interested to see analogue measurements.

Fs=44, 48, 96, 192, 384 and a few F0 version of the same filter topology on say 22, 16 and 8 khz with ditorsion and noise measurements. Maybe compare a few radically different filters at these F0s while at it.

//

Other peoples time is cheap isn't it?
 

TNT

Member
Joined 2003
Paid Member
If you check my phrashing it doesn't call for someone else to do it - it was your intepretation. I made sure it wasn't to come out like that. I migth do it myself. Maybe someone would comment on ths usefulnesss of such measurements.

Relax + Peace out!

//
 
On that regard. Just tested with mkrome.exe. It does not test for correct numbers of coefficients. Has Søren given any explanation how mkrome handle this internally? As each section in the filter file has its own header with information of taps count my guess the problem is just passed to the dam?

Paul - thanks for the measurement. Its insuring we can dry-test this thingy on the computer.

oneclock – thank you for posting you phasing measurement. One thing not clear to me. Does it have any meaning where on the timeline the impulse peak are? I understand its usually less desirable with pre-ringing than post. But I’m unsure if the placement of the peak in your measurement are something we can read something from?
 
Disabled Account
Joined 2005
On that regard. Just tested with mkrome.exe. It does not test for correct numbers of coefficients. Has Søren given any explanation how mkrome handle this internally? As each section in the filter file has its own header with information of taps count my guess the problem is just passed to the dam?

mkrom.exe is not idiot proof in any way, and I wouldn't expect that change.

It's up to the user to ensure that the number of coefficients matches what you specify in the header. If you have a mismatch between the two the distortion is pretty bad. I know this from experience ;)

Anyway I'm done measuring for the moment. I've set my system back up and am playing some tunes...

thus far...

Solar Fields - Blue
https://solarfields.bandcamp.com/album/blue

Ultimae Records - Enfold 01 (free 24bit comp)
https://ultimae.bandcamp.com/album/enfold-01-24bits

Ott - Blumenkraft
https://ottsonic.bandcamp.com/album/blumenkraft-2

All good, all 44.1kHz.
 
Disabled Account
Joined 2005
IPv1
-0.02dB @ 16kHz, slow roll-off
-0.17dB @ 17kHz
-6 dB point at 20.kHz
transition band 10000hz
Intermediate phase.

IPv2
-0.04dB @ 17kHz, with slow rolloff
-6dB point @ 20.5kHz
transition band 9500hz
Intermediate phase.

Sox settings listed above the 44.1kHz filter in the .txt files.

v1 sounds a little bit too soft in the top end for my tastes. Cotton wool wrapped, and lacking in detail, imo. Polite, is the probably best description.

v2 is a bit of a test to see how far up the roll off need to go to make the top end acceptable. I personally think this is more listenable. Increasing the -6dB point by 500hz, and narrowing the transition band by 500hz removes most of the cotton wool effect. The combined effect is to raise the start of roll off by 750hz, so it's not too surprising the effect is audible.

FWIW: My download of the 24bit version of Master Margherita's new release Afro Dots just finished. Nice stuff and mastered by Vincent Villius...
http://mastermargherita.com/album/afro-dots
 

Attachments

  • 1021filtIPv2.txt
    34.9 KB · Views: 71
  • 1021filtIPv2.skr.zip
    3.4 KB · Views: 77
  • 1021filt_IPv1.txt
    33.7 KB · Views: 66
  • 1021filtIPv1.skr.zip
    3.3 KB · Views: 79
Last edited:
Disabled Account
Joined 2005
v3

-0.013dB @ 17kHz
-0.16dB @ 18kHz
-6dB point is 20.75kHz
Stop band attenuation -140dB.
Transition band is 9000Hz.
Intermediate phase.

Haven't really had a chance to listen to this one - except hooked up to the TV @ 48kHz via toslink.

I've aimed for stop band to start around 25-26kHz on these IP filters so there will be some imaging, but this is roughly the same as CRaPMagic for example. The three filters vary mainly in transition band width and -6dB point. The point of interest is mainly the effect and audibility of corner frequency changes.

If we can decided on one base for further experimentation I'd do a set of filters that keeps the basic parameters but varies the phase from Minimum -> Linear.
My preference is for v2 or v3.
 

Attachments

  • 1021filtIPv3.txt
    36 KB · Views: 69
  • 1021filtIPv3.skr.zip
    3.5 KB · Views: 71
Last edited: