[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sosfit in filter function
From: |
yamane |
Subject: |
sosfit in filter function |
Date: |
Tue, 8 May 2018 23:21:33 -0700 (MST) |
Hi,
There is a numerical instability on butter function, as described in
https://www.mathworks.com/help/signal/ref/butter.html (topic "Limitations").
Is recommend use [z, p, k] syntax and sosfilt function to apply a
second-order section filter, as described in
https://savannah.gnu.org/bugs/?53855
But, the documentation of SOSFILT is not clear:
https://octave.sourceforge.io/signal/function/sosfilt.html
Someone have an idea about how to use ZPK Design instead a TF Design in this
code below?
+++++++++++++
n = 5;
hpf = 50;
lpf = 10*hpf;
sampling_rate = 44100;
typenoise = noise(60*sampling_rate, 1, 'pink');
[b,a] = butter(n, [hpf/(sampling_rate/2), lpf/(sampling_rate/2)]);
filtered = filter(b, a, typenoise);
audiowrite (filename.wav, filtered, sampling_rate);
freqz (b, a, 4096, sampling_rate)
ax = findall (gcf, 'type', 'axes');
set (ax, 'xlim', [hpf/4 lpf*4]);
set (ax, 'xscale', 'log');
subplot (2, 1, 1);
set (gca, 'ylim', [-35 3]);
-----------------------------
Best regards,
Renato
--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html