Description
Systems Programming
Programming Assignment 2
Description
The purpose of this assignment is to design, code, and test a C program that serves as a FIR filter for discrete data. The math for an FIR filter is:
M−1
y n( )=h k x n( ) ( −k) foralln
k=0
Requirements
The following are the requirements of the filter:
• The filter shall accept 7 floating point filter coefficients.
• The filter shall accept 512 floating point input data samples
• The filter shall produce 512 output data samples which are the filtered values.
• The calculation of the first 6 outputs result in negative input data index and shall by handled by utilizing the first sample
• The filter coefficients can be found with the Matlab command >h=fir1(6,0.1). • The input data can be generated with Matlab command >x=0.1*randn(1,512).
• The desired output data can be generated with Matlab command >y=filter(h,1,x).
• The filter shall be testing for constant input data with no shift in output data expected
• The filter shall be tested with single value of 1 at location 256 in the input data and the filter coefficients are expected as output data values
• The filter shall be tested with noisy input data with noise reduced output data expected
Assignment Submission Requirements
The following are the submission requirements for the assignment:
• The files will be submitted to Canvas
• The C code with compile instructions in the banner
• The test code with compile instructions in the banner
• A screen shot of your filter coefficients test of your code showing the correct filter coefficients produced.
Reviews
There are no reviews yet.