取消
顯示結果 
搜尋替代 
您的意思是: 

Error 20023 "The following conditions must be met: 0 < f_low <= f_high <= fs/2."

已解決!
前往解決方案

Could someone help me fix this error 20023 that appears when i run the attached VI. ifve tried everything but i cant get rid of it. Thanks

0 積分
1 條訊息(共 23 條)
7,951 檢視

Your filter frequency must be between 0 and the Nyquist Frequency.  (1/2 the acquistion rate.)  What is your acquisition rate?

 

I think the problem is that your signal processing path starts out as just an array of data that gets converted into the Dynamic Data Type.  Since that array wire contains no timing information, it assumes your acquisition rate is 1 Hz.  Thus a filter value greater than 1/2 Hz is going to give your error.

 

What functions are you using to get your data?  (Those subVI's weren't included in your post.)

0 積分
2 條訊息(共 23 條)
7,925 檢視

Thanks for responding. im using arduino INIT and arduino contnuous acquisition VI  and  a pulse sensor. Acqusition speed was 50. I tried to fix it but i dont know how to change the frequeancy. I tried a build waveform but the error kept popping up

0 積分
3 條訊息(共 23 條)
7,918 檢視

You would build it into a waveform.  If that didn't work for you, show your code so we can figure out why it didn't

0 積分
4 條訊息(共 23 條)
7,885 檢視
解決方案
由主題作者所接受 derek.s

When you build the waveform, there are three components: Y, t0, and dt.

 

You'd set the sampling rate with dt.  What did you set that to?  If 1, you've got 1Hz.  If 0.1, you've got 10Hz.  You'll want to set that appropriately.  It looks like 50Hz, so 0.02.  Then, you can use a filter setting of 25Hz or less.

0 積分
5 條訊息(共 23 條)
7,883 檢視

Poor quality picture but the code looks like thisPoor quality picture but the code looks like this

 

 

0 積分
6 條訊息(共 23 條)
7,880 檢視

Here's a better picture how the code looks like.Here's a better picture how the code looks like.

 

 

0 積分
7 條訊息(共 23 條)
7,877 檢視

@derek.s wrote:

 I tried a build waveform but the error kept popping up


Building a waveform should work just fine as long as you set dt correct. Can you show us what you did? Alternatively you could do all the filtering unit-less and define all relevant frequencies relative to 1Hz.

 

Also your peak detection seems completely off. First of all, get rid of the local variable. The indicator named "scalar" just seems a dummy to store data via local variables. Since the local variable most likely gets read before the terminal receives data, you have a race condition. Just wire your calculation to the correct data source.

 

And no, the "# found" is not an array that contains any information about frequency, and a double dynamic data conversion is also certainly not the right way to get anything out of it.

 

What does the signal represent and what are you trying to get out of it. I am sure there are much better ways overall. You probably don't even need express VIs.

0 積分
8 條訊息(共 23 條)
7,872 檢視

Please post actual VI's rather than hard to see pictures of your monitor.

 

Your first filter is set for 3Hz.  That means your first picture where you set it to dt=0.3 will give an error (since bandwith is just over 3 Hz, half of that is too small for a 3Hz filter.)  The  second picture would work because dt=0.1 or 10 Hz.  Half is 5Hz. and 3 Hz is less than that.

 

But your second filter is 40 Hz.  That mean you have to acquire at a rate of more than 80 Hz (dt < .0125 secs) in order to not have an error for that one.

0 積分
9 條訊息(共 23 條)
7,868 檢視

im trying to read a signal from a pulse sensor and display it on a Waveform Chart and Display the BPM.  Im still an armature at LabVIEW so i maynot know better ways to do it yet

0 積分
10 條訊息(共 23 條)
7,864 檢視