QA40xPlot Thread

Hi Mark,

Normally I set 0dBr at 1K to make it easier to see the -3dB/-6dB points in response.

Ah, the original app this came from did a nice job of showing the bandwidth points and I yanked it out during a rewrite and never put it back in. Let me think about a good way to do this.

Mark

1 Like

Hi Mark,

Thank you very much for writing this excellent pogram. I plan to use the QA403 to measure noise soectral density. Is it possible to set the Y-axis units into voltage per square root of frequency (root-mean-square noise voltage per Hertz of bandwidth)? If not, do you plan to add that feature?

Best regards

Hi,

Thank you.

V/sqrt(hz) is currently not supported but I would like to add a noise density curve. The upcoming Opamp test (built from the Thd vs Frequency test) has a (smoothed) noise density curve in units/sqrt(hz) as one of the outputs and it should be easy enough to use that code. I’m not planning any updates until after the holidays but we’ll see.

Mark

1 Like

Since I’ve been doing a flurry of changes I thought I’d do a ‘what’s new’ for QA40xPlot. This covers the last month or so. As usual the Changelog (in the Help) is very accurate.

Much of the work was to support a (possible) QA430 product. This is an opamp test device Matt has been working on. As part of that work I’ve done a lot to improve multiple-sweep stuff and displaying of multiple datasets.

Most sweeps now have a THD+N option and the THD+N math is slightly more accurate.

The legend is now movable and more legible. It also uses more than one column when it gets too long. If you mouse over a legend entry it will tell you which palette index the entry is, so you can more easily change the correct plot line colors.

I’ve also done a lot of work to get the same results as manufacturers. So, bandwidths for distortion are now more industry standard and same for noise floor and noise density. Settings has an option to increase the noise bandwidth (opamps tend to use 80KHz instead of 20KHz, for example). If you make it non-20KHz that gets displayed in the Settings displays in each tab.

To make sweeps even better there is now a setting to adjust the safety margin for the autoscaling of attenuation. Setting the margin near zero (default is 5dBV) will slightly improve the noise numbers with obvious risks.

In addition, the gain curve analysis (used for sweeps to set attenuation) has been quite improved for accuracy since it now does two sweeps - one to discover the approximate gain, a second to get an accurate result.

Low frequency step accuracy in sweeps has been improved by increasing the distortion test bandwidth and resolving some of the (rather rough) fft issues.

Finally, there is a new setting to enable the QA430. If you enable it (which is non-destructive) a new tab (Opamp.Freq) is displayed. You are welcome to try the new (not-yet-fully-tested) sweep - it is an upgraded THD vs Frequency sweep. All of the QA430 settings are hidden if you don’t have one plugged in but what’s left is still pretty cool - in particular you can sweep at more than one generator voltage (up to 4 for now) and it lets you see the Noise Density (@Aion ) hopefully the math is right.

Mark

2 Likes

Looking pretty amazing MarkZ! A whole lot of work I’m sure, thank you!

1 Like

I only just learned about this software for QA series. I own QA401 and I’m stuck with the QA written software and pretty urked that they abandoned it. Although in fairness Matt did do a tiny update for me.

I’m also a developer so I’m going to pull the repository and see if I can get it working. Lots of 401 users out there so maybe it can earn it’s 40’X’ name and be truly QA universal.

I might need a bit of help though so I’ll reach out here as needed if that’s ok?

@Ferrograph That sounds great. I had a request for QA401 support that I just can’t really support without owning one. Have you tried using the REST interface support? See Settings for a checkbox.

Feel free to contact me directly for help with the code if you go that route. I know the device only supports a couple of attenuation values but otherwise I have no idea how it differs from the newer models.

Mark

I still can’t get this to work. There is two .cfg files in the documents folder labelled QA setting….cfg. on this pc. But when I start the program, it says there is no default file found. Do I have to change the file labelling to QAdefault? Why did it label it QAsettings? I hate PC’s, please help.

Tried renaming the file from settings to default, still doesn’t work, in fact changes it back to settings at save. Still shows no default config at top left hand area at start up.

Hi, short answer yes.

There are three ways to set the ‘default’ settings.

  1. Save the configuration file in the documents folder and name it QADefault.cfg (it will tack on the cfg by default) by using the Save button upper-right. Capitalization is optional in Windows.

  2. Go to the Settings tab and set “Save on Exit” to True and it will remember your settings from session to session by autosaving QADefault each time you exit.

  3. Change the way you start the program by adding an argument with the name of the configuration file you want. This is kind of tricky to do since the desktop icon points at the installer shell that checks for updates. If you Pin the running app to your task bar you can then edit that shortcut to add an argument.

