04-07-2011 07:24 AM
i tried extract portion but it doesnt work and i dont think that arrays will work. Maybe there is some smarter way to do it? The program need to display nyquist plot and i used this formula for real and imaginary part to do it
04-11-2011 05:19 AM
Dear edek,
you can find some information about using Nyquist plots in LabVIEW in the following documents:
http://zone.ni.com/reference/en-XX/help/372458C-01/lvsysid/nyquist_plot/
http://zone.ni.com/devzone/cda/epd/p/id/5791
http://zone.ni.com/devzone/cda/epd/p/id/2976
If this doesn't help, please share some details about what you want to achieve - then it will be easier to redesign your program.
Regards,
04-17-2011 08:58 AM
I ytried this nyquist plot from the toolkit but i have error:
Error -41201 occurred at error in NI_SysID.lvlib:si_ParaTest (ARX SISO).vi --> NI_SysID.lvlib:SI Estimate ARX Model (SISO Array).vi --> NI_SysID.lvlib:SI Estimate ARX Model (SISO Waveform).vi --> plugin.vi
Possible reason(s):
System Identification Toolset: The signal length is too small for computation, or the stimulus and response signals are not of the same length.
04-18-2011 04:21 AM
Dear edek,
I modified you program to test it as I don't have your hardware and in my case it worked:
I was also able to reproduce your error - it appeared when the two input waveforms of SI Estimate ARX Model, "stimulus signal" and "response signal" have different lengths.
Please check their size in your program by using "Array Size" function block. Maybe the response signal is shorter or longer than the stimulus signal?
Regards,
04-18-2011 06:05 AM
Response signal is shorter. Probably because a/d converter can only write one value at the time. I tried put into a for loop (red rectangle) but the data type changes.
04-19-2011 07:53 AM - edited 04-19-2011 07:54 AM
Dear Edek,
if you put it in a for loop like this, you will create arrays of data for everything, not just the A\D converter. I don't know how your A\D converter works. If you want to convert sample-by-sample you should put ONLY the A\D conversion in the loop - the array of acquired data will be created automatically on the output of the loop.
Regards,
04-19-2011 01:52 PM
I put only a/d conversion in loop but length of stimulus is 1.
If i use different noise generator the nyqust plot looks strange
04-21-2011 02:30 AM
Dear edek,
first of all, to have a longer stimulus signal while using "Simulate Signal" Express VI, you need to configure it properly:
Without setting the desired number of samples, you will get one.
Secondly, maybe you are using the wrong VI? I dont know your application, but I think that in this particular case using "AD Acquire Waveform" VI would give you the whole signal.
Regards,
04-21-2011 06:44 AM
I configure it like you show me and signals hase the same length but the error still occures
Error -41201 System Identification Toolset: The signal length is too small for computation, or the stimulus and response signals are not of the same length.
About acquire waveform, it doesn't work, it crashes labview. There is example of streaming data but it freeze rest of the program when it works and writing samples can not be steamed, so i don't know if it'll change anything.
04-22-2011 06:46 AM
Dear edek,
Does the "Acquire waveform" really crash LabVIEW, or does it just give the error? Could you give the specifics?
I had a quick look in the EDRE documentation and it seems that in order to acquire waveforms you need to first configure the operation. I believe it makes much more sense than acquiring one sample at a time.
You may also try the functions from EDRE API, not the Easy DAQ ones.
You need to thoroughly analyze what data is coming out of the A/D converter and what do you really want to do. I do not know the specifics of how does your hardware work, as it is not NI product and the documentation I found is poor. Also, if you really want to perform the analysis of a real filter your approach is not quite correct. You do not specify any timing or synchronisation in your program and that is crucial if you want to measure the response to a specific stimulus.
You may get some ideas from LabVIEW examples, like Multi-Function-Synch AI-AO, but you will need to adapt it to the API of your suppliers hardware.
Regards,