# Creating a time domain filter from a frequency domain plot

In figure 11.23 of Monzingo's Introduction to Adaptive Arrays, the author uses a sinewave in the frequency domain to model the amplitude ripple in the passband of a channel of a receiver. 1. What does he mean by array bandwidth?
2. How does one create a time domain filter (FIR or IIR) with this custom/arbitrary frequency response?
3. What are other conventional channel amplitude and phase ripple filter models?

I don't know much about arrays, so I can only answer the second part of your question.

$$A(\omega)=(1+R\cos\omega T_0)\textrm{rect}\left(\frac{\omega}{2\pi B}\right)\tag{1}$$

where $\textrm{rect}()$ is the rectangular function. Equation (1) can be rewritten as

$$A(\omega)=\left(1+\frac{R}{2}e^{j\omega T_0}+\frac{R}{2}e^{-j\omega T_0}\right)\textrm{rect}\left(\frac{\omega}{2\pi B}\right)\tag{2}$$

which shows that $A(\omega)$ is a sum of three ideal low-pass filters with the same cut-off frequency, but with different delays ($0$, $-T_0$, and $T_0$) and different scaling factors. It is an ideal system and can only be approximated by a real system. The implementation suggested by (2) is a parallel connection of 3 low-pass filters with different delays and scaling factors. Note that in order for a causal filter to be able to approximate this ideal system reasonably well, you have to add a delay $\tau>T_0$. So the desired complex frequency response which you can base your design on is

$$H(\omega)=A(\omega)e^{-j\omega\tau}=\left(1+\frac{R}{2}e^{j\omega T_0}+\frac{R}{2}e^{-j\omega T_0}\right)e^{-j\omega\tau}\textrm{rect}\left(\frac{\omega}{2\pi B}\right)$$

Note that each of the 3 low-pass filters is a linear phase filter. So I would suggest you use FIR filters to approximate $H(\omega)$. You first design an FIR low-pass filter with the desired cut-off frequency with group delay $\tau-T_0$ (in samples). For a linear-phase filter, the delay determines the filter length $N=2*$(delay in samples)$+1$. So by choosing $\tau$ you also choose the filter length. If the impulse response of this filter is $h(n)$, and if $n_0$ is the number of samples corresponding to $T_0$, then the total impulse response is given by

$$g(n)=\frac{R}{2}h(n)+h(n-n_0)+\frac{R}{2}h(n-2n_0)$$