Comment: The Help button on the program (see upper right) brings up a single-page help document that discusses many of these options and you can just copy/paste the default file name from there.

Mark

by the way, my default at startup looks like this… when I run a spectral plot

1 Like
  1. I saved it as QADefault.cfg, it then changes it to QASettings.cfg by itself. This is in the document folder. On start up it still says no default config.
  2. I don’t see how this is possible, “save on exit”, it won’t save the setting at all. So that won’t work.
  3. This way over my head, not a PC guy.
  4. It is NOT seeing the file at start up.

Ok, try something simple.

  1. Change the sweep frequency to 2000 in the spectrum test

  2. Go to the Settings tab and change the “Save on Exit” value to True from False.

  3. Quit the program by clicking the X (close) button on the upper right.

  4. Start the program and see that (hopefully) the frequency is now 2000 and the Save on Exit setting is still True.

If this all works, you should be able to run the file browser in windows and go to the Documents folder and see the QADefault.cfg file that was autosaved.

Mark

I will try that. A couple of questions, I noticed that in the document folder the saved file says QASetting, the date and time, then.cfg. It is putting Settings in place of Default and adding the date and time. At the bottom of the window it has the file name to be saved and save as “settings”, it does give an option of “all files”.

Also, another question if the program is working correctly. If you don’t pick” true” on save on exit does it load the previously saved default when it is restarted. For example say you saved 8 ohm as a normally used setting in the settings menu, then tested at 16 ohms, at a restart of the program would it load 8 ohm as default again?

looks like new interface :slight_smile: looks nice

1 Like

@Audiowizard It sounds like you are not familiar with the standard windows save dialog box.

When you save a configuration it will fill in a default name of QASettingsdatetime and use the current folder, so that you can just click Save and get a uniquely named configuration file. To change the name being saved just go down to the near-bottom of the dialog box where the file name is shown and edit the name to say QADefault then click the Save button. To change the folder where the file is being saved use the visual file list and click there to move the folder view. Once you’ve got a saved QADefault.cfg file you just need to double-click the existing file-name to have it replaced on save.

Yes, if Save on Exit is False this lets you decide when you want it to stop keeping track. For example, the photo I showed – I started the program with no default file, changed the Theme to dark, set the graph background colors to dark gray/black, resized the window, and finally edited the plot palette to be bright visible colors. Then I manually saved the configuration as QADefault. Now, whenever I run it uses all of the program defaults except the Theme/graph colors and window size. Any changes I then make to settings, like changing voltage levels, amplifier load, or closing pieces of the GUI are session only.

It’s a matter of taste whether you want it to always stay ‘up to date’ on GUI settings. I sometimes test power amplifiers and don’t want to forget and mistakenly produce 50 watts output by default.

@DATIR thanks. The dark theme has been supported for a few months but I personally have started using it a lot and keep improving it (since some of the controls are rather fat to enable easy touch-screen use).

Mark

Thanks for that input. So should be saved as “all files” correct? Also it has to be saved as QADefault.cfg and not QASetting date/time.cfg correct ?

@MarkZ- I have the Save on Exit set for True, and have even saved the current configuration and recalled it, but the Generator voltages always come up with VOLTS and not dBV, which is what was saved (or the last state). While not as important, the measurement windows positions go back to the left side instead of the positions they were in last. Is this correct? Thanks in advance.

@Audiowizard The All Files option just changes which files are displayed in the file list. The only thing you need to do is change the file name (and possibly folder). Yes, just change the name to QADefault.cfg and you’re set. Once you’ve saved a QADefault.cfg it’s simpler to just double-click the file you want to replace - no editing required.

@Var yes, the Data Summary boxes always come up in their default locations. I’ll see about saving those in the configuration. The Generator Voltage units are deliberately not saved in the config. The are tough to autoload (since they interact with values) so … I may try to save them but last time I looked it was risky. The GV unit framework needs to be rebuilt unfortunately for that to be really robust. The simplest fix is to not have the displayed value change when you change the unit and I’m leaning that way as you can see in the latest QA430 chart (Opamp.Freq).

Mark

@MarkZ - thanks for the explanation and I don’t have to wander if I am missing something. Not a big deal in the grand scheme of things…

1 Like