Go Back   Home > Forums > > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Vendor's Bazaar Commercial Vendors large & small hawking their wares

Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project
Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project
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 15th February 2017, 01:52 PM   #791
torgeirs is offline torgeirs  Norway
diyAudio Member
 
Join Date: Aug 2011
Is't it just a tradeoff to get sharp filters with low latency. Then ringing must be accepted. And the ringing is far above hearing frequencies. If this sounds bad, all metal domes (resonance above 20k Hz) sound bad.
An the ringing starts in the 0.1 ms region before the square wave. Human threshold is in the 1 ms region. Google Haas effect. (And that is signals in the audible spectrum)
  Reply With Quote
Old 15th February 2017, 01:59 PM   #792
cogeniac is offline cogeniac  United States
diyAudio Member
 
Join Date: Feb 2015
Location: Petaluma, CA
I am not so sure it is deceptive.

The ringing may be caused by a number of things.

Fist, there is an analog filter after the DAC (one would assume), and this presumably has a cutoff around 96 KHz. That might cause the trailing edge ringing (since it is causal), but it would presumably cause the same ringing for every filter type.

Second is ringing caused by an incomplete waveform composition. If you create a square wave with a Fourier series you can see that it starts out as a sine wave and as you add components (additional sine waves of different amplitudes and frequencies) the ringing (sometimes called "ears" ) appear at the transitions. Here is an example.

Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project


As the number of components increase to infinity, the frequency of these ears increases, eventually becoming infinitely high. As noted by Kindhornman, if the system is band limited (which we know it is, since it is sampled at 192 KHz, resulting in a max frequency of 96 KHz), then you will be stuck with some amount of ringing.

It would be very interesting to see how this looks with a 20 KHz square wave.
  Reply With Quote
Old 15th February 2017, 02:20 PM   #793
cogeniac is offline cogeniac  United States
diyAudio Member
 
Join Date: Feb 2015
Location: Petaluma, CA
Quote:
Originally Posted by torgeirs View Post
Is't it just a tradeoff to get sharp filters with low latency. Then ringing must be accepted. And the ringing is far above hearing frequencies. If this sounds bad, all metal domes (resonance above 20k Hz) sound bad.
An the ringing starts in the 0.1 ms region before the square wave. Human threshold is in the 1 ms region. Google Haas effect. (And that is signals in the audible spectrum)
When you say "the human threshold is in the 1 msec" region are you suggesting that this is the limit of signal period we can hear (seems unlikely) or its it the limit of our ability to differentiate delay? (more likely).

I'm not sure how relevant the latter would be, since we are questioning if one might be able to perceive the existence of the ringing, and the former seems unlikely since we can (ideally) hear sounds up to 20 KHz. A 20 KHz signal would have a period of 50 usec (0.05 sec)..

This also points out why a system with a frequency response to only 20 KHz will produce perceptibly worse sound quality than one with, say 48 KHz for 96 KHz bandwidth. A 20 KHz system simply cannot reproduce the frequency components required to provide a sharp leading edge on an already high frequency signal (think about reproducing a percussive high frequency sound - for example a triangle which has a sharp rise and then rings at a very high frequency). You need that higher bandwidth to reproduce the rise of the sound...and without it the sound will be flat and muddy, as opposed to transparent and real.

In practice, as the frequency of the ringing ears grows higher, the total energy trends to zero, so even in the limit, there will be ears showing, but they will contain effectively zero energy.

I would, however, be concerned with a filter that rang over long portions of the signal period, as some of the above do.

Your statement about low latency and sharp filters relates to my question about the number of taps. If the tap count is high, then the resulting waveform includes many components, and this ringing effect will decrease (i.e the period will trend toward infinity, and the energy will trend toward zero), however, each tap will add delay, so the filters get long and the delay gets long, and at some point the DSP will be maxed out (an argument for fewer channels, or parallel DSPs).

Scott
  Reply With Quote
Old 18th February 2017, 03:47 PM   #794
pos is offline pos  Europe
diyAudio Member
 
pos's Avatar
 
Join Date: Feb 2008
Location: Paris
Tranquility Bass, I have two questions that might already have been answered in the thread. Sorry if that it the case, but here goes:

What is the output voltage and impendance of the balanced output?
What is the data path between the DSP and DAC ? (32 bits floats? Integers?...)
__________________
2019-01-16: rePhase 1.4.3
  Reply With Quote
Old 18th February 2017, 11:13 PM   #795
Tranquility Bass is offline Tranquility Bass  Australia
diyAudio Member
 
Tranquility Bass's Avatar
 
Join Date: Jun 2013
Location: Australia
Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project
Quote:
Originally Posted by pos View Post
Tranquility Bass, I have two questions that might already have been answered in the thread. Sorry if that it the case, but here goes:

What is the output voltage and impendance of the balanced output?
What is the data path between the DSP and DAC ? (32 bits floats? Integers?...)
On the balanced output board there are three gain settings that can be individually set for each channel. These are 0dB, +3dB and +6dB. Here are the maximum outputs based on the jumper settings on the balanced output board.

No jumper 0dB gain, max output = 4.8 VRMS
+3dB jumper, gain=1.414 jumper, max output = 6.8 VRMS
+6dB jumper, gain=2, max output = 9.6 VRMS

Maximum unbalanced output = 1.4 VRMS

The processing by the DSP is usually done in floats so incoming fractional values are first converted to floats and then converted back to fracts when writing out to the DACs. There may be some instances where it is prudent to do some processing using fracts rather than floats.

Regards
David
  Reply With Quote
Old 19th February 2017, 03:49 AM   #796
Tranquility Bass is offline Tranquility Bass  Australia
diyAudio Member
 
