Showing results for 
Search instead for 
Did you mean: 

remove noise when transfering analog to digital waveform

Go to solution

@yeah wrote:

Hi Santo,

I'm still not sure what is "Schmidt trigger" you mentioned, is it an exist VI in LabVIEW 2019? or is kind of method need to do myself like Bob suggested above?

It is something you need to implement like Bob described.

Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
Message 11 of 18

Thanks, let me have a try first.

0 Kudos
Message 12 of 18

Wait a minute -- you are talking about a digital signal (I²C)?  What are you reading it with?  How are you reading it?  Is the digital signal being properly terminated going from source to "reader" input?  Shielding?  This might not be a software problem ...  Know any good EEs?


Bob Schor

Message 13 of 18

Hi Bob,

I'm using two arduino board to communicated with each other by I2C, the VI attached is the SCL probe signal from oscilloscope.

The signal may be not such "pure", but the level performance seems ok. 

the problem is I need to judge the "high" or "lower" level of the SCL in the software.

I'm have difficult in adding the hysteresis instead of single point. I'm still trying on this.

0 Kudos
Message 14 of 18

Hello All,

I found threshold could find the rising edges perfectly. this seem to be the vi I was finding.


the width is kind of hysteresis, I need to think about how to define the correct width now.

0 Kudos
Message 15 of 18

The "Threshold Detector" is the function I described to you earlier, but applied to an entire signal.  If you are dealing with a TTL signal, then my earlier post tells you what to use for the Threshold.


Bob Schor

Message 16 of 18

Hello Bob,

I'm try to find the width by calculating the points between the first rising and falling edge.


I just don't know how to set a continuous judgement with shift register, for example, 5 values higher than 3 is acceptable, because sometimes the data could be 3.0, 2.9, 3.0, 3.1, 3.2, 3.5, 3.5, 3.6. but threshold works fine.

0 Kudos
Message 17 of 18

If your signal is, in fact, a TTL signal, then a rising edge is any voltage > 2, and a falling edge is any voltage < 0.8.  TTL circuitry is designed to be relatively noise-free (if you have a lot of noise, you may have a "wiring" or "impedance mismatch" problem), so the first time you have input > 2, then it is a Low-to-High transition, and the first time the input is <0.8, it is a High-to-Low transition.


Bob Schor

Message 18 of 18