Question: 1. 25 points C Coding: Note that there is a workpage following this page Consider the C program: /t fir3.c - FIR filter emulating a

1. 25 points C Coding: Note that there is a workpage following this page Consider the C program: /t fir3.c - FIR filter emulating a DSP chip double fir3(M, h, w, x) double *h, *w, x; int M int i; double y read input data shift instruction MAC instruction return y (a) Assume that the function is called with input M 2,h 1 4 2 w-3 11, and 7. What is the returned value y? (b) Is this code implementing a linear or a circular buffer? How can you tell? (c Now, suppose that the input is extended, so thatz-7 5 1 -2 3 2 8 i. Make a table of the numerical values of the contents of the array w for the successive time instants 0 S n 10. In each row, indicate the output y (you will want to have a column for y) Assume a linear buffer for w ii. Now, add rows for the circular buffer, iii. What changes? 1. 25 points C Coding: Note that there is a workpage following this page Consider the C program: /t fir3.c - FIR filter emulating a DSP chip double fir3(M, h, w, x) double *h, *w, x; int M int i; double y read input data shift instruction MAC instruction return y (a) Assume that the function is called with input M 2,h 1 4 2 w-3 11, and 7. What is the returned value y? (b) Is this code implementing a linear or a circular buffer? How can you tell? (c Now, suppose that the input is extended, so thatz-7 5 1 -2 3 2 8 i. Make a table of the numerical values of the contents of the array w for the successive time instants 0 S n 10. In each row, indicate the output y (you will want to have a column for y) Assume a linear buffer for w ii. Now, add rows for the circular buffer, iii. What changes
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
