[Users-fr] Filtrer des données

Serge Steer Serge.Steer at scilab.org
Mar 10 Déc 09:17:10 CET 2013


Le 10/12/2013 08:24, Binoyte a écrit :
> Bonjour,
>
> Je fais face aujourd'hui à une problématique de traitement du signal, 
> ce qui n'est pas du tout ma spécialité. J'ai fait l'acquisition d'un 
> signal qui est assez propre mais quand je le dérive, ça devient 
> inexploitable tant le bruit est important.
>
> Je décide donc de filtrer le signal avant la dérivée en appliquant un 
> filtre passe-bas de type Butterworth ayant une fréquence de coupure de 
> 1/3 F échantillonnage.
>
> Je défini d'abord l'objet filtre `oFiltre` :
>
>     [pols , gain] = zpbutt(ordre, omega_c);
>     oFiltre = gain / real(poly(pols,'s'));
>     oFiltre.dt='c';
>
zpbutt produit un filtre analogique (temps continu) et votre signal est 
discret (echantillonné) il vous faut donc convertir votre filtre en son 
"équivalent " discret
oFiltred=dscr(oFiltre,1/F)
vous pouvez ensuite appliquer le filtre avec
filtree=flts(donnees,oFiltred);

Pourquoi n'utilisez vous pas directement un filtre discret (voir iir ou 
eqiir)

Serge Steer
INRIA
> J'applique ensuite ce filtre à mes données :
>
>     num = coeff( numer(oFiltre) );
>     den = coeff( denom(oFiltre) );
>     filtrees = filter(num, den, donnees);
>
> Les résultats ne sont pas du tout satisfaisants. En comparant avec ce 
> que j'obtiens avec d'autres logiciels, comme Labview par exemple, je 
> constate que les réponses en fréquence des filtres Scilab et Labview 
> sont identiques, mais que les données filtrées sont différentes.
>
> Je pense qu'il y a une erreur dans mon script Scilab, car un détail me 
> dérange. Nul part n'apparaît la fréquence d'échantillonnage. La 
> variable `donnees` n'est qu'un vecteur et la fonction `filter()` n'a 
> aucun moyen pour deviner le pas de temps. Je pense qu'il doit me 
> manquer une mise à l'échelle, à l'instar de la fonction `diff()`
>
> diff(y,deg) * fs;
>
> Si quelqu'un à des pistes je suis preneur !
>
> Merci d'avance,
>
> Benoît
>
>
>
>
> _______________________________________________
> users-fr mailing list
> users-fr at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users-fr

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20131210/ac7672ac/attachment.htm>


Plus d'informations sur la liste de diffusion users-fr