• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

E1DA Cosmos ADC

@IVX a few mention Cosmos ADC has a lot of DC, which makes it not great for recording (like for null difference analysis)

Are you working on a newer Cosmos ADC? Maybe which has DC filtering?

Not sure if you are using it, but DeltaWave has the option to remove DC in computing the null. It's also not going to affect the null RMS value by much if not removed, since Cosmos ADC is already around -90dBFS DC, IIRC. By the way, Multitone Analyzer now has a DC filter option, as well.
 
@IVX a few mention Cosmos ADC has a lot of DC, which makes it not great for recording (like for null difference analysis)
I have never experienced such thing, and I have been using the Cosmos ADC for about 3 years almost daily. Cosmos ADC has common mode internal DC shift on the inputs, but inputs are connected to XLR connectors via coupling capacitors and the DC is not reflected in the data acquired. So the concerns are IMO baseless. Software like AA, DW or Audacity show no DC in the recorded signal.
 
I posted that txt in Audacity forum/feature request:

The Cascaded ADC is a well-known technique used for 40 years or so in industrial instrumentation. The idea is simple: you have 2 poor ADCs, and you set different gains for each one. A high-gain ADC converts small signals, a low-gain one handles max possible signals. In terms of Signal/Noise, the resulting Cascaded 2 ADCs perform as a better single ADC. A few years ago, such an idea was implemented for audio recording as well, again 2pcs cheap ADCs + DSP to switch converters online. As a result commercial product boasts “phenomenal dynamic range” almost for free. I think Audacity may offer that for a stereo ADC(Lch high-gain, Rch is low-gain etc). An audio signal requires a bit special switching algorithm around the gain split point to hide audible artifacts, similar to a compressor’s attack/release. I believe, we need implement an instant switching action in case the high-gain ADC is overloaded, just to avoid clipping. If the signal drops under the split point for 200-300mS we do switch back from the low-gain ADC to high-gain one(probably with a linear interpolation or fadeout to reduce artifacts if any). The gain split point should be found during the calibration procedure(0dbfs 1kHz for a second or so).
A practical example: my 126db(A) of DR ADC has 2 inputs with independent gain settings from 1.7V to 10V(AUX input from 35V to 43V but it is too much I think) i.e. 15db range with inputs >10V immunity. Hence, with my ADC + Audacity Cascaded ADC feature, I can get 126db+15db = 141db(A) of the resulting Dynamic Range. In other words, we can use an extremely high DR condenser mic 130-140db to record drums or whatever a jazz vocal with the same ADC and preamp settings.
Of course, I understand that the Cascaded ADC feature for audio recording is rather a marketing idea than a real improvement, but it is a sexy and unique feature, especially if 100.00% SW is implemented.
What do you think?


Strange, Audacity deleted my post and my account as well..
So, this morning I tried that practically. A trivial Matlab code makes a smooth result, I can't hear any artifacts. Cosmos ADCiso Lch 1.7V, Rch 10V.
https://drive.google.com/file/d/1swmW-jH56qJhCk4iFnBLahqW2LbBT1Qs/view?usp=sharing

2025-06-03_11-15-27.jpg
 
I have never experienced such thing, and I have been using the Cosmos ADC for about 3 years almost daily. Cosmos ADC has common mode internal DC shift on the inputs, but inputs are connected to XLR connectors via coupling capacitors and the DC is not reflected in the data acquired. So the concerns are IMO baseless. Software like AA, DW or Audacity show no DC in the recorded signal.
Here is your homework (regarding 'baseless'):

 
Interesting idea. I wonder if that could be applied to REW and if that would be a benefit for typical noise testing.
 
I posted that txt in Audacity forum/feature request:

