aspcore.filter.FilterSumFreq

class aspcore.filter.FilterSumFreq(tf=None, ir=None, num_in=None, num_out=None, ir_len=None, num_freq=None, data_dims=None)

Bases: object

ir is the time domain impulse response, with shape (numIn, numOut, irLen) tf is frequency domain transfer function, with shape (2*irLen, numOut, numIn), it is also possible to only provide the dimensions of the filter, numIn and numOut, together with either number of frequencies or ir length, where 2*irLen==numFreq dataDims is extra dimensions of the data to broadcast over. Input should then be with shape (*dataDims, numIn, numSamples), output will be (*dataDims, numOut, numSamples)

If you give to many arguments, it will propritize tf -> ir -> numFreq -> irLen

__init__(tf=None, ir=None, num_in=None, num_out=None, ir_len=None, num_freq=None, data_dims=None)

Methods

__init__([tf, ir, num_in, num_out, ir_len, ...])

process(samples_to_process)

process_euclidian(samples_to_process)

Will filter every channel of the input with every channel of the filter outputs shape (filt0)

process_freq(freqs_to_process)

Can be used if the fft of the input signal is already available.

process_without_sum(samples_to_process)

set_ir(ir_new)

process_euclidian(samples_to_process)

Will filter every channel of the input with every channel of the filter outputs shape (filt0)

process_freq(freqs_to_process)

Can be used if the fft of the input signal is already available. Assumes padding is already applied correctly.