Tranquility Bass's Avatar
 
Join Date: Jun 2013
Location: Australia
Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project
Forgot to add that the output impedance is 300 ohms balanced and 150 ohms unbalanced.

cheers
  Reply With Quote
Old 19th February 2017, 11:14 AM   #797
pos is offline pos  Europe
diyAudio Member
 
pos's Avatar
 
Join Date: Feb 2008
Location: Paris
Quote:
Originally Posted by Tranquility Bass View Post
No jumper 0dB gain, max output = 4.8 VRMS
+3dB jumper, gain=1.414 jumper, max output = 6.8 VRMS
+6dB jumper, gain=2, max output = 9.6 VRMS
So that translates to roughly +16dBu, +19dBu and +22dBu
Nice!
If you manage to keep most of the dynamic range of the ESS (ie low residual noise) this will be a killer output stage.

Quote:
The processing by the DSP is usually done in floats so incoming fractional values are first converted to floats and then converted back to fracts when writing out to the DACs. There may be some instances where it is prudent to do some processing using fracts rather than floats.
Not sure what you call fracts in this context, but I am most interested in knowing if there is float to integer conversions happening throughout the process.
I don't mind for conversion between floating point formats and resolutions (like 40bit to 32bit or 64bit, etc.), but conversions to integer before the final stage (which is the volume control in the ESS DAC) that can imply saturation.

Here is a scenario: imagine you have a 0dBfs 1kHz signal on the (digital) input, and you apply a +6dB 1kHz EQ in the DSP, will saturation happen in the volume control in the ESS is set to -6dB or below?

If the signal is converted from integers to floats in the DSP, and then remains floats (possibly with different resolutions) up to the DAC volume control then no saturation will happen, but if the data is converted to integers before going to the DAC (and then back to float inside the DAC) then saturation will happen during that conversion.
__________________
2019-01-16: rePhase 1.4.3
  Reply With Quote
Old 20th February 2017, 12:09 AM   #798
Tranquility Bass is offline Tranquility Bass  Australia
diyAudio Member
 
Tranquility Bass's Avatar
 
Join Date: Jun 2013
Location: Australia
Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project
Quote:
Originally Posted by pos View Post
So that translates to roughly +16dBu, +19dBu and +22dBu
Nice!
If you manage to keep most of the dynamic range of the ESS (ie low residual noise) this will be a killer output stage.


Not sure what you call fracts in this context, but I am most interested in knowing if there is float to integer conversions happening throughout the process.
I don't mind for conversion between floating point formats and resolutions (like 40bit to 32bit or 64bit, etc.), but conversions to integer before the final stage (which is the volume control in the ESS DAC) that can imply saturation.

Here is a scenario: imagine you have a 0dBfs 1kHz signal on the (digital) input, and you apply a +6dB 1kHz EQ in the DSP, will saturation happen in the volume control in the ESS is set to -6dB or below?

If the signal is converted from integers to floats in the DSP, and then remains floats (possibly with different resolutions) up to the DAC volume control then no saturation will happen, but if the data is converted to integers before going to the DAC (and then back to float inside the DAC) then saturation will happen during that conversion.
The DSP can interpret the binary values from an ADC or DAC as either integer or fractional.

fracts are fractional values which are a special case of the fixed point number format where the least 31 bits represent the fractional value and the msb represents the sign. As such it can represent values from -1 to +0.9999........

Floating point data will always be converted back to fracts before it is piped to the DAC so this means that any float less than -1 or greater and equal to +1 will always be clipped.

Sure you can have large intermediary floating point values but they will always be clipped if they are outside the range of the fractional values expected by the DAC so to answer your question yes it will be clipped for a +6dB FSD signal before it reaches the DAC.

Regards
  Reply With Quote
Old 20th February 2017, 04:43 AM   #799
pos is offline pos  Europe
diyAudio Member
 
pos's Avatar
 
Join Date: Feb 2008
Location: Paris
Thank you for your answer.
I though the ESS could take floating point values in excess of +/- 1

That will require special care when designing filters, like keeping a few dB of margin to prevent clipping on real world signals.
Can you identify clipping during that conversion, maybe with a led on the interface?
__________________
2019-01-16: rePhase 1.4.3

Last edited by pos; 20th February 2017 at 04:47 AM.
  Reply With Quote
Old 20th February 2017, 05:46 AM   #800
Tranquility Bass is offline Tranquility Bass  Australia
diyAudio Member
 
Tranquility Bass's Avatar
 
Join Date: Jun 2013
Location: Australia
Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC project
Quote:
Originally Posted by pos View Post
Thank you for your answer.
I though the ESS could take floating point values in excess of +/- 1

That will require special care when designing filters, like keeping a few dB of margin to prevent clipping on real world signals.
Can you identify clipping during that conversion, maybe with a led on the interface?
No DAC that I know of accepts raw floating point values.

Probably something that detects 1 dB below fsd would act as a good overload or clipping indicator. The LED is already available. Just need to write the code to turn it on

cheers
  Reply With Quote

Reply


Hi-end DSP based multi-channel integrated Preamp/Crossover/DAC projectHide 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

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Full Digital / CrossOver / Multi Amplifier integrated KOON3876 Class D 71 21st November 2014 11:56 AM
Multi channel Linux audio player with integrated amplifier questions. ollepetersson PC Based 5 17th March 2013 02:46 PM
Multi purpose multi channel gainclone PCB: Team project - group buy rick57 Chip Amps 14 29th March 2003 05:54 PM


New To Site? Need Help?

All times are GMT. The time now is 02:28 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 14.29%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Copyright ©1999-2019 diyAudio
Wiki