Frequency Response Analyzer with Bode Plots
Frequency Response Analyzer with Bode Plots
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.
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.
Re: Frequency Response Analyzer with Bode Plots
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
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
Re: Frequency Response Analyzer with Bode Plots
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
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
-
- Advanced User
- Posts: 2856
- Joined: Tue May 31, 2011 3:43 pm
- Location: St. Neots, Cambridgeshire
Re: Frequency Response Analyzer with Bode Plots
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,
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,
Hitesh
Software Dev. Engineer
Software Dev. Engineer
Re: Frequency Response Analyzer with Bode Plots
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.
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.
-
- Advanced User
- Posts: 2856
- Joined: Tue May 31, 2011 3:43 pm
- Location: St. Neots, Cambridgeshire
Re: Frequency Response Analyzer with Bode Plots
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,
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,
Hitesh
Software Dev. Engineer
Software Dev. Engineer
Re: Frequency Response Analyzer with Bode Plots
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?
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?
Re: Frequency Response Analyzer with Bode Plots
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.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?
Re: Frequency Response Analyzer with Bode Plots
Jim,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
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.
Re: Frequency Response Analyzer with Bode Plots
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.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?
Re: Frequency Response Analyzer with Bode Plots
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
Re: Frequency Response Analyzer with Bode Plots
This fixed my problem with the 2205MSO.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
Thank you for your good work. It is appreciated

Tor.
Re: Frequency Response Analyzer with Bode Plots
You're welcome. Thanks again for helping out. I'm interested to hear how your end-to-end results pan-out.torsj wrote:This fixed my problem with the 2205MSO.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
Thank you for your good work. It is appreciated![]()
Tor.
Aaron
Re: Frequency Response Analyzer with Bode Plots
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
http://tinyurl.com/lozqnjn
ChetFT
Re: Frequency Response Analyzer with Bode Plots
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 allChetFT 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

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.