ECET 350 Week 3 lab Generating and Filtering Digital Signals in Matlab

Published on January 2018 | Categories: Letters | Downloads: 428 | Comments: 0 | Views: 1994
of 1
Download PDF   Embed   Report

Product Description Generating and Filtering Digital Signals in Matlab Introduction to Moving Average Filters Moving averages are the simplest of all non-recursive or finite impulse response (FIR), low-pass filters. The term moving means that the average is taken over a moving or changing with time set of input samples. Also, in a moving average filter, the filter coefficients are all the same, meaning they are the reciprocal of the number of input terms to be averaged. The difference equation for a FIR filter is For example, if a moving average of length 5 is to be performed, the difference equation summation may be expanded into the following form. y[n]=0.2(x[n]+x[n−1]+x[n−2]+x[n−3]+x[n−4]) All the b k coefficients are equal to the reciprocal of the length, which in this case, is equal to one fifth, or 0.2. As with all FIR filters, this also introduces the need for storing not only the current input sample but previous or delayed samples, as well. This is usually implemented in a buffer referred to as a circular buffer. The circular designation means that when a new sample input is available, the oldest sample in the buffer is always overwritten by the newest one. Again, if the moving average filter length is 5, that means the average is taken of the latest five samples of the input signal. To illustrate this, suppose we have the following input sample sequence shown in Table 1. Sample Number First Second Third Fourth Fifth Sixth Seventh Eighth Ninth Sample Value 3 -2 5 1 4 -3 -1 6 2 Table 1: Input Sample Sequence Assuming that all sampling and antialiasing filtering requirements have been met for the system and assuming that the sampling frequency equals F s , a new digital sample is provided as an input to the filter once every sampling period, which is the reciprocal of Fs , which is 1/F s = T s , where T s is the sampling period. In addition, all input samples prior to the start of the filtering process have been set to a value of 0. Table 2 shows the moving average filter inputs and the calculated results after each new sample is received. Please note that until the fifth sample is received, the input signal buffer is in what is called a boundary condition, meaning that not enough samples have been received to calculate an accurate average yet. Sample Number Filter Input 1 2 3 4 5 6 7 8 9 x[n] 3 3 3 3 3 -3 -3 -3 -3 x[n -1] 0 -2 -2 -2 -2 -2 -1 -1 -1 x[n -2] 0 0 5 5 5 5 5 6 6 x[n -3] 0 0 0 1 1 1 1 1 2 x[n -4] 0 0 0 0 4 4 4 4 4 Mov Avg 0.6 0.2 1.2 1.4 2.2 1.0 1.2 1.4 1.6 Table 2: Moving Average Samples and Filter Calculations When sample 1 is received, it is stored in the x[n] element of the input buffer while the remaining elements still contain their initialized values of zero. When sample 2 is received, it is stored in the x[n-1] element. When sample 3 is received, it is stored in thex[n-2] element, and so on until the sixth sample is received. At this point, the buffer is completely filled with the five latest samples when the sixth arrives; the oldest sample in the buffer, which at this time is the x[n] sample, is overwritten with the newest sample.

Comments

Content

Product Description Generating and Filtering Digital Signals in Matlab Introduction to Moving Average Filters Moving averages are the simplest of all non-recursive or finite impulse response (FIR), low-pass filters. The term moving means that the average is taken over a moving or changing with time set of input samples. Also, in a moving average filter, the filter coefficients are all the same, meaning they are the reciprocal of the number of input terms to be averaged. The difference equation for a FIR filter is For example, if a moving average of length 5 is to be performed, the difference equation summation may be expanded into the following form. y[n]=0.2(x[n]+x[n−1]+x[n−2]+x[n−3]+x[n−4]) All the b k coefficients are equal to the reciprocal of the length, which in this case, is equal to one fifth, or 0.2. As with all FIR filters, this also introduces the need for storing not only the current input sample but previous or delayed samples, as well. This is usually implemented in a buffer referred to as a circular buffer. The circular designation means that when a new sample input is available, the oldest sample in the buffer is always overwritten by the newest one. Again, if the moving average filter length is 5, that means the average is taken of the latest five samples of the input signal. To illustrate this, suppose we have the following input sample sequence shown in Table 1. Sample Number First Second Third Fourth Fifth Sixth Seventh Eighth Ninth Sample Value 3 -2 5 1 4 -3 -1 6 2 Table 1: Input Sample Sequence Assuming that all sampling and antialiasing filtering requirements have been met for the system and assuming that the sampling frequency equals F s , a new digital sample is provided as an input to the filter once every sampling period, which is the reciprocal of Fs , which is 1/F s = T s , where T s is the sampling period. In addition, all input samples prior to the start of the filtering process have been set to a value of 0. Table 2 shows the moving average filter inputs and the calculated results after each new sample is received. Please note that until the fifth sample is received, the input signal buffer is in what is called a boundary condition, meaning that not enough samples have been received to calculate an accurate average yet. Sample Number Filter Input 1 2 3 4 5 6 7 8 9 x[n] 3 3 3 3 3 -3 -3 -3 -3 x[n -1] 0 -2 -2 -2 -2 -2 -1 -1 -1 x[n -2] 0 0 5 5 5 5 5 6 6 x[n -3] 0 0 0 1 1 1 1 1 2 x[n -4] 0 0 0 0 4 4 4 4 4 Mov Avg 0.6 0.2 1.2 1.4 2.2 1.0 1.2 1.4 1.6 Table 2: Moving Average Samples and Filter Calculations When sample 1 is received, it is stored in the x[n] element of the input buffer while the remaining elements still contain their initialized values of zero. When sample 2 is received, it is stored in the x[n-1] element. When sample 3 is received, it is stored in thex[n-2] element, and so on until the sixth sample is received. At this point, the buffer is completely filled with the five latest samples when the sixth arrives; the oldest sample in the buffer, which at this time is the x[n] sample, is overwritten with the newest sample.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close