Filter brewing for the Soekris R2R - Page 100 - diyAudio
Go Back   Home > Forums > Source & Line > Digital Line Level
Home Forums Rules Articles diyAudio Store Gallery Wiki Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 7th May 2015, 09:39 PM   #991
soekris is offline soekris  Denmark
diyAudio Member
 
Join Date: Jun 2009
Quote:
Originally Posted by zfe View Post
@Soren:
I see here no meaningful use of FIR filter coefficients of magnitude greater than 1. Using the 2.30-fixed format, just to be able to store the 1, is a waste of one bit. I would suggest to 1.31 fixed (or better 1.34-fixed) and scale the coefficients so that 1 will become 1-2^(31) (resp. 1-2^(34)).
First, remember I didn't know much about filters before starting this project, in fact it's the first digital filters I have ever implemented, so some design choice were done to be safe....

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...

Quote:
It would also be nice if we could distribute free resources in the FPGA (if any) to FIR length limits, as setings with the mu-manager.
I don't see that as practical, as it would most likely introduce multiplexer and routing delays, reducing filter speed.
__________________
Søren
  Reply With Quote
Old 7th May 2015, 10:07 PM   #992
diyAudio Member
 
Join Date: Feb 2013
Quote:
Originally Posted by soekris View Post
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...
Hi soekris. When do you expect to release the new firmware? There are a lot of people eagerly waiting for this update.
__________________
CM6631a USB i2S - >R2R Soekris Dac 0.01% -> Truepath -> Magnepan SMG-a (highly modded)
  Reply With Quote
Old 7th May 2015, 10:53 PM   #993
diyAudio Member
 
Join Date: May 2005
Location: Melbourne
Blog Entries: 1
Quote:
Originally Posted by PanagiotisPapadakos View Post
Well, I had a more concentrated listening to the 1016_K180. It is very impressive. The most holographic filter Paul has created. You feel sound is coming from every corner of the room, speakers are hidden, etc. I also hear things that I have never heard before. Small details that make you feel that your are closer to the real event. But somehow I feel it has too much sparkle that makes me feel uneasy with what I hear. If Paul can make it more natural, then I think that's it.
Btw it might be related to my speakers' tweeters though. I will try to toe-in and out and check.
The sparkle you hear could well be related the clipping, so I'll need to identify what I'm doing in Slifer that is causing that to happen before I try tweaking.
The main change to the filters is the level of attenuation so they can be done with SoX, although it's a bit slow and painful adjusting the parameters that way.

I've had a quick play to get something that works in terms of filter length, fc, and attenuation.

Remember that fc is -6dB point, so the FIR1 is -6dB at 20.9k, -t specifies transition band width centred on fc (20.9k), so the stop band theoretically starts at 20.9k + (3980/2), or 22890Hz. I'm basically juggling the fc and transition band until I get a compromise that is short enough to use and looks ok in terms of how far the roll off goes into the 0-20Khz band.

FIR1
Code:
sox --plot octave -r 352.8k -n output.wav synth 1 noise  sinc  -a168 -L  -20.9k -t3980 > Documents/filterDM_Linear.m
For FIR 2 the goal is flat response out to a very least 30kHz and preferably 60kHz. I target the start of stop band to prevent imaging around Nyquist of the 352.8kHz/384kHz up sampled audio. Using 176400 as an example, I look at the highest audio band response I'm planning to accept - say 50kHz. Because the upsample images mirror around 176400 this means the first image will potentially occur at 352800 - 50000 - 302800Hz if there is any 50kHz content in the audio. I'm accounting for hi-res recordings at high sample rates here. 170 + (285/2) = 312.5K which is a little high but more than adequate for 44.1 research purposes as it will eliminate images of audio data above 40.3kHz.

FIR2
Code:
sox --plot octave -r 2822.4k -n output.wav synth 1 noise  sinc  -a168 -L  -170k -t285000 > Documents/filterDM_Linear.m
I've attached a zip of the txt and skr, it's a quick fix up so name reflects that...

I haven't listened to this but it shouldn't clip.

Add: Having a quick listen this seems much better, piano - Budd and Eno's "Plateaux of Mirrors" for e.g. - was sounding a bit odd on the K180, and this fixes that.
Attached Files
File Type: zip 1021filt_SoX_fixup_HiAtt.zip (28.6 KB, 115 views)

Last edited by spzzzzkt; 7th May 2015 at 11:01 PM.
  Reply With Quote
Old 8th May 2015, 02:22 PM   #994
diyAudio Member
 
Join Date: Feb 2013
Location: Swindon, UK
Listening to the latest batch of filters I still found myself favouring 384_C130_MP, until hearing SoX_fixup. I feel it has the air and transparancy of 384 and the improved focus the latest batch. Tried some classical with piano - pleased to hear the piano sounding like a percussion instrument. Then put on 'something different', for me at least, happened to be the next track, E Lucevan Le Stelle from Tosca. Immediately I was struck by the depth back-to-front. The tennor was some way infront of the orchestra. Seems to me the soundstaging is coming on leaps and bounds... Thanks Paul & everyone else too!!
  Reply With Quote
