You are on page 1of 2

FILTERING THROUGH PROGRAMMING IN MODERN-DAY DATA ACQUISITION SYSTEMS

Shashikanth Suryanarayanan

1. BACKGROUND a. GENERIC DATA ACQUISITION HARDWARE CONFIGURATION Most modern-day data acquisition systems involving measurement of real-time data have the following hardware structure

Fig 1: Elements of a Typical Data Acquisition System The reason for the ubiquitous (widely used) nature of this generic hardware structure is the ease with which signal processing scheme (acting on sensed data) can be accomplished. For the hardware structure shown in Fig 1, real-time processing of sensed data (e.g., removing noise etc) boils down to writing appropriate software code which may then be loaded onto the C. The quantized, discrete-time processed data after C processing is often stored. Sometimes it is given to a DAC for visual analysis of the result of processing. The important takeaway is that the same hardware configuration can be used for a wide variety of data acquisition and processing requirements. b. ABSTRACT VIEW OF DATA PROCESSING IN A -CONTROLLER It is important to note that Cs can only deal with quantized, sampled data (ie, the data accepted by a C is a quantized, discrete-time version of the analog input to the ADC. It is convenient to use the notation u(kT) implying that the -controller receives information only at discrete points in time (kT, k = -1, 0, 1, 2, ). More simply, u(kT) is often denoted as u(k) with the underlying sampling (of time period T) understood as a given. It is also convenient to view the operation of the -controller as taking a sequence of values u(k) and producing a new sequence y(k).

c. LOW-PASS FILTERING AS AN EXAMPLE OF PROCESSING ON A C The following relationship between y(k) and u(k) ensures that y(k) is a low-pass filtered version of u(k) y(k+1) = au(k)+(1-a)y(k), 0<a<1 Implementation of this code is fairly straightforward on a C. a. Define variables u, y, y_prev b. Read u(kT) values into the variable u (You may need to program a port to do this) c. Execute the Propogation Equation: y = a*u+(1-a)*y_prev d. Execute the Update Equation: y_prev = y

2. OBJECTIVES OF EXPERIMENT Understand the significance of -controller based signal processing to data acquisition systems. Specifically, appreciate the real-time data processing flexibility that programming provides the instrumentation engineer. Construct discrete-time low-pass filters to kill sensor noise 3. APPARATUS YOU WILL USE PC oscilloscope with function generating feature Instrumentation board with ADC, DAC, 89c51C Contraption providing noisy potentiometer data Keil Cross-Compiler Interface, FlashMagic programmer 4. PROCEDURE Provide suitable analog signals from function generator and/or noisy potentiometer contraption to ADC Construct low pass filters (with different choice of the parameter a) and observe low-pass action on PC oscilloscope. View output of DAC as well as input provided by function generator on PC oscilloscope screen

You might also like