Low-distortion Audio-range Oscillator

I have a DG8SAQ network analyzer that mixes down to audio. Works really
well but I usually have quite some work to make my audio system function for
audio again after use.

I bought a Terratec DMX6FIRE USB as a dedicated sound system for
experiments, but had driver problems I could not resolve :mad:

So, currently I use a SNA-33 spectrum analyzer that has a 1 Hz filter
and works from 20 Hz to 26 GHz, but the sweeps are slooooow.

I was willing to buy a FFT analyzer. There seems to be no progress in
the last 20 years. Still 16 bit/100KHZ and if you want 2 channels,
BW is often reduced to 50 KHz. The useable ones still cost half
of the new price 2nd/3rd hand.

I want one that can do cross correlation and then averaging since that
brings a lot of dynamic range at the expense of time. It is always
stunning to see the noise floor drop on a E5052B.

Is there anything comparable to a SR785?

As an interim solution, I was interested into a QA400, but,
when I read here that it has driver issues, too, it is much
less appealing. One of its interesting points was that it does
not register as a sound device. :-(


cheers, Gerhard

QuantAsylum wrote there own API for the QA400 that's why it's fixed to their software.
Matt didn't like the fact that the calibration could be changed in the win APIs.
I have no driver issues at all using the QA400 with XP pro. The only thing I don,t like about the QA400 is not having a choice of SW and the analog front could be better. For the price you can't beat it.

I still have a problem with a jumping noise floor at 192ksps with the EMU stuff. I don't think it's a fault of the EMU driver just XP API flakyness. .
 
Member
Joined 2004
Paid Member
The jumping noise floor is dropped samples I think It has been a problem with most of the pieces I have tried, even the RME which has some pretty exotic stuff to manage many channels and DMA. I think its more of a system and background software issue. Pyrimix uses a special pre-boot trick to reserve 2 of 4 cores just for it to deal with this kind of stuff. Thesycon has a test software that checks for issues with lost interrupts DPC Latency Checker .
 
The jumping noise floor is dropped samples I think It has been a problem with most of the pieces I have tried, even the RME which has some pretty exotic stuff to manage many channels and DMA. I think its more of a system and background software issue. Pyrimix uses a special pre-boot trick to reserve 2 of 4 cores just for it to deal with this kind of stuff. Thesycon has a test software that checks for issues with lost interrupts DPC Latency Checker .


I had a problem with the QA400 that behaved the same in the 192ksps mode.
Took Matt and company a few weeks to find it. What it turned out to be is a timing problem between there SW and one of wins API's I think. QA400 SW sends an packet and waits for a confirmation before sending another. The timeout they used was too short and a lack of response from windows caused the SW to reset. The fix was to make the time out 50ms instead of 10ms. Matt can explain this better than I. this probably isn't accurate but you get the idea It's been months since I've looked at his explanation.

I'll try that SW out and see if I can identify the problem.
 
The jumping noise floor is dropped samples I think It has been a problem with most of the pieces I have tried, even the RME which has some pretty exotic stuff to manage many channels and DMA. I think its more of a system and background software issue. Pyrimix uses a special pre-boot trick to reserve 2 of 4 cores just for it to deal with this kind of stuff. Thesycon has a test software that checks for issues with lost interrupts DPC Latency Checker .


It would be nice to have something that tell you what is causing the latency.
DPC reports the numbers.
 
I would say 300 uS is a little high, you might have a slightly misbehaving driver.

What you are looking for with DPC latency is a driver that is taking more kernel time than it should. The best thing to do is to disable devices one-by-one in Device Manager and see when your periodic spikes go away. I would start with WiFi adapters (I have seen this behavior from an Intel and a Broadcom driver), USB devices, etc.

It's not likely to be your display driver if you have an AMD/ATi or Nvidia card, or your Intel chipset and SATA drivers if Intel, but anything else is suspect.

You might want to try LatencyMon instead of the Thesycon utility as it will give you info on which driver or process is causing the latency. Also, Thesycon's utility does not appear to work correctly under Windows 8 and reads high values constantly.

http://www.resplendence.com/downloads
 
Last edited:
I would say 300 uS is a little high, you might have a slightly misbehaving driver.

What you are looking for with DPC latency is a driver that is taking more kernel time than it should. The best thing to do is to disable devices one-by-one in Device Manager and see when your periodic spikes go away. I would start with WiFi adapters (I have seen this behavior from an Intel and a Broadcom driver), USB devices, etc.

It's not likely to be your display driver if you have an AMD/ATi or Nvidia card, or your Intel chipset and SATA drivers if Intel, but anything else is suspect.


The latency shot up to as high as 14826. I think this is the problem.
No funky video drivers. I do have a few USB drivers installed but they are not active at the moment. That is the hardware is not connected. If I shut down much more in device manager I'll blue screen the OS.
 
Try that other utility I linked, it will let you know the service or driver causing the issue most likely.

If you have a Core i5/i7 machine you should be able to get below 100 uS consistently. Mine hovers around 33 uS but will go up to the 50 uS area if I move my mouse very fast, and that utility correctly identifies the usb driver as the source.
 

AKN

Member
Joined 2005
Paid Member
Hi,

Chris719, thanks for linking to that latency tool.

My result from an old XP with Core2 Duo 3GHz while running ARTA and browsing diyA. Quite good I think.
 

Attachments

  • latency.JPG
    latency.JPG
    41.5 KB · Views: 362
Try that other utility I linked, it will let you know the service or driver causing the issue most likely.

If you have a Core i5/i7 machine you should be able to get below 100 uS consistently. Mine hovers around 33 uS but will go up to the 50 uS area if I move my mouse very fast, and that utility correctly identifies the usb driver as the source.

latency Monitor won't run in XP. It says "The process entry point GetProcessIdOfThread could not be located in the dynamic link library KERNAL32.dll"
 
Member
Joined 2004
Paid Member
On my i5 laptop using the neat utility I discovered that I need to do two things. First disable Microsoft Security Essentials real time protection, second switch the CPU to max performance. I created a power profile specifically for that. Now, when I'm making a test I will switch off the security and switch the power to max on this system. I'll test this for a while.
 

AKN

Member
Joined 2005
Paid Member
(out of edit time)

chris719, I get the <1ms time now after testing on a W8 PC. The application seem to have a detection problem on W8.
I also tested on my fully loaded W7 office PC (>10 IE sessions, ongoing Virus Scan and >10 remote desktop sessions) and never passed 45uS.