380 likes | 521 Views
MegaMeet 2009 Atlanta GA. Intellitach Bowling & Grippo. Tach Noise – It Sucks! . Everybody has experienced noise of some sort in the electrical signals used to determine engine position (i.e. the tach signal ). All ECU/ECMs need this signal on engine position to determine: Engine RPM
E N D
Tach Noise – It Sucks! • Everybody has experienced noise of some sort in the electrical signals used to determine engine position (i.e. the tach signal). • All ECU/ECMs need this signal on engine position to determine: • Engine RPM • Position of Crankshaft • Ignition/Injection Points. • This is probably the biggest stumbling block for any installation!
Tach Noise Makes Me Cry… • Crankshaft and Camshaft sensors (Variable Reluctance or Hall) are susceptible to the following sources of noise: • Spike Noise, e.g. ignition spark firing • Flux Noise (df/dt) – “Phantom Tooth” • Channel Crosstalk from adjacent position sensors. • The noise sources can act randomly or periodically • Even one pulse of noise will invalidate the position signal and cause all sorts of havoc.
Intellitach – What Is It? • Intellitach is a signal conditioning device that removes noise artifacts from VR and Hall sensor signals. • Intellitach is basically a signal interceptor that constantly monitors the incoming signal source and performs signal conditioning to eliminate noise. • Intellitach provides a clean bipolar output signal that any ECU/EMC can use for a trigger source. • Realtime signal monitoring is available with Intellitach.
CAN OUT OUT OUT ADC ADC ADC USB Digital Signal Processor Intellitach Intellitach VR/Hall Sensors ECU Patent Pending
Intellitach - Features • Intellitach employs the following features: • Balanced Sensor Inputs – 3 channels • Direct Digital Sampling (DDS) • Digital Signal Processing (DSP) • Bipolar output signal • USB2.0 output (HID mode) for signal sampling/monitoring • -40 to +125 deg C Temperature Range components • CAN connectivity • OK – lets see how it works……
ECU VR Vzero Conventional VR/Hall Input • This circuit is a zero-crossing detector with infinite gain. • Circuit is single-ended, little common-mode signal rejection. • Some circuits use automatic adjustment of hysteresis based on input amplitude.
VR Intellitach VR/Hall Input Instrumentation Amp 12-bit ADC STM32 • VR/Hall Signal maintains symmetry with the use of an Instrumentation Amplifier arrangement. Very high Common Mode Rejection • Analog signal is sampled by high-speed (1usec) Analog-to-Digital Converter (ADC) – Direct Digital Sampling (DDS). • Sampled signal is now digital and can be processed using Digital Signal Processing (DSP) techniques.
Intellitach Processor • Intellitach uses the latest in ARM processors, the Cortex-M3 core (ST Microelectronics STM32). Although this device is a general-purpose processor it possesses features that enable DSP functionality: • Multiply-Accumulate and Hardware Divide in 2 cycles • One microsecond ADC sampling with DMA • Interrupt chaining • The STM32 operates at 72MHz, nearly 90 MIPs • The processor has a USB 2.0 port and CAN connectivity.
DSP Operations • Once the VR signal is digitized, all sorts of nifty signal processing operations can be performed. • The real beauty of maintaining the VR/Hall amplitude data correlated with time sampling is multi-fold: • Data operations can be performed in real-time with minimal phase delay effects. • Variances in zero-crossing points from effects like L-C phase shifts can be compensated. • Zero-crossing thresholding can take on many attributes depending on RPM, amplitude, etc. • The following illustrates some of the signal processing techniques implemented…..
DSP Operations – Median Filter • Suppose the VR or Hall signal has ignition noise spikes embedded in the true signal: • Is there a simple way to detect the spikes and remove them, leaving the original signal?
Rescued by a Median Filter • A Median Filter are non-linear filters that known for their ability to effectively remove impulse noise. • Median Filters are non-linear because they do not follow superposition: • Gosh – what an Yickky equation…. Luckily its much simpler than this. • Follow the upcoming example….
Median Filter – How to do it… • Suppose the ADC streaming samples values and one of them is a noise spike 2, 3, 5, 4, 6, 29, 8, 9 • For us it’s easy to see that the 29 value is a spike noise because its not the same magnitude as the surrounding values. • What the median filter does is take an odd number of values, sorts them numerically, and uses the middle value. • For this example, assume the sample size is 3 (odd number), as samples come in the sort is performed and the middle value is kept…
Median Filter – 1st Set • Taking the first three values: 2, 3, 5, 4, 6, 29, 8, 9 • Sorting them: 2, 3, 5 • Use the middle (median number): 2, 3, 5
Median Filter – 2nd Set • Taking the first three values: 2, 3, 5, 4, 6, 29, 8, 9 • Sorting them: 3, 4, 5 • Use the middle (median number): 3, 4, 5
Median Filter – 3rd Set • Taking the first three values: 2, 3, 5, 4, 6, 29, 8, 9 • Sorting them: 4, 5, 6 • Use the middle (median number): 4, 5, 6
Median Filter – 4th Set • Taking the first three values: 2, 3, 5, 4, 6, 29, 8, 9 • Sorting them: 4, 6, 29 • Use the middle (median number): 4, 6, 29
Median Filter – 5th Set • Taking the first three values: 2, 3, 5,4, 6, 29, 8, 9 The 29 stays on the end… • Sorting them: 6, 8, 29 • Use the middle (median number): 6, 8, 29
Median Filter – 6th Set • Taking the first three values: 2, 3, 5,4,6, 29, 8, 9 The 29 stays on the end… • Sorting them: 8, 9, 29 • Use the middle (median number): 8, 9, 29
Median Filter – Its Magic!!! • So, the original series with the 29 noise spike: 2, 3, 5, 4, 6, 29, 8, 9 • Becomes the new series that is nice and clean: 3, 4, 5, 4, 6, 8, 9 • Note the following: • You have to use an odd number of samples • There is a time-delay introduced that is ½ of the sample size – but this can be accounted for in the zero-crossing value to compensate. • Larger sample sizes have increased computation time because of the sorting – a sort size of 3, 5, 7, or 9 is plenty!
Median Filtering is used in Image Processing to remove sharp edges Noise is a sharp edge, too.
Adaptive Thresholding - VR • Detecting the threshold is easy – just find the zero-crossing point on the waveform. • However, during zero-crossing the VR output voltage is near zero volts, and it is most susceptible to outside noise effects. • At higher wheel speeds (resulting in high signal p-p amplitudes) the detection threshold can be expanded to help eliminate noise detection.
Thresholding - Amplitude • Wheel teeth often are not precise – this will cause direct amplitude variations in VR signal: • This amplitude variation will cause all sorts of headaches for adaptive VR sensor circuits!
Thresholding - Amplitude • Many VR signal conditioner circuits (e.g. LM1815) use an adaptive mode based on amplitude – the circuit re-arms when the current waveform passes 80% of the previous waveform’s amplitude: Peak 80% Doesn’t quite measure up… • Variations in amplitude due to teeth mismatch or acceleration/decel can result in missed teeth.
Thresholding - Frequency • The use of frequency can be a better indicator: • Waveform period can be used to scale the threshold.
Adaptive Thresholding - Freq • Detecting the threshold using the waveform period has a potential issue – missing or non-periodical tooth counts will result in varying periods. • The solution is to implement a lag filter arrangement which will effectively smooth out the tooth periodic variations, as well as cycle-to-cycle changes: • You pick a value of Coeff that matches the number of teeth. With this, along with an amplitude scale factor At you can arrive at a threshold function Th:
Phantom Tooth - Yikes! Missing Tooth Area The Phantom Tooth…..
The Phantom Tooth • Have you ever had the problem where you get good sync up to a certain RPM when it then goes all to hell? • During the missing tooth portion, any little bump, etc on the wheel can result in a new tooth signal – a Phantom Tooth. You can blame the low df/dt for this. • During low RPMs the PT amplitude is also low. • Higher RPMs the phantom tooth grows… • Eventually the phantom tooth crosses the threshold and becomes a real tooth – scary stuff here! • No fear – the frequency-based threshold adjustment will exterminate the phantom tooth!
Channel Crosstalk • There are several distributor arrangements which include crank and cam position sensors (i.e. Toyota 5M-GE, Honda Civic, etc). • For example, the Honda distributor yields a channel with 24 pulses, another with 4 pulses, and the third with one pulse per revolution. • Since the sensors are in close proximity the signals from one channel can couple into the other channels. • This crosstalk can cause issues at higher RPM and low threshold settings….
Crosstalk • Here are the 24 and 1 pulse outputs: • But the channels like to interfere with each other..
Crosstalk • One channel’s amplitude spills into the other one: • However, we have a trick to fix this….
Channel Crosstalk • Since we are digitizing each waveform we can perform our own “anti-crosstalk”. • We can generate a feed-forward signal based on adjacent channels and simply add it back to the channel in question.. It’s the exact same way that adaptive noise cancellation headphones work! • If you take the interfering channel and invert the signal (phase shift by 180 degrees) and add it back to the channel in question you effectively remove the crosstalk:
Channel Crosstalk • The only trick with this is that the amount of amplitude of the offending channel’s signal needs to be determined in order to apply the same amount out-of-phase. This can be done by monitoring the signal while changing the feed-forward gain. • Multiple channels is just the sum of each channel – simply determine the inverse of each channel and add it back in! • Since all amplitudes for all channels increase proportionally (same distributor shaft for all, and signal is proportional to RPM) one feed forward gain per offending channel is sufficient. • Also note that the adaptive thresholding also can eliminate channel crosstalk…
Other Filtering Techniques • Since we have the sampled data, we can implement other DSP algorithms to eliminate noise…. • One simple method is the Least-Mean-Square Adaptive Filter (LMS, a.k.a. Weiner Filter). This is basically a self-adjust Finite-Impulse Response (FIR) filter arrangement: • This is something we will investigate…