• Home
  • Audio
  • Coding
  • Photo
  • About


    June 23rd, 2019

    Another spectrum analyzer? Nope.
    This one, in contrary to others, boasts
     - Novel method of synchronization (quite robust, works with noisy and non-ideal signal souces, not bound to "single sine" function, doesn't need external trigger source (better than industry leading solutions). Sees signals 20dB under the noise floor within seconds, and works with drifting sources too (countrary to long FFTs). - NICE!
     - Have i mentioned "synchro-"... ? Yes, available in both time and frequency domain (real vector averaging that actually work!).
     - Extremely long FFTs to look straight thru the noise floor (16M samples anyone?)
     - Phase Noise measurements
     - Industry-leading visualizations (heat, phosphor)
     - Touch and feel of a hardware analyzer (big clear controls you can use with touchscreen). Hence the possibility to run on windows tablet (needs highly optimized code to crunch all those numbers on my side on a weak Atom CPU - i've tested it on X5-8350 and it runs ok. Faster than win10 task manager :) )
     - Markers that make sense (auto, manual, with variable integration bandwidth!)
     - Advanced measurement processes and techniques
     - Real world signal generator, incorporating not just your typical noise and sine functions, but parametrical distortion and phase noise!

    Update 4 (23.06.2019):
    Performance overhaul.
     - Finally, dropped the WPF's bitmap image rendering as it caused too much CPU load (blank static image, rendered at 60fps in absolutely new empty project caused 10-20% CPU usage alone/ No matter which "kind" of image i've tried, and i've tried WritableBitmap, WICBitmap, InteropBitmap and less performant ones too. WPF is not intended for such things as media rendering.). So, i wrapped the "Image" and "D3D11Image" together, and am rendering the bitmap into DX11 texture and then pass it DX11>DX10>DX9 thru interops. Horrible, bulky code. Zero CPU usage.
     - Dropped the TextBlock for overlay text, again, another 8% of CPU saved - and i'm talking about i7 4790k CPU! Now rendering it directly into bitmap.
     - Overhaul of buffering and data path. So far i've got 8M FFT at 11FPS, which translates to almost 100MHz sampling rate. With 50% of CPU load :)
     - Hence, if i am able to do 100MSPS at software side, why wouldn't i use a more appropriate hardware at sampling side? Yep, finally the USB 3.0 is very accessible with Cypress solutions, and data rate of 200-400MByte/s is achievable... It's a matter of laziness to connect it to some fast high-resolution ADC and call it a day. So much possibilities! :) Here i come/
     - Ah, i haven't mentioned, it runs on Atom x5-8300, 65k FFT, smoothly.

    Update 3 (16.06.2019):
     - V0 of signal synthesis thru inverse-FFT - a TON of possibilities - coherent sampling, sweeps, pseudorandom noise sequences, simultaneous full spectra measurements including THD, IMD, response, noise power bandwidth and noise floor. In one single pass of FFT. Amazing! (not yet, i've got a sine wave working, but it's a start!)
     - Numpad! - with a touchy slider! (remember these on iRiver/Creative mp3 players?)

    Update 2 (14.06.2019):
     - Overall UI cleanups and rearrangements
     - Now with cool markers that overlap less
     - New averaging method, makes it possible to have normalized spectra to RBW, enjoy the MAX() noise-digging property, AND be able to measure non-stable signals too!

    New layout and markers:

    Averaging menu:

    Update 1 (12.06.2019):


    By s3t © 2011