Код: Выделить всё
from scipy.signal import butter
# Parameters
order = 1
sample_count = 2048 # Hz 2048
burst_length = 1650 # samples 1650
nyquist = sample_count / 2 # Nyquist frequency
# Get SOS coefficients
cutoff = 0.01 * nyquist
sos = butter(N=order, Wn=cutoff, btype='high',fs=sample_count, output='sos')
print("SOS Coefficients 1:")
print(sos)
если я использую MathNet.Filtering.IIR.OnlineIirFilter
сигнал правильно фильтруется, используя эти значения с помощью этого метода
Код: Выделить всё
FilterSignalWithButterworth(signal)
Код: Выделить всё
public double[] FilterSignalWithButterworth(double[] signal)
{
double[] coff = [0.98453371, -0.98453371, 0.0, 1.0, -0.96906742, 0.0];
var filter = new MathNet.Filtering.IIR.OnlineIirFilter(coff);
var filteredSignal = filter.ProcessSamples(signal);
return filteredSignal;
}
Есть ли способ рассчитать секции второго порядка БИХ-фильтра с помощью .Net?< /п>
Подробнее здесь: https://stackoverflow.com/questions/792 ... in-c-sharp
Мобильная версия