LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

filter distorting signal

Solved!
Go to solution

Nope, it's not working. I'll try your suggestion when I have some time by just putting in the maximum number of instances that will be used and hope for the best 😄

0 Kudos
Message 11 of 17
(1,083 Views)
Solution
Accepted by Pladio

It will work because I have done it before.  When you do this another input appears on the for loop where you set the number of processors.  If you set this to the number of predefined instances you need then it works.  Or if you want, just set the number of processors to a number larger than the maximum number of instances you might need.

 

filter mod 2.png

 

 

Randall Pursley
Message 12 of 17
(1,083 Views)

Your approach would work, but it would have to be done by feeding in an array of waveforms.  The IIR Filter vi is polymorphic so when you input a single waveform, it runs the instance that runs a single channel.  If you input an array of waveforms, it runs the instance for multiple channels and therefore retains the tap information for each channel.  You still have to initialize it the first time just like the before and you must also set the dt for the waveform to get the correct behavior.

 

filter mod 3.png

Randall Pursley
Message 13 of 17
(1,081 Views)

Hello Mr Pursley,

 

Thank you. Like I said I have not time right now, but I will try it out on Monday.

 

I have a question though. What is the difference between :

  • Number of generated parallel loop instances
  • Number of workers

The instances are to be chosen in the dialog box, but the workers are chosen in the diagram.

0 Kudos
Message 14 of 17
(1,077 Views)

From the help

 

  • Number of generated parallel loop instances—Determines the number of For Loop instances LabVIEW generates at compile time. The Number of generated parallel loop instances should equal the number of logical processors on which you expect the VI to execute. If you plan to distribute the VI to multiple computers, Number of generated parallel loop instances should equal the maximum number of logical processors you expect any of those computers to ever contain. Use the parallel instances terminal on the For Loop to specify how many of the generated instances to use at run time. If you wire a larger number to the parallel instances terminal than you specify in this dialog box, LabVIEW only executes as many loop instances as you specify here.
Randall Pursley
Message 15 of 17
(1,071 Views)

Thank you. 

So to confirm. Since I would not use more than 60 channels/workers, I should put in 60 in the instances as well.

 

David.

0 Kudos
Message 16 of 17
(1,052 Views)

The number in the dialog box needs to be set larger than the maximum number of channels, the 60 you mentioned should go here. The 'P' input should have the actual number of 'clones' you want instantiated.  That way you will have one instance for each channel of data but no more.  Since this is a run-time decision, the compiler should be able to determine how many is required before executing the program.

 

 

Randall Pursley
0 Kudos
Message 17 of 17
(1,043 Views)