Soundcard performace .......FFT pics and problems.

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I've been tweaking my USB 2.0 creativeLab soundcard in order to lower the noisefloor, focusing on powersupply and shielding in the AD converter and digital processing paths.

This morning I decided to take it to the next level and try to push the noisefloor down even further, or get rid of the crap @ 5kHz and up.

This is where I started today, at this point the laptop and soundcard are on batteries with a bit of powersupply (oscons & coils where they made sense) tweaking since before.
Basically up until this morning getting the cards AD path down from around -100-110dB SNR to -130dB SNR.

Here is a FFT screendump of this morning. The conditions are ; analog in shorted, soundcard and spectraLab set for 24/48 displaying -120 to -150dB.
 

Attachments

  • a_shorted_rev1.jpg
    a_shorted_rev1.jpg
    34.7 KB · Views: 492
-136.2dB @ 8Hz

This dump shows the soundcard after adding shielding to all digital processing chips and specific shielding around the spdif transformer which was very close to deoupling and filter caps for the AD converter......gives a reading of -136.27 now @ 8.06Hz.

This brings me to my problem, I can't seem to get rid of the spikes at 5.4, 15kHz and around, they are slightly damped compared to the start but I don't seem to have found the cause for them.
If I add a oscons or mkt caps at the wrong places the spikes could increase with up to 10dB (which so far, for me indicated the powersupply)
They are only visible when I monitor analog in, using spdif and running zero's does not reveal the noise.

Any advice/experiance would be welcome!

/Michael
 

Attachments

  • a_shorted_rev3.jpg
    a_shorted_rev3.jpg
    36 KB · Views: 350
I think that many ICs are powered from the same regulator, is that it?

If yes, you could try to implement Guido Tent's power supply decoupling


The 5.4 and 15kHz spikes can be due to an IC working (or asking for current) at this frequency, that causes some noise on the supply, and degrades the DAC's (or the ADC's) performance
 
Re: -136.2dB @ 8Hz

A 8 said:
This brings me to my problem, I can't seem to get rid of the spikes at 5.4, 15kHz and around, they are slightly damped compared to the start but I don't seem to have found the cause for them.


What about noise from the computer itself, or the USB connection?
Do you get a difference if you place the soundcard at another position relative to the computer?
 
Have you checked that it isnt a frequency that is folded around fs/2. At these levels it could be that the filters do not cope with filtering the noise above fs/2.

The frequencies to look for would be then fs/2+n(fs/2-freq).

Where n is most likely to be 1 but any integer is possible.
Are you sampling at 48k or is it 96k?
 
I think that many ICs are powered from the same regulator, is that it?
Yes the chips analog supply share the same 5v supply as a few logic chips and the toslink units however there are ferritecoils in between. I also tried disconnected the spdif and toslink units but it did not make a difference. As I don't have the schematics there could ofcourse be more.

Which is the ADC chip?? And what is there before it??
Its a sigmatel URL=http://www.sigmatel.com/documents/stac9460-ds.pdf]STAC 9460[/URL] that is not supposed to come close to where its at right now and the signal goes directly into the chip, the only komponents between input and the chip are two caps for dc filtering.

What about noise from the computer itself, or the USB connection?
The only issue that changes depending on where I put it is that it sometimes picks up 50Hz if I am not careful.

Have you checked that it isnt a frequency that is folded around fs/2. At these levels it could be that the filters do not cope with filtering the noise above fs/2. The frequencies to look for would be then fs/2+n(fs/2-freq). Where n is most likely to be 1 but any integer is possible. Are you sampling at 48k or is it 96k?
The pics up until now was sampled at 48kHz and I thought about it before posting. It could explain the peak at 5350Hz (ie 48kHz/9 equals 5333Hz) but not the one at 14362Hz as far as I understand.

I've attached the same dump(closeup) but showing both 44 and 48kHz, yellow is 48kHz and purple is 44kHz.

I guess I am trying to ***** if this is as good as this chip goes or if it is likely that I can get rid of the crap over 1kHz.

/Michael
 

Attachments

  • a_shorted_48_vs_44.jpg
    a_shorted_48_vs_44.jpg
    39.9 KB · Views: 314
M-Audio Sonica Theater

Hi,
I've just started looking at doing something similar with my USB M-Audio Sonica Theater, as with the amp turned up I can hear all sorts of crap when the computer is busy. RMAA also shows very bad S/N ratio etc.

What I did was to buy a powered USB 2.0 hub and hang the sound card off of it, so that as well as cleaning the power, hopefully the data sinals will be buffered by going through the hub electronics.

This had a huge effect, esp. in the noise floor (dropping from around -70dB to -96dB in the bass region). I will post graphs when I get a chance soon.

The enxt step is to see if the hub needs any more filtering, then to open the card and see what can be done with power inside it.

Arnie
 
A 8 said:

Its a sigmatel STAC 9460 that is not supposed to come close to where its at right now and the signal goes directly into the chip, the only komponents between input and the chip are two caps for dc filtering.

Hi Michael,

You have made some very good progress in minimizing the noise-level of this ADC! However in my experience, the tricky part is minimizing THD. I think you will see that when you start measuring sinewaves with amplitudes close to full scale that the linearity of the ADC becomes the limiting factor.

