<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote">Le 10 décembre 2013 09:17, Serge Steer <span dir="ltr"><<a href="mailto:Serge.Steer@scilab.org" target="_blank">Serge.Steer@scilab.org</a>></span> a écrit :<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div class="im">
<div>Le 10/12/2013 08:24, Binoyte a écrit :<br>
</div>
</div><blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Bonjour,<div class="im"><br>
<br>
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. <br>
<br>
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. <br>
<br>
Je défini d'abord l'objet filtre `oFiltre` : <br>
<br>
<span style="font-family:courier new,monospace"> [pols
, gain] = zpbutt(ordre, omega_c);<br>
oFiltre = gain / real(poly(pols,'s'));<br>
oFiltre.dt='c';</span><br>
<br>
</div></div>
</div>
</div>
</div>
</blockquote>
zpbutt produit un filtre analogique (temps continu) et votre signal
est discret (echantillonné) il vous faut donc convertir votre filtre
en son "équivalent " discret<br>
oFiltred=dscr(oFiltre,1/F)<br>
vous pouvez ensuite appliquer le filtre avec <br>
filtree=flts(donnees,oFiltred);<br>
<br>
Pourquoi n'utilisez vous pas directement un filtre discret (voir iir
ou eqiir)<span class=""><font color="#888888"><br></font></span></div></blockquote><div><br>Parce que là ça dépasse déjà mes compétences. A part les filtres analogiques avec ampli op en TP de prépa, je ne connais pas grand chose d'autre. Je suis plutôt mécanicien de formation. Mais je vais regarder quand même, si ça m'évite quelques lignes dans le script.<br>
<br></div><div>Merci pour votre aide et votre réactivité. J'ai réussi à obtenir ce que je souhaitais.<br><br></div><div>Benoît<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span class=""><font color="#888888">
<br>
Serge Steer<br>
INRIA<br>
</font></span><blockquote type="cite"><div class="im">
<div dir="ltr">
<div>
<div>
<div>J'applique ensuite ce filtre à mes données : <br>
<br>
<span style="font-family:courier new,monospace"> num =
coeff( numer(oFiltre) );<br>
den = coeff( denom(oFiltre) );<br>
filtrees = filter(num, den, donnees);</span><br>
<br>
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. <br>
<br>
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()`<br>
<br>
<span style="font-family:courier new,monospace">
diff(y,deg) * fs; </span><br>
<br>
</div>
Si quelqu'un à des pistes je suis preneur !<br>
<br>
</div>
Merci d'avance,<br>
<br>
</div>
Benoît<br>
<div>
<div>
<div>
<div><br>
<br>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div><div class="im"><pre>_______________________________________________
users-fr mailing list
<a href="mailto:users-fr@lists.scilab.org" target="_blank">users-fr@lists.scilab.org</a>
<a href="http://lists.scilab.org/mailman/listinfo/users-fr" target="_blank">http://lists.scilab.org/mailman/listinfo/users-fr</a>
</pre>
</div></blockquote>
<br>
</div>
<br>_______________________________________________<br>
users-fr mailing list<br>
<a href="mailto:users-fr@lists.scilab.org">users-fr@lists.scilab.org</a><br>
<a href="http://lists.scilab.org/mailman/listinfo/users-fr" target="_blank">http://lists.scilab.org/mailman/listinfo/users-fr</a><br>
<br></blockquote></div><br></div></div></div>