Lowpass Filter in python
Ich versuche konvertieren von Matlab-code auf Python. Ich möchte zu implementieren fdesign.lowpass()
von Matlab in Python. Was die genaue Ersatz von dieses Matlab-code mit scipy.signal.firwin()
:
demod_1_a = mod_noisy * 2.*cos(2*pi*Fc*t+phi);
d = fdesign.lowpass('N,Fc', 10, 40, 1600);
Hd = design(d);
y = filter(Hd, demod_1_a);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen sehr grundlegenden Ansatz würde sein, rufen
Diese Rendite einen filter ähnliche, um die eine, die endet in der Matlab-code.
Wenn Ihr Ziel ist zu erhalten, funktional äquivalente Ergebnisse, sollte dies nützlich sein, um einen
filter.
Allerdings, wenn Ihr Ziel ist es, dass der python-code genau die gleichen Ergebnisse,
dann musst du mal unter die Haube schauen der
design
rufen Sie (in Matlab); Aus meinem quick-check, ist es nicht trivial, zu analysieren, durch die Matlab aufruft, um genau zu identifizieren, was es tut, d.h. das, was design-Methode verwendet, und so weiter, und so ordnen, dass in entsprechendenscipy
Anrufe. Wenn Sie wirklich wollen, Kompatibilität, und Sie müssen diese Einstellung nur für eine begrenzte Anzahlder Filter kann mit der hand, Blick auf die
Hd.Numerator
Feld -- dieses array von zahlen ist, entspricht direkt derh
variable in der python-code oben. Also, wenn Sie kopieren Sie diesezahlen in ein array von hand, erhalten Sie numerisch gleichwertige Ergebnisse.