LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

error on filtering ascii

Solved!
Go to solution

I am having some problem on reading and processing ascii files. the problem is that when ever i try to filter this data this gives an error message that "the specification doesn't meet Nyquist criterion "

can anybody help me out that how to properly read the data and filter it and then save it as ASCII again

thanx in advance

 

LabVIEW Measurement
Writer_Version 2
Reader_Version 2
Separator Tab
Decimal_Separator .
Multi_Headings Yes
X_Columns Multi
Time_Pref Relative
Date 2010/08/02
Time 17:42:14.9375
***End_of_Header***
Channels 1
Samples 6328
Date 2010/08/02
Time 17:42:14.9375
X_Dimension Time
X0 0.0000000000000000E+0
Delta_X 1.000000
***End_of_Header***
X_Value signal in Comment
0.0000E+0 0.0000E+0
1.0000E+0 1.0700E+3
2.0000E+0 1.0730E+3
3.0000E+0 1.0890E+3
4.0000E+0 1.0740E+3
5.0000E+0 1.0150E+3
6.0000E+0 1.0540E+3
7.0000E+0 1.0130E+3
8.0000E+0 1.0540E+3
9.0000E+0 1.0650E+3
1.0000E+1 1.0420E+3
1.1000E+1 1.0370E+3
1.2000E+1 1.0420E+3
1.3000E+1 1.0480E+3
1.4000E+1 1.0450E+3

 

 

Download All
0 Kudos
Message 1 of 5
(2,233 Views)

Your text file looks like the data was saved with a 1 Hz acquisition rate.  (The X values, are at 0, 1, 2, 3, ..... and the Delta X is listed as 1.0)

 

But your filter is set for a cutoff of 20 Hz.  You would need to have an acquisition rate of at least 40Hz to meet Nyquist criterion.

 

Either you did not acquire at the acquisition rate you thought you did, or when the data was saved to the text file, the timing information was not saved with it and it defaulted to a rate of 1 Hz.

0 Kudos
Message 2 of 5
(2,230 Views)

the signal was sampled with 1k. actually it is a data recorded at 8kHz then i have downsampled it to 1khz. and i know the highest possible frequency content of the analog signal is 35 hz 

it may happen that time stamp is some how deleted 

but have any idea how to proceed now?

i mean to construct time stamp properly and do the filtering

0 Kudos
Message 3 of 5
(2,224 Views)

You can take the waveform datatype that comes out of the Read File function.  Use Get Waveform components to get the Y array of data, then use Build Waveform to build in the correct value for dT.

 

You may have to do this in a For Loop with auto-indexing enabled since it is a 1-D array of waveforms coming out of the Read File function.

0 Kudos
Message 4 of 5
(2,220 Views)
Solution
Accepted by topic author signal29

thanx thanx i am trying 

coming back in munites

0 Kudos
Message 5 of 5
(2,217 Views)