This thread have got me interested in buying an external soundcard. Does anyone have an overview of what ADC/DAC chips the different USB/Firewire soundcards use?

Let's ask Google first:
Creative Labs Audigy2 NX: Sigmatel STAC9460
M-Audio Sonica Theater: AKM4529
M-Audio Firewire 410: AKM AK4381, AKM AK5380, AKM AK4355
M-Audio Firewire Audiophile: AKM AK4628
Terratec Aureon 7.1 Firewire: WM8770

Any more?
 
Hi Ojg,
You have made some very good progress in minimizing the noise-level of this ADC! However in my experience, the tricky part is minimizing THD. I think you will see that when you start measuring sinewaves with amplitudes close to full scale that the linearity of the ADC becomes the limiting factor.

Thx, the improvements are really surpricing and you are completely right about THD but I gave up on it @ full scale for this soundcard. It stops at around -90dB whatever I do.
This was basically the only parameter I could change and I wanted to measure my diy dacs and poweramps ability to resolve really low level data (beat the -122dB reading I showed you in another thread)

This thread have got me interested in buying an external soundcard. Does anyone have an overview of what ADC/DAC chips the different USB/Firewire soundcards use?
Let's ask Google first:
Creative Labs Audigy2 NX: Sigmatel STAC9460
M-Audio Sonica Theater: AKM4529
M-Audio Firewire 410: AKM AK4381, AKM AK5380, AKM AK4355
M-Audio Firewire Audiophile: AKM AK4628
Terratec Aureon 7.1 Firewire: WM8770


Another aspect in considering these cards are digital processing and DA conversion, my creative lab does a really crappy job at this and it shows as heavy frequency ripple at analog AND spdif out.

/Michael
 
Trying another AD converter..

I dusted off an old ACKDAC by HoltMods using a crystal 18bit AD and connected it through spdif to the same soundcard, shorting the analog input at the ACKDAC and get this...
 

Attachments

  • a_shorted_ackdac.jpg
    a_shorted_ackdac.jpg
    37.5 KB · Views: 260
Shorting the inputs to the ADC is a little bit like cheating ;)

The proper way of doing this is applying an analog 1kHz sinewave at -60dBFS to the ADC. This signal is small enough that the noise will dominate over the distortion. Then measure the THD+N in spectralab and add 60dB to that number. This gives you the dynamic range.

To generate a -60dB signal, it is best to have your DAC output close to 0dB and then attenuate with a potmeter. This way you attenuate both the siganl and noise coming from the DAC and so you take the DAC performance out of the equation.
 
130dB WOW ?????

A8,

ojg is correct, about the method to get S/N. Shorting the input act like you just getting the noise from the final amp out stage. In fact some converter stops clocking when the inputs are shorted, it a trick they use. So to get this kind of performance from an oscillator is very difficult indeed. I mean you will need a super oscillator a precession pot super cable that short and then turn off all light.

After all when you take the fundamental test frequency and run it through a distortion analyzer, the analyzer take the signal through a notch filter what left over is distortion- or noise. To measure this kind of noise levels you will a distortion analyzer and a spectrum analyzer or just one dam good audio spectrum analyzer. So if you can get the real S/N down to 110-115dB that great. The fact is that most converters don’t have true 24 bit operation or linearity.
 
Ojg, jewilson, I agree fully but there is more to it.

I started off trying to loose the spikes at 5 and 15kHz but to be able to see them clearly I had to let spectralab do heavy averaging.

I was to focused on the spikes to think about the consequences of heavy averaging, it cancels random noise to almost nothing and that is why the results get so good. If I use peak hold it is more in line with the specs at around -124dB with no signal and I am sure it gets worse if I would measure with a signal as you suggest.

The thread was to show the spikes and try to understand if that is as good as an adc gets or if I had particular problems due to the spikes that could be fixed.

Anyone know if there is some form of standard doing these type of measurements, i.e is it peakhold or should one apply some amount of averaging?
 
I think neither peakhold nor averaging will tell you the real DNR number. When I think about it FFT is probably not suitable for this measurement at all, because the FFT itself will also be averaging the samples. I.e. a 32768 length FFT averages over 32768 samples.

Here's what I would do: Record a few seconds worth of your -60dB signal at 24 bits into Cooledit or similiar program. Then use Cooledits filter function to notch out the 1kHz fundamental. Now select the statistics-menu and it will tell you the RMS value of the signal. This will be your DNR number.

I don't know if this is the standard way of doing it, but it comes close to how it would be done in the analog domain.
 
Soundcard Noise

I don't want to hijack this thread, but with so many soundcard enthusiasts on board, someone may be able to provide me some advice.

First, considering the noise problem, you might look at the spec and reviews for the Echo Indigo IO PCMCIA soundcard (http://www.echoindigo.com/) - tho' it aint exactly cheap.

Now the question: I'd like to buy one of these for use with my laptop, mainly for LS testing, but I'd also like to use it with my desktop. Problem is, no one in the UK seems to offer an affordable PCI to PCMCIA adaptor card for the desktop, except for those offered for use with wireless LAN cards. I suspect that these cards would work OK as general purpose PCI - PCMCIA adaptors (they mostly use the same type of RICOH chip), but I'm not sure, and suppliers seem very leery about offering any confident info.

Anyone come across this problem, and a solution?

JTT
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.