@classmethod
def butter(cls, filtertype, freq, samplerate, order=5, numid=None):
    """
        filtertype: one of 'low', 'high', 'band'
        freq      : cutoff freq -- (low, high) for bandpass filter
        samplerate: samplerate of the simulation
        order     : order of the filter

        Returns --> a Filter
        """
    assert filtertype in ('low', 'high', 'band')
    from sndfileio import dsp
    b, a = dsp.filter_butter_coeffs(filtertype, freq, samplerate=samplerate,
        order=order)
    return cls(b, a, numid=numid)
