Поиск представления разделов второго порядка БИХ-фильтра в C#Python

Программы на Python
Ответить
Anonymous
 Поиск представления разделов второго порядка БИХ-фильтра в C#

Сообщение Anonymous »

Мне дали небольшой код Python, который быстро вычисляет и возвращает представление разделов второго порядка БИХ-фильтра.

Код: Выделить всё

    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)
Это печатает массив, который представляет собой значение, которое я могу использовать в IIRFilter [0.9845337085968967, -0.9845337085968967, 0.0, 1.0, -0.9690674171937933, 0.0]
если я использую 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»