Maximal passband error = 0.0706 Maximal stopband error = 0.0852
** Filter #1 is the unwindowed design, and Filter #2 is the kaiser design.
From the comparison above, we can see that both designs have critical passband and stopband edges, but the kaiser one has a smaller maximal passband error as we expected. Also, the kaiser one has a smaller attenuation on stopband compare with the unwindowed one. The group delay responses of two designs are different, the Kaiser one only has 20th order, so the group delay is 10, not 11 as the unwindowed one.
(d)The zeros of the three windowed designs
** Filter #1 is the “boxcar” design, and Filter #2 is the Hann design, Filter #3 is the Kaiser design.
From figure above, we can see that Hann design has a zero far from unit circle, which is corresponding to the slower attenuation compared to the other two designs. The zeros of “boxcar” design are similar to the Kaiser design.
- Using Matlab’s firls function to meet the original design specification.
Worst gain = 1.5990 Largest tap weight coefficient = 0.3477
Maximal passband error = 0.0403 Maximal stopband error = 0.1137
** Filter #1 is the 2(a) design, and Filter #2 is the “boxcar” design.
From the comparison above, we can see that the “boxcar” design has a more critical passband and stopband edge, but the LMS one has a smaller maximal passband error as we expected. Also, the LMS one has a larger attenuation on stopband than the “boxcar” one. The group delay responses of two designs are the same.
(b) Using Matlab’s fircls1 function to meet the original design specification.
Worst gain = 1.6771 Largest tap weight coefficient = 0.3464
Maximal passband error = 0.0516 Maximal stopband error = 0.0782
** Filter #1 is the 2(a) design, and Filter #2 is the 2(b) design.
From the comparison above, we can see that the 2(b) design has a more critical passband and stopband edge, but the 2(a) one has a smaller maximal passband error. Also, the 2(a) one has a larger attenuation on stopband than the 2(b) one. The group delay responses of two designs are the same.
(c)The zeros of the two LMS designs
** Filter #1 is the 2(a) design, and Filter #2 is the 2(b) design.
From figure above, we can see that 2(b) design has a zero far from unit circle, which is corresponding to the slower attenuation compared to the other design. The zeros around the unit circle are similar to each other.
- Part 3: Equiripple Method
(a) Using Matlab’s firgr function to meet the original design specification (uniform error weight)
Worst gain = 1.6646 Largest tap weight coefficient = 0.3500
Maximal passband error = 0.0538 Maximal stopband error = 0.0538
** Filter #1 is the 3(a) design, and Filter #2 is the “boxcar” design.
From the comparison above, we can see that the “boxcar” design has a more critical passband and stopband edge, but the 3(a) one has a smaller maximal passband error. Also, the “boxcar” one has a larger attenuation on stopband than the 3(a) one. The group delay responses of two designs are the same.
(b) Using Matlab’s firpm function to meet the original design specification
Worst gain = 1.6639 Largest tap weight coefficient = 0.3476
Maximal passband error = 0.0638 Maximal stopband error = 0.0594
** Filter #1 is the 3(a) design, and Filter #2 is the 3(b) design.
From the comparison above, we can see that the 3(b) design has a more critical passband and stopband edge. And the stopband error is 0.0488 (which is consistent with 0.0538*(1-20%)=0.04304), the passband error is 0.0639 (which is consistent with 0.0538/(1-20%)=0.06725). The group delay responses of two designs are the same.
(c) The zeros of the two equiripple designs
** Filter #1 is the 3(a) design, and Filter #2 is the 3(b) design.
From figure above, we can see that 3(a) design has a zero far from unit circle, which is corresponding to the slower attenuation compared to the other design (almost no attenuation on the figure shown ). There is only one zero stays outside the unit circle for 3(b) design, which is the minimum phase design.
(a)Table the features for the 7 designed FIRs:
(b) From the figure followed, we can figure out that the group delay is 22-11=11 samples regardless of the input frequency.
(c) Compare the original, mirror, and complement FIR’s impulse, magnitude frequency, and group delay response
**Filter #1 is the original filter, Filter #2 is the mirror filter, and Filter #3 is the complement filter.
(d) Maximal output is 1.8372, which equals to the worst gain prediction of this filter.
- Part 5: Run-time Architecture
(a) N = 8, M=1; N = 12, M=1; N = 16, M=1;
Round off error
N=8 N=12
N=16
From the comparison above, we can see clearly that as the value of N increases, the round-off error decreases.
Bits of precision is N-1-1=N-2
(b) Choose two 12-bit address space which has memory cycle time of 12 ns, so the maximum run-time filter speed is 1/ (12ns/cycle*16 bits) =1/ (192 ns/filter cycle) =5.21*106 filter cycles/sec
- The maximal of the output time-series is 1.1341. It is reasonable, because it is smaller than the worst case gain which is 1.8372. So this agrees with the predicted filter response.
- The “chirp” function makes a short, high-pitched sound, and it sounds four times, which is corresponding to the 4*fs. When all the .wav files are played, we can hear obviously that the frequency of output sound is much lower than the frequency of input sound, which means that the filter did filter high-frequency components out.
From the figure above, we can see the high-frequency components are gone, which agrees with the predicted filter response, a low-pass filter.
Summary:
Through this project, the detailed processes of designing a filter by three different methods have been understood. And we know more about all the parameters which would affect properties of the filters, and how to use different methods to design them and make best trade-off between each other.