LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

point-by-point filters not working properly?

Solved!
Go to solution

I've attached a .vi that demonstrates what looks like a bug in one of the point-by-point filters, is there a fix available or am I doing something wrong?

 

Thanks for viewing,

John

0 Kudos
Message 1 of 6
(3,857 Views)
Sorry, forgot to attach the required file, any random array will work though.
0 Kudos
Message 2 of 6
(3,828 Views)
Solution
Accepted by topic author John_Smith
Hi John, I did some analysis on the SUbVIs used in your program and found the following: Compare the block diagrams of "Inverse Chebyshev Filter PtByPt.vi" and "Inverse Chebyshev Filter (DBL).vi". The "Inverse Chebyshev Filter PtByPt.vi" uses "Chebyshev Coefficients.vi", where as "Inverse Chebyshev Filter (DBL).vi" uses "Inv Chebyshev Coefficients.vi". Shouldn't the point by point function also be using the same VI "Inv Chebyshev Coefficients.vi" to get the co-effecients. I am not an expert in filter theory, so can't really say if this is a bug in LabVIEW. I had to convert your VI to 8.5. Do not know if that could have messed things up. Hope this helps.
0 Kudos
Message 3 of 6
(3,807 Views)

Thank you for your reply. I checked both sub vi's as you suggested and it does look like the same chebyshev coefficients vi is used in both the chebyshev and inverse chebyshev point-by-point filters. There is an inverse chebyshev coefficients vi that I think should replace it, but I can't seem to perform that modification myself. Any suggestions?

 

Thanks again,
John 

0 Kudos
Message 4 of 6
(3,800 Views)

Hi John,

 

The “Inverse Chebyshev Filter PtByPt.vi” is reentrant. When you open the SubVI, the title should say “clone” in parentheses. Each clone runs in its own memory space. You cannot modify a reentrant VI unless you close all referencing VIs.

 

The “Inverse Chebyshev Filter PtByPt.vi” is also part of a LabVIEW library. (C:\Program Files\National Instruments\LabVIEW 8.5\vi.lib\ptbypt\NI_PtbyPt.lvlib). This Library is password protected. Also you do not want to modify something shipped as standard along with LabVIEW.

 

There is a way around this though. Open the “NI_PtbyPt.lvlib”. From the menu select File >> Save As. This will duplicate the entire Library to a new location. Now open the copy “Inverse Chebyshev Filter PtByPt.vi” and modify it to use Inv Chebyshev co-effecients. You can now use this modified SubVI. I did try this (in LabVIEW 8.5) and the outputs of the Point by Point and Array functions were the same in your Demo program.

 

Again, I cannot comment if this is a bug in LabVIEW or we are missing something. It would be best to contact NI or wait for someone from NI to comment on this forum.

0 Kudos
Message 5 of 6
(3,770 Views)

Works perfectly now, thank you very much for your help!

 

John 

0 Kudos
Message 6 of 6
(3,762 Views)