Old 8th May 2015, 04:01 PM   #995
diyAudio Member
 
Join Date: Feb 2003
Location: West Coast of Norway
Just had my 5 minutes with music and the latest filter. Really nice
Have also implemented IR remote control volume for the dam also. Works like a charm
  Reply With Quote
Old 8th May 2015, 07:22 PM   #996
derekr is offline derekr  Barbados
diyAudio Member
 
Join Date: Mar 2009
Quote:
Originally Posted by bambadoo View Post
Just had my 5 minutes with music and the latest filter. Really nice
Have also implemented IR remote control volume for the dam also. Works like a charm
Please share the details of that IR remote volume control.....
  Reply With Quote
Old 8th May 2015, 08:48 PM   #997
diyAudio Member
 
Join Date: Feb 2003
Location: West Coast of Norway
Quite easy but I will share some details not in this thread. This belongs to filter brewing. Soekris dac implementations thread I guess.
  Reply With Quote
Old 10th May 2015, 01:48 AM   #998
diyAudio Member
 
Join Date: May 2005
Location: Melbourne
Blog Entries: 1
Quote:
Originally Posted by AndrewCee View Post
I feel it has the air and transparancy of 384 and the improved focus the latest batch. ... Seems to me the soundstaging is coming on leaps and bounds... Thanks Paul & everyone else too!!
Thanks for the comments Andrew.

It looks like the filters I did with Slifer are adding some distortion spikes at higher frequencies - it's most obvious around 60kHz.

The advantage of the high stopband attenuation filters is that they seem to reduce the level of hash between the harmonics in the audio band when testing with a 997Hz sine test tone.

A filter I did prior to the SoX "fixup" but didn't have a chance to listen to tests slightly better that SoX filter in terms of noise floor and "hash". It's cleaner to 17kHz in this regard. This is attached as 1014_Kb18 not sure if it clips at 0dB but it's clean to -6dB at least.

The other attached filter is a revisit of the Nyquist filters. This one has steep high attenuation FIR1 and FIR2 filters. I'm was curious to see if added imaging above nyquist from these filters outweighed the apparent benefits of the Nyquist filters retaining the original sample data. Jury is out on that until I have a better listen.

cheers
Paul
Attached Files
File Type: zip 1021filt_1014_Kb18_BW_F2.skr.zip (4.0 KB, 36 views)
File Type: zip NQ1008_HiAtt.zip (28.0 KB, 38 views)
  Reply With Quote
Old 11th May 2015, 08:45 AM   #999
diyAudio Member
 
Join Date: May 2005
Location: Melbourne
Blog Entries: 1
Another day, another filter.

This is still scratching the BW deep attenuation itch, but moving the fc back to 19.75kHz in an attempt to get decent attenuation at 22.05kHz. The result is -5dB at 20kHz and -110dB at 22.05kHz.

The other thing here is that I've found Slifer creates two peak co-efficents of the same value if I use an even number of taps. This is possibly causing the clipping, so I've switched to odd number of taps - which is what MATLAB's design tools uses.

I did a really quick comparison with Audirvana+'s Izotope SRC "best" setting and my feeling is the DAM is close with this filter - not identical but close.

With Søren's proposed changes to filter length it should be straight forward to do brick wall filters that are -0.01dB at 20kHz and -180dB at 22.05kHz. Izotope goes steeper than this but for our purposes I think flat to 20kHz and full attenuation at 22.05kHz is going to more than adequate.
Attached Files
File Type: zip 1021filt_1013_C180_BW.skr.zip (3.9 KB, 46 views)
  Reply With Quote
Old 11th May 2015, 10:53 AM   #1000
diyAudio Member
 
Join Date: Feb 2009
Did another critical filter listening today.
Listened to NQ 1008, 1013 c180 and as a reference to 384 c130.
Well, as I hear it, the 1013 c180 is really clean sounding, somehow mellower than the NQ1008, I am pretty sure it will give less fatigue during longer listening sessions.
NQ1008 has some brightness (sibilance) in it, which might be attractive first but compared to the steeper filters sounds somehow wrong. Are these imaging artefacts?
384 c130 is clean as well, but the bass sounds somehow a little bloated and not precise, on the other hand I like how percussive sounds are rendered with that filter.
I think I get a feeling for the different sounds of MP and LP filters, subjectively liking the impact of MP, but I assume that 1013 c180 is closer to the recorded reality, it will be my listening filter for now.
Thanks for all that work Paul!

Last edited by hop.sing; 11th May 2015 at 10:56 AM.
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Soekris 's DAC implementations Eldam Digital Line Level 1031 19th February 2017 10:38 AM
Sold: Soekris DAM1021 R2R DAC Eldam Swap Meet 6 6th February 2015 08:23 AM
24-bit R2R DAC using miltiple 16/18/20-bit R2R chips Marek Digital Source 21 1st April 2011 10:05 PM
project brewing in my head, challenging, but seem like a good way to try new concepts lemans23 Multi-Way 26 11th October 2005 01:29 PM


New To Site? Need Help?

All times are GMT. The time now is 08:06 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright ©1999-2017 diyAudio

Content Relevant URLs by vBSEO 3.3.2
Wiki