I am happy to try your software, but no data is displayed - no matter what option are used. Even the dummy-data is not displayed...
Any ideas?
Any ideas?
Hello, attached are two screenshots. One with physical soundcard and ASIO, the second with virtual dummy data.
I have a Win10pro 64bit machine with intel Xenon E3-1230v3 CPU. Windows version: 1903, Windows build:18362.959
Hope that helps. I am happy to deliver more Info and do more testing, if needed.
I have a Win10pro 64bit machine with intel Xenon E3-1230v3 CPU. Windows version: 1903, Windows build:18362.959
Hope that helps. I am happy to deliver more Info and do more testing, if needed.
Attachments
Whew, it works (just has no traces to draw, in "traces" section there is a pink gear icon which opens a window where you could add traces/markers and set their shape/color/style/where to draw them (overlay/phisphor)
you need to click on "+" in the tabs bar and select one of the presets, they come with preconfigured trace styles.
It's weird you've got "User" preset currently displayed - have you made it yourself?
In latest version there is "Default" preset that pops every time you close all of the presets and then restart the program. (or start it the first time)
"whew" came from relief it's not direct-x related, as it's almost unfixable 🙂
you need to click on "+" in the tabs bar and select one of the presets, they come with preconfigured trace styles.
It's weird you've got "User" preset currently displayed - have you made it yourself?
In latest version there is "Default" preset that pops every time you close all of the presets and then restart the program. (or start it the first time)
"whew" came from relief it's not direct-x related, as it's almost unfixable 🙂
Last edited:
Well, I figured it out myself in the meantime.... hitting the "plus" on the upper left in order to configure a new spectrum analyzer window gave the initially expected result.
Attached another screen, with one soundcard feeding the other...
I must admit, I really like it on the first look. Tons of options, I am still exploring them all 🙂
Attached another screen, with one soundcard feeding the other...
I must admit, I really like it on the first look. Tons of options, I am still exploring them all 🙂
Attachments
See it, yes. Read it no. It's pretty low res. One plot is phase noise? Any background on its creation?
See it, yes. Read it no. It's pretty low res. One plot is phase noise? Any background on its creation?
That was just a test of image posting from imgur. The actual screenshots should look like this:
(ugh, the forum changes proportions of the image, a big no-go for imgur feature)

The phase noise is just display of skirt with "0Hz" centered at carrier frequency, the trace itself is normalized to 1dB/rtHz so change in FFT length won't affect the levels.
I'm still unsure which level should i take for carrier to produce dBc numbers, my first guess was to take peak carrier level (although sum of power of the carrier+it's surrounding might make sense too).
It's comparing apples (absolute peak power level) to oranges (level normalized to 1Hz BW).
It should be ok for single reference oscillator measurements (when you mix DUT and REF oscillators, get difference f1-f2 beat tone and then display SSB plot of it). Plotting "0Hz" at peak plot is circumventing a stage of DDC which isn't great at low frequencies (with DDC, if you have 200Hz tone, you'll get 2 tones at 0Hz and 400Hz, which translates into 400Hz plot bandwidth, it's not nice).
I'm trying to wrap my head around two channel/two reference oscillators scheme, each of which will have different "carrier" frequency and should be synchronized mathematically to be able to do cross-correlation between these "carriers".
Nice SW! Do attachments instead of external image storage.
//
Thanks! Attachments are much better, but the user has to do the "select file, attach" thing which is a bit cumbersome... It's much easier to copy and paste [IMG.]...[/.IMG] code. I'm not ready for providing the image storage myself, so 3rd party solution might be adequate... or not 🙂
Unfortunately, Mac OS version is not that possible for now as i rely heavily on Microsoft's WPF (UI) technology as well as some performance workarounds.
Last edited:
Carrier level would be the top of the peak using a flattop window. You need a flattop window for any level measurement that you want to be accurate, otherwise scalloping error will creep in. (Unless you can guarantee synchonrous sampling).I'm still unsure which level should i take for carrier to produce dBc numbers, my first guess was to take peak carrier level (although sum of power of the carrier+it's surrounding might make sense too).
Last edited:
Scalloping loss is the price to pay for narrow window function, it's at 1.4dB max for Hann window.
Not good, not terrible 🙂
Spectral leakage is much more problematic, as it spreads the power from the main lobe into whole spectra, skewing peak/total power rations. Hence the reasons to sum the power in -200+200Hz proximity to the carrier - no matter how bad is scalloping/leakage, you'll always get the power right.
Same thing goes for THD measurements - you can compare peak power, and then you can compare integrated power in some BW.
Scalloping/spectral leakage compensation is in the works, i've managed to make it work at some point of time, requires more testing and main pipeline integration 🙂
I can do "synchronous sampling", but any implementation of such thing involves PLL of some sort which's locking mechanism filters out the phase noise - the very thing we are trying to measure.
OTOH it's great for HD measurements, and i've got it it covered with PLL feature in the resampling menu - it locks into carrier, and resamples everything to make the carrier be at "synchronous" frequency.
Not good, not terrible 🙂
Spectral leakage is much more problematic, as it spreads the power from the main lobe into whole spectra, skewing peak/total power rations. Hence the reasons to sum the power in -200+200Hz proximity to the carrier - no matter how bad is scalloping/leakage, you'll always get the power right.
Same thing goes for THD measurements - you can compare peak power, and then you can compare integrated power in some BW.
Scalloping/spectral leakage compensation is in the works, i've managed to make it work at some point of time, requires more testing and main pipeline integration 🙂
I can do "synchronous sampling", but any implementation of such thing involves PLL of some sort which's locking mechanism filters out the phase noise - the very thing we are trying to measure.
OTOH it's great for HD measurements, and i've got it it covered with PLL feature in the resampling menu - it locks into carrier, and resamples everything to make the carrier be at "synchronous" frequency.
Well, if the first tests were successful, that's a good sign. 🙂 👍
Attachments
Nice numbers! You are very close to noise floor.
Try sync averaging to reduce noise, start with shorter FFTs (64k? 0.5M might feel a bit slow).
+ try out noise floor extension at "measurements" along with ~50-100 display averaging, it should calculate the level of harmonics in more precise way.
If you have 2 input tchannels connected to the same source, you can reduce your ADC noice by flipping x-correlation feature in "math" menu. It eliminates signals which are different in L and R channels.
Another way to reduce noise is to go "coherent sampling" + disabling FFT window.
It's in "Resampling > PLL". Not a lot of noise reduced, but it's great for drifting analog generators which loose peak carrier magnitude at long FFTs.
Ugh, ASIO works, but won't let you select actual channel pairs, it's a bug i'm fixing.
Try sync averaging to reduce noise, start with shorter FFTs (64k? 0.5M might feel a bit slow).
+ try out noise floor extension at "measurements" along with ~50-100 display averaging, it should calculate the level of harmonics in more precise way.
If you have 2 input tchannels connected to the same source, you can reduce your ADC noice by flipping x-correlation feature in "math" menu. It eliminates signals which are different in L and R channels.
Another way to reduce noise is to go "coherent sampling" + disabling FFT window.
It's in "Resampling > PLL". Not a lot of noise reduced, but it's great for drifting analog generators which loose peak carrier magnitude at long FFTs.
Ugh, ASIO works, but won't let you select actual channel pairs, it's a bug i'm fixing.
Last edited:
Another way to reduce noise is to go "coherent sampling" + disabling FFT window.
It's in "Resampling > PLL". Not a lot of noise reduced, but it's great for drifting analog generators which loose peak carrier magnitude at long FFTs.
Could this possibly be used together with the 2-channel math merge function to add back the carrier signal onto the post-notch spectra?
I think many of us working with Victor's ultra-low distortion oscillator and notch filters would be very interested.
I will play with this when back from vacation🙂
It seems possible - i do PLL before FFT (and it has sync channel selection when working in 2-channel), the "merge" function comes after "FFT".
PLL syncs to one channel only and replicates sampling on both channels.
* Spectra compensation (to fix post-notch reduced 2nd harmonic) isn't available yet.
PLL syncs to one channel only and replicates sampling on both channels.
* Spectra compensation (to fix post-notch reduced 2nd harmonic) isn't available yet.
Sweet! 16dB lower noise floor vs. 0.5M FFT.
Another 9dB could be squeezed by switching back to 0.5M FFT vs current 64k, then it would be 25dB lower than typical FFT analyzer running at 64k.
Synchronous averaging is sloooow at long FFTs for some reason, i need to investigate/fix it. I guess it skips way too much samples to sync on the signal (like 1/2 of FFT length, which translates into 5 seconds at 96kHz sampling rate). + CPU load... Gotta limit sync window length.
Another 9dB could be squeezed by switching back to 0.5M FFT vs current 64k, then it would be 25dB lower than typical FFT analyzer running at 64k.
Synchronous averaging is sloooow at long FFTs for some reason, i need to investigate/fix it. I guess it skips way too much samples to sync on the signal (like 1/2 of FFT length, which translates into 5 seconds at 96kHz sampling rate). + CPU load... Gotta limit sync window length.
I quite like your development and decided to make at test with the current version from your website.
I first played a little with the Dummy source, and it worked correctly.
Unfortunately, I couldn't get SA to run with my MOTU Audio Express external audio interface. I opened a new Spectrum Analyzer tab in SA, the ASIO driver was configured for 24bit/48kHz/F32, but upon pressing the Run button, there was no spectrum on the display.
After this exercise, nothing appears on the screen even if I use the Dummy source. The latter works again when I close SA, delete the Default.xml file, and then restart SA.
My computer is a Win7 Pro, 64bit, with all updates installed, the processor is i5.
I have no problems with the MOTU card with the same ASIO driver with a couple of other programs (DiAna, REW, Spectrum Lab).
I'll be glad to furnish additional information if required.
Regards,
Braca
I first played a little with the Dummy source, and it worked correctly.
Unfortunately, I couldn't get SA to run with my MOTU Audio Express external audio interface. I opened a new Spectrum Analyzer tab in SA, the ASIO driver was configured for 24bit/48kHz/F32, but upon pressing the Run button, there was no spectrum on the display.
After this exercise, nothing appears on the screen even if I use the Dummy source. The latter works again when I close SA, delete the Default.xml file, and then restart SA.
My computer is a Win7 Pro, 64bit, with all updates installed, the processor is i5.
I have no problems with the MOTU card with the same ASIO driver with a couple of other programs (DiAna, REW, Spectrum Lab).
I'll be glad to furnish additional information if required.
Regards,
Braca
Do you get the #1 and/or #2 numbers as in this post with ASIO?
SA01 Spectrum Analyzer software - development in progess...
Have you tried other input methods (WASAPI/MME)?
Thanks!
SA01 Spectrum Analyzer software - development in progess...
Have you tried other input methods (WASAPI/MME)?
Thanks!
- Home
- Design & Build
- Software Tools
- SA01 Spectrum Analyzer software - development in progess...