Filtre passe-bas en python
Je suis en train de convertir un code Matlab pour Python. Je veux mettre en œuvre fdesign.lowpass()
de Matlab, Python. Ce sera l'exacte substitut de ce code Matlab à l'aide de 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);
OriginalL'auteur marriam nayyer | 2013-07-24
Vous devez vous connecter pour publier un commentaire.
Un très de base de l'approche serait d'invoquer
Cela devrait donner un filtre similaire à celui qui finit par être fait dans le code Matlab.
Si votre objectif est d'obtenir fonctionnellement équivalent résultats, ce qui devrait fournir une utile
le filtre.
Cependant, si votre objectif est que le code python donnent exactement les mêmes résultats,
ensuite, vous aurez à regarder sous le capot de la
design
appel (en Matlab); De mon vérification rapide, il n'est pas trivial pour analyser le Matlab appels d'identifier exactement ce qu'il fait, c'est à dire que la conception de la méthode utilisée et ainsi de suite, et comment la carte qui en correspondantscipy
appels. Si vous voulez vraiment de compatibilité, et vous avez seulement besoin de faire cela pour un nombre limitéde filtres, vous pouvez, par contre, regardez la
Hd.Numerator
champ -- ce tableau de nombres correspond directement à lah
variable dans le code python ci-dessus. Donc, si vous copiez cesles nombres dans un tableau à la main, vous allez obtenir numériquement des résultats équivalents.
OriginalL'auteur Dave