=zi, axis=axis)

    return out, zf


def ma_filter(N, X, Zi):
    &#34;&#34;&#34;Run a moving average filter over the data.

    Parameters
    ----------
    N : int
        Length of the filter.
    X : array, shape=(n_channels, n_samples)
        The raw data.
    Zi : array
        The initial filter conditions.

    Returns
    -------
    X : array
        The filtered data.
    Zf : array
        The new fiter conditions.
    &#34;&#34;&#34;
    if Zi is None:
        Zi = np.zeros([len(X), N])

   