06-21-2013 02:13 AM - edited 06-21-2013 02:32 AM
Hi everyone
I am trying to filter an array of 10.000 data representing a 1sec sinus signal (so fs = 10kHz) at 50Hz. I want to keep only the frequencies over 40 Hz and under 60 Hz. So I used a bandpass filter and set all this parameters on it. I don't mind about the order but when I set a high order (>10) my VI gave me an array of empty data !
Is it because there is too much data to manage ?
Thanks for helping !
EDIT : After trying some orders, the function works until the 19 order and after that with the ordre 24, 25, 28, 29, 30... So it's totally randomly !
06-24-2013 01:21 AM
No one can help me ? please, I need some answers...
06-24-2013 09:30 AM
Can you post your work (LabVIEW VI), so that one can have closer look.
06-24-2013 09:38 AM - edited 06-24-2013 09:45 AM
@Tom_VM wrote:
Hi everyone
I am trying to filter an array of 10.000 data representing a 1sec sinus signal (so fs = 10kHz) at 50Hz. I want to keep only the frequencies over 40 Hz and under 60 Hz. So I used a bandpass filter and set all this parameters on it. I don't mind about the order but when I set a high order (>10) my VI gave me an array of empty data !
Is it because there is too much data to manage ?
Thanks for helping !
EDIT : After trying some orders, the function works until the 19 order and after that with the ordre 24, 25, 28, 29, 30... So it's totally randomly !
It's NOT "totally randomly." Do you know what the order of a filter actually is? If you did, you'd realize that you should "mind" about the order.
[edit] I don't know what your data actually looks like, plus I'm no filter expert, but I do know that the order of a filter will affect the filter output. Filter experts - is there even a such thing as a filter with an order of 30?
06-24-2013 10:00 AM - edited 06-24-2013 10:02 AM
Thanks moderator1983 ! You will find here my VI + the Excel sheet i use to generate a signal with noise... I am sorry if the VI is a little messy... The problem is located on the first sub VI where there is the bandpass filter...
EDIT : I can't send the excel sheet... cause it's too heavy... It contains the signal i used... It's a simple sinus between -1 and 1 with 10000 samples. its period is 50Hz...
To Billko : I know that the filter ordre should affect the outputed data. But normally it will change it and not delete it...
06-24-2013 02:00 PM
Is the RMS-filtrage.vi one you made or part of a toolkit? I did not see anything which might have been a guess at a translation into English and which had a similar connector pane. Please attach at least that subVI.
I have some experience with filters and what your are seeing does not seem to be an ordinary filter behavior.
Lynn
06-25-2013 01:52 AM
Hello Johnsold.
Sorry for my uncomplete VI... I have rewrite my all VI and subVI in one and I incorporate the Excels Data in it. You will find the new VI in the attached documents.
Thank you for your time.
06-25-2013 04:43 AM
The Bandpass filter VI uses the Parks-McClellan filter coefficient VI, which attempts to minimise errors in the specified filter bands. When the Parks-McClellan VI returns an error of zero, which happens when it cannot find a set of coefficients that work, the Bandpass filter VI returns an empty array. You can see the same failure to generate coefficients, just returned via an error message, using the Digital FIR Filter VI in the Signal Processing > Waveform Conditioning palette.
I don't know enough about Parks-McClellan to know why it fails to find solutions for those number of taps though.
06-25-2013 04:54 AM
OK I understand now... Thanks a lot Thoult !
But if I dont want it to fail, how can I procede ? Maybe there is another Bandpass filter which doesn't use Parks-McClellan filter ? Because my objective is to reduce the noise under and over 50 Hz... Do you have any idea to do this without the problem ?
06-25-2013 09:06 AM
First, I think I should apologize for my harshness from before. Hopefully you can use a combination of low pass and high pass filters?