The Cascaded ADC is a well-known technique used for 40 years or so in industrial instrumentation. The idea is simple: you have 2 poor ADCs, and you set different gains for each one. A high-gain ADC converts small signals, a low-gain one handles max possible signals. In terms of Signal/Noise, the resulting Cascaded 2 ADCs perform as a better single ADC. A few years ago, such an idea was implemented for audio recording as well, again 2pcs cheap ADCs + DSP to switch converters online. As a result commercial product boasts “phenomenal dynamic range” almost for free. I think Audacity may offer that for a stereo ADC(Lch high-gain, Rch is low-gain etc). An audio signal requires a bit special switching algorithm around the gain split point to hide audible artifacts, similar to a compressor’s attack/release. I believe, we need implement an instant switching action in case the high-gain ADC is overloaded, just to avoid clipping. If the signal drops under the split point for 200-300mS we do switch back from the low-gain ADC to high-gain one(probably with a linear interpolation or fadeout to reduce artifacts if any). The gain split point should be found during the calibration procedure(0dbfs 1kHz for a second or so).
A practical example: my 126db(A) of DR ADC has 2 inputs with independent gain settings from 1.7V to 10V(AUX input from 35V to 43V but it is too much I think) i.e. 15db range with inputs >10V immunity. Hence, with my ADC + Audacity Cascaded ADC feature, I can get 126db+15db = 141db(A) of the resulting Dynamic Range. In other words, we can use an extremely high DR condenser mic 130-140db to record drums or whatever a jazz vocal with the same ADC and preamp settings.
Of course, I understand that the Cascaded ADC feature for audio recording is rather a marketing idea than a real improvement, but it is a sexy and unique feature, especially if 100.00% SW is implemented.
What do you think?


Strange, Audacity deleted my post and my account as well..
So, this morning I tried that practically. A trivial Matlab code makes a smooth result, I can't hear any artifacts. Cosmos ADCiso Lch 1.7V, Rch 10V.
https://drive.google.com/file/d/1swmW-jH56qJhCk4iFnBLahqW2LbBT1Qs/view?usp=sharing

View attachment 455146
Interesting Interesting Interesting

So, if I understand correctly, for a standard E1DA Cosmos user,
we could set the E1DA to 1.7 volts.

On the first input (the most sensitive), we input directly.

On the second (the least sensitive), we go through a 15 dB divider
bridge and input the ADC.

Up to 10V, the direct input is safe, if I understand correctly?

I need to analyze your program to understand how you create your switching point;
I don't have it all figured out yet.

In any case, thanks for launching this thing.
 
FrenchFan, 1.7V and 10 V I set by the bottom DIP-switch. The clipping itself(when data =1 or -1) sets the split-point.
Cosmos ADC/ADCiso 1.7V input is safe for 10V signal, however, I tested it for a minute, not hours.
PS: I see no sense in that idea for audio testing. And actually, if I were still working in a production studio, I would take a good ADC with different preamp settings and even different mics, but not a cascaded ADC with the same setup for all cases from heavy metal drums to sexy whispering.
 
FrenchFan, 1.7V and 10 V I set by the bottom DIP-switch. The clipping itself(when data =1 or -1) sets the split-point.
Cosmos ADC/ADCiso 1.7V input is safe for 10V signal, however, I tested it for a minute, not hours.
PS: I see no sense in that idea for audio testing. And actually, if I were still working in a production studio, I would take a good ADC with different preamp settings and even different mics, but not a cascaded ADC with the same setup for all cases from heavy metal drums to sexy whispering.
I completely agree about the audio tests,
they make no sense .

It's to see if they're useful for recording
voices with a microphone.

I didn't understand your selection of transition zones.

You select on the clipped direct signal (without attenuation),
which of course in your test

