The Kaiser window produces reasonably good FIR filters, and can be used in
fir1 and fir2 via
h = fir1( L, omega_cutoff, kaiser(L+1,beta) )
NOTE: the length of the FIR filter returned from fir1 is NOT L;
it is actually L+1.
The parameter L is actually the order of the polynomial that represents
the FIR filter.
For optimal Chebyshev approximation of FIR linear phase digital filters, use
the Remez exchange algorithm, remez.

Need an example