R2R DAC Benchmark Filters (for now)
After a 5 month long, 1200-post filter development odyssey [link], our friend Paul have arrived at a set of benchmark filters for the enjoyment of all owners of the Soekris DAC (BIG THANKS!). There is so much material and knowledge in the diyaudio forum thread that it was a challenge to keep up with. Fortunately, Paul will be moving to a blog format to share new filters, but likely after new firmware for the Soekris DAC is released.
I have summarized the latest “benchmark” filters here for convenience.
|Filter File Name
|1021filtNQ_C960_140 [link]||Nyquist filter “approaching NOS”||Further “tweaking” of the Nyquist filters, less coloured than the C128 series filters.|
|1021filtNQ_C960_140dp [link]||Nyquist filter “approaching NOS”||Same but quantized in mkrom.exe. (rather than in MATLAB) (sound far more open in the top end and less clouded)|
|1021filtNQ_C128_100bp [link]||Nyquist filter “approaching NOS”||The “benchmark” filter with correct “quantization”. Use this one instead.The .txt files here [link]Comparison 128 vs 960 here [link], [link]Response comparison with NOS [link]|
|1021filt_384_C130_MP [link]||Minimum Phase||Further experimentation with minimum phase. This filter is similar in length and roll-off to the stock 44.1 filter, but minimum phase. It is -0.1dB at around 19kHz. Trading “Nyquist” with minimum phase. Notation: 384 = number of taps; C = Chebyshev Window; 130dB = Window side lobe attenuation setting; MP = minimum phase or LP = linear phase.One of the key determining factors is impulse response [link]. Here is the impulse response for the latest favorite filters: [link]|
|1021filt_SoX_fixup_HiAtt [link],||High Stop Band Attenuation||
|1021filt_1015_Kb16_BW [link]||High Stop Band Attenuation||After a long road, this filter and the previous one are the current “best” filters.
|1021filtNewNOS [link]||NOS||And for convenience sake, the NOS filter remains a favorite.Latest iteration of the NOS filter which includes POS’s improved de-emphasis filter.”The NOS filter does not actually filter at all – all the coefficients are set to 1 so the audio is passed unaltered and is only up-sampled. The side effect is none of the mirror images of the original signal that appear in the up sampled signal are removed…””Listened to NQtb65, NQtb70 (see Nyquist filters below) and NewNOS today. All three are pretty nice. But NewNOS feels distinctively more dynamic, direct and more full-bodied…”|
|1021filt_EQHQ_V2r1 [link]||“Perfectionist”(Brick Wall)||I call this “Perfectionist” because it is a “best specification” filter: minimum band pass ripple, high stop band attenuation, narrow transition band…- 0.0000003dB pass band ripple constraint – all filters
NEW FIRMWARE (JUST SOME DETAILS)
The new firmware will provide the following enhancements for filter development [link]:
2.30 format for FIR filters was chosen to have reserve, thinking there was plenty of bits, especially when compared to other DAC chips, and 1016 taps were also more than any DAC chips. But after following Paul’s fantastic filter work it seems like that improvements are needed to the filter blocks, even as they already are better than any DAC chip.
As the R-2R DAC should be state of the art, I will change format in next firmware rev, probably to 1.34, and instead have the mkrom tool check for overflow, maybe even look into auto scaling…
I’m also looking into double the number of coefficients, that would require to assign double the MAC blocks to the first FIR filter, should be possible as the last MAC block is just doing volume control, that can be done using a multiplier built with a lot of LUT’s instead, not an issue as that don’t need to be fast and there are plenty of LUT’s left in the FPGA, the FPGA was choosen more for number of MAC blocks than number of LUT’s…
- Increase in coefficient precision (4 additional bits)
- Increase in the number of coefficients (up to 2032 coefficients). Basically anything possible with software resamplers (such as SOX) will be possible in the DAC.
Up to now, I have been using the factory filters. It is time to upload and try some of these filters. For convenience, I am repeating here information from other posts.
Connect the RS232 Interface to a PC
Connect the RS232 pins to the PC serial port as follows. This is basically a null-modem connection without h/w flow control. You may want to check this informative site on serial communications including RS232 [link]
Launch the Terminal Application (Tera Term) [link]
After launching Tera Term (the application is “ttermpro”), select “Serial” and select the Port you are using to communicate with the DAC.
Configure the serial communication parameters with:
- Baud rate: 115,200 (This is pretty fast. Use a good, short cable)
- Data bits: 8
- Stop bits: 1
- Parity: none
- Flow control: none
Click on the “Setup” pull-down menu and select “Serial port”
Invoking “uManager” for Interactive Mode
Type “+++” and wait for the DAC to respond (~1 sec). You must enter “+++”, otherwise there will be no response. If you enter anything else, there will also be no response. “+++” invokes the “uManager” enabling interactive communication with the DAC through a terminal window. You will see the following prompt:
Uploading the filters
After invoking the uManager, type “download” in the terminal window. The DAC will acknowledge your command and wait for you to start the xmodem transfer
In the “File” pull down menu select “Transfer” -> “Xmodem” -> “Send”. You will see the XMODEM send dialog box (shown below). Select the filter file you wish to upload (in this example “1021filt_1015_Kb16_BW.skr” and click “Open”. Make sure the file is of type .skr.
After completion, power-cycle the DAC. Note: changing the input or changing a track with a different sample rate also triggers reloading of the filters
MY OTHER POSTS ON THIS DAC
|Soekris dam 1021 R-2R DAC ILLUSTRATED GUIDE||Users Manual||[link]||Users manual for the Soekris DAC.|
|Soekris dam1021 Build||Build Guide||[link]||Details of my initial build of the Soekris DAC.|
|dam1021 R-2R DAC MODs||Mods||[link]||Mods I have performed on the DAC build.|
|dam1021 R2R More Mods||Mods||[link]||Later mods on the DAC build.|
|Digital Filters for Soekris R2R DAC||Digital Filters||[link]||Extensive list of DIY filters from the diyaudio filter brewing forum thread.|
|R2R Benchmark Filters (for now)||Digital Filters||[link]||Latest set of filters developed and shared in the diyaudio filter brewing forum thread. The best filters of the bunch.|
|R-2R DAC For The REST of US||Technical Details||[link]||Introductory post describing the innovations and capabilities implemented in this DAC.|
|The Soekris R-2R DAC: Technical Details||Technical Details||[link]||Additional technical details of the Soekris DAC that were not covered in the post above and collected after I had the DAC on my hands.|