Frequency Response Analyzer with Bode Plots

Post discussions on applications you are writing
Post Reply
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Frequency Response Analyzer with Bode Plots

Post by hexamer »

Hello All,

Based on a need I had for a good Frequency Response Analysis tool for PicoScope, I started to develop one. Initially it was just for my PS5444A, but I decided to go ahead and make it general purpose since I had seen several posts on here asking for this. Unfortunately I don't have any other scopes to do any testing on, so I'd really love some help. I'd consider it in "beta" status for now, but I've tested it with my scope on Windows XP (SP3), Vista, and 7. Right now it's only got built in support for the PS2000A, PS4000, and PS5000A families, but adding more scopes is pretty trivial.

If anyone is interested, I'm hosting it here: https://bitbucket.org/hexamer/fra4picoscope/wiki/Home

Binaries are available if you're not into building the code yourself.

Hope it's useful!

Aaron.
JimClarke
Newbie
Posts: 0
Joined: Fri Aug 29, 2014 9:48 am

Re: Frequency Response Analyzer with Bode Plots

Post by JimClarke »

Aaron,

I would like to give it a try. I have a 2204A but got the message that it found no compatible hardware.

(The hardware works ok with the standard software.)

Is the 2204 supported?

Regards

Jim
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

Jim,

Thank you for the interest. According to my research, the 2204A is one of the few unique cases where, despite the name, it's not supported by the 2000A series driver. Rather, it's supported by the 2000 series driver, for which I don't have support yet. There's certainly no technical limitation in the scope. It was just a matter of prioritization. I've put off support for scopes with libraries that don't supply enumeration functions. For a while I was toying around with writing my own, but got sidetracked. I'll take a look again and get back to you. If anyone from Pico is listening, it would be really nice if some of these legacy APIs would support Enumeration - without having to open each available scope :)

Aaron
Hitesh

Re: Frequency Response Analyzer with Bode Plots

Post by Hitesh »

Hi Aaron,

Regarding an 'EnumerareUnits' function for devices using an older driver, I've raised it as a 'new feature' request with our Development Team.

The driver models are likely to be different compared to the newer drivers so it might not be possible to implement such a function. An update will be posted here once a response is received.

Thanks,
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

Thank you, Hitesh.

While I'm asking about this, one other related annoyance is that the current enumeration functions don't return the model number of the scope. You have to open the scope to find that out. The downside of that in my application is this: There are some scope models that are not compatible with the application. When building a list of possible scopes to open, it would be good to know model number so that the application could decide not to display those.

Thanks, Aaron.
Hitesh

Re: Frequency Response Analyzer with Bode Plots

Post by Hitesh »

Hi Aaron,

I've added your comments to an existing New Feature request.

At the moment, the USB Product ID (PID) does not provide this information.

Thanks,
torsj
Newbie
Posts: 0
Joined: Thu Oct 16, 2014 2:16 pm

Re: Frequency Response Analyzer with Bode Plots

Post by torsj »

Great work!

I downloaded the latest windows prebuilt but it didn't work for me.

The log shows the following messages:

Fatal error: Failed to setup input channel: 15
Status: 2205MSO S/N: AV729/026 successfully initialized.
Fatal error: Failed to setup input channel: 15

Do you have any ideas?
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

torsj wrote:Great work!

I downloaded the latest windows prebuilt but it didn't work for me.

The log shows the following messages:

Fatal error: Failed to setup input channel: 15
Status: 2205MSO S/N: AV729/026 successfully initialized.
Fatal error: Failed to setup input channel: 15

Do you have any ideas?
Thank you for helping out and supplying your log info. And thanks for your patience. With scopes I can't test, I really am "flying blind". I am currently working on adding support for three more families, and I've spotted bugs in some existing scope family implementations - some serious enough that it would cause errors. I'm not sure if you've encountered one of those but with the log message you provided we should be able to get to the bottom of it.
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

JimClarke wrote:Aaron,

I would like to give it a try. I have a 2204A but got the message that it found no compatible hardware.

(The hardware works ok with the standard software.)

Is the 2204 supported?

Regards

Jim
Jim,

One minor compromise I considered making is to only "enumerate" one scope for the driver models that don't support enumeration (by just calling the open function once). I doubt this would affect very many people. I have some code changes in the works to support the 2000, 3000 and 3000A driver families, which take that approach. I should be able to publish them within the next couple of days. I'll supply a binary which I hope you can use to help test.

Thanks,

Aaron.
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

torsj wrote:Great work!

I downloaded the latest windows prebuilt but it didn't work for me.

The log shows the following messages:

Fatal error: Failed to setup input channel: 15
Status: 2205MSO S/N: AV729/026 successfully initialized.
Fatal error: Failed to setup input channel: 15

Do you have any ideas?
At first glance it does appear you encountered one of those bugs I spotted. Its a channel voltage range error caused by passing a PS2000A scope a +/- 10 mV range which it doesnt handle. I'll publish a fix soon.
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

A fix for the bug encountered by torsj and support for PS2000 driver family are now in v0.3b: https://bitbucket.org/hexamer/fra4picos ... 200.3b.msi
torsj
Newbie
Posts: 0
Joined: Thu Oct 16, 2014 2:16 pm

Re: Frequency Response Analyzer with Bode Plots

Post by torsj »

hexamer wrote:A fix for the bug encountered by torsj and support for PS2000 driver family are now in v0.3b: https://bitbucket.org/hexamer/fra4picos ... 200.3b.msi
This fixed my problem with the 2205MSO.

Thank you for your good work. It is appreciated :D

Tor.
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

torsj wrote:
hexamer wrote:A fix for the bug encountered by torsj and support for PS2000 driver family are now in v0.3b: https://bitbucket.org/hexamer/fra4picos ... 200.3b.msi
This fixed my problem with the 2205MSO.

Thank you for your good work. It is appreciated :D

Tor.
You're welcome. Thanks again for helping out. I'm interested to hear how your end-to-end results pan-out.

Aaron
ChetFT
Newbie
Posts: 0
Joined: Thu Oct 23, 2014 9:05 am

Re: Frequency Response Analyzer with Bode Plots

Post by ChetFT »

Thanks for the neat tool. It works great on the PS5444B using a WinXP 64 virtual machine under Parallels Desktop v9 on Mac OSX 10.9.3. Here's the output for a series RL circuit. R is 10 Ohms, output is taken across the R. The plot shows the self-resonance of the L.

http://tinyurl.com/lozqnjn

ChetFT
hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: Frequency Response Analyzer with Bode Plots

Post by hexamer »

ChetFT wrote:Thanks for the neat tool. It works great on the PS5444B using a WinXP 64 virtual machine under Parallels Desktop v9 on Mac OSX 10.9.3. Here's the output for a series RL circuit. R is 10 Ohms, output is taken across the R. The plot shows the self-resonance of the L.

http://tinyurl.com/lozqnjn

ChetFT
Very nice plot. Thanks for sharing. My compatibility data point on XP was also via a VM (32bit XP via VMWare Player on Win7). I was pleasantly surprised how well it worked. Of course it is a little slower, but still works fine. It could probably use a little aesthetic work as whatever window theme/style I used doesn't look the same on XP. But oh well, it is a lab tool after all :)

One thing you may run into since the 5444B has the deepest buffers of any currently supported scope is memory allocation in high noise mode. Right now the application allocates all scope sample memory up front - that will change soon. In simulated tests, I can allocate enough memory for a PS5444B on my 64 bit Win7 Machine. However, I don't know how it will work out on XP running in a VM. It will certainly be slow, but may not work at all.
Post Reply