Design an optimal equiripple glp fir filter
In this project, you will design a computationally efficient digital GLP FIR band pass filters to meet the following specifications. You must use the specbox.m routine to verify that specifications are satisfied.
Passband ripple: ±0.005
Lower and upper passband cutoff frequencies: 0.125 and 0.335
Stopband ripple: -42 dB
Lower stopband and upper stopband cutoff frequencies: 0.085 and 0.36
Note: frequencies are fractional frequencies.
1. Write your own Matlab module for Kaiser window-based design of GLP FIR filters. You can use Matlab’s routines for generating the Kaiser window. Design a filter that meets all specifications, and show your results in support. Comment on the path your design process took, in particular on observations made and actions taken on the basis thereof.
2. Use the provided freqsampl.m module to design a filter that meets the specifications. Show all results. Comment on the design path as before.
3. Design an optimal equiripple GLP FIR filter using the Matlab function firpm. Comment on the design path.
4. Contrast the above design processes – and their results – with each other.
5. (Graduate students only) Execute the coefficient scaling for your FIR designs, by storing all filter coefficients as fractions of the largest magnitude. Quantize these coefficients to B fractional bits and evaluate how large B must be, for each of the FIR designs, so that the specifications are not exceeded by more than 1%. Observe and explain. Assuming that your filters will be implemented in hardware utilizing 16 bits for fixed point arithmetic, which of the FIR designs could be implemented for 1% tolerance interval?
Show all steps and arguments. Justify your actions. Make observations and contrast them with your expectations. Show that the designed filters have GLP. One report per group is expected.