if (abs (rec(i,1)) == 1 && abs(rec.....

represents "abs (rec(i,1)) == 1"

Since you're showing the output signals and not the input signals,
it wasn't obvious.

Now I get it.

What I understand from what you're saying about the switches
is that we can have different gains on each of the E1DA ADC channels.
(Not obvious if you don't look inside the box.)

I assume the switch positions correspond to the first 6 and
the other 6 for this asymmetrical selection.

OK for the maximum voltage on gain of 1.7 volts, I'll be careful.

Tank for the clarifications .
 
You know, usually I have some melody to whistle when I'm thinking or working, the last few months it is "non je ne regrette rien".
I just realised that online continuous calibration lets us use any gain split point(and Rch/Lch ratio), and even an adaptive one ;)
Me too, "Je ne regrette rien" (Edith Piaf)

OK, Received

Bye
 
You know, usually I have some melody to whistle when I'm thinking or working, the last few months it is "non je ne regrette rien".
Then it's time to try something different, I recommend "La Vie En Rose" ;)
 
Huh, I tested that with 20KHz max amplitude for 1 ms every 1-second of the periodical burst to see if I could notice switching artifacts - nothing even after amplifying for 50db.
BTW, it seems Matlab audiowrite function adds 16bit dither, perhaps that noise masks some clicks.


Finally, I see artifacts after setting 24bits WAV and +70db amplification. Indeed, DC blocking is a good idea, with the HPF switching error being about -90-96db for the high-gain ADC i.e. practically inaudible. With DC offset, it is about -80db, also not a biggie at all.

2025-06-04_20-16-07.jpg
 
Last edited:
Huh, I tested that with 20KHz max amplitude for 1 ms every 1-second of the periodical burst to see if I could notice switching artifacts - nothing even after amplifying for 50db.
BTW, it seems Matlab audiowrite function adds 16bit dither, perhaps that noise masks some clicks.


Finally, I see artifacts after setting 24bits WAV and +70db amplification. Indeed, DC blocking is a good idea, with the HPF switching error being about -90-96db for the high-gain ADC i.e. practically inaudible. With DC offset, it is about -80db, also not a biggie at all.
@IVX I used your code to test the concept.

This first part is just a simulation.

A real-life test will be done later.

I've attached my modified script.

It also contains a control procedure to visualize
the difference between the processed signal
and the reference signal.

I made a clipped signal with a piece of music.

(Visual attached).

I modified your transition check; you'll see that

"rec(i,1) > .95 and fixed ratio" is more precise
than rec(1,i) == 1 and calculated ratio.

"ratio" varies too much, and rec(i,1) == 1 doesn't see all the clips.

I saw that you modified your code to search for 'ratio';
I haven't tested it.

You'll find the differences between my tests attached.
 

Attachments

  • RefSignal.png
    RefSignal.png
    155.4 KB · Views: 52
  • Test_Rec==1_and_ratio_calculated.png
    Test_Rec==1_and_ratio_calculated.png
    42.1 KB · Views: 52
  • Test_Rec==1_and_ratio_fixed.png
    Test_Rec==1_and_ratio_fixed.png
    44.3 KB · Views: 49
  • Test_Rec>0.95_and_ratio_calculated.png
    Test_Rec>0.95_and_ratio_calculated.png
    47.5 KB · Views: 47
  • Test_Rec>0.95_and_ratio_fixed.png
    Test_Rec>0.95_and_ratio_fixed.png
    42.6 KB · Views: 55
  • Cascade3.txt
    2.3 KB · Views: 46
Last edited:
Hi,

I have Cosmos ADCIso and Cosmos Scaler. Are there any way to disable the auto-mono function? I want to measure crosstalk, but because of the auto-mono mode one of the measurement is incorrect.
Thanks
 
Hi,

I have Cosmos ADCIso and Cosmos Scaler. Are there any way to disable the auto-mono function? I want to measure crosstalk, but because of the auto-mono mode one of the measurement is incorrect.
Thanks
The Auto-mono feature is active if Scaler's Rch input isn't plugged. If you measure crosstalk of the real DUT(DAC or amp), you have plugged both channels, so I have no idea how you can faced the auto-mono..
 
  • Like
Reactions: oal
@IVX I used your code to test the concept.

This first part is just a simulation.

A real-life test will be done later.

I've attached my modified script.

It also contains a control procedure to visualize
the difference between the processed signal
and the reference signal.

I made a clipped signal with a piece of music.

(Visual attached).

I modified your transition check; you'll see that

"rec(i,1) > .95 and fixed ratio" is more precise
than rec(1,i) == 1 and calculated ratio.

"ratio" varies too much, and rec(i,1) == 1 doesn't see all the clips.

I saw that you modified your code to search for 'ratio';
I haven't tested it.

You'll find the differences between my tests attached.
you can try my record instead of the simulation. https://drive.google.com/file/d/1swmW-jH56qJhCk4iFnBLahqW2LbBT1Qs/view?usp=sharing
 
The Auto-mono feature is active if Scaler's Rch input isn't plugged. If you measure crosstalk of the real DUT(DAC or amp), you have plugged both channels, so I have no idea how you can faced the auto-mono..
Thank you Ivan. Is it possible that the ADCIso going to Mono mode, if the input level is low?
I tried the following, feed one channel 1kHz sine signal, and 1-2kHz sine sweep to the other channel. During the time of the sweep the second channel shows the sweep, but as soon as the sweep reaches the 2kHz then the constant 1kHz signal can be seen.
 
Back
Top Bottom