Bonjour,
Je pensais pouvoir résoudre ce problème qui me parait simple en 2 minutes mais apparemment pas.
Voilà je dois réaliser un simple filtre RC passe haut pour supprimer une composante continue.
Je veux pouvoir calculer, en fonction d'une fréquence de coupure donnée, l'atténuation que le filtre effectuera à une autre fréquence.
Si on se trouve dans la pente du filtre c'est facile c'est 20dB/décade, mais coté hautes fréquence on se trouve dans 'l’arrondi' de la réponse.
J'ai donc rentrer le module en dB de la fonction de transfert dans matlab (scilab exactement) qui est: 20log(f/f0)-10log(1+(f/f0)^2).
J'ai créé un vecteur f de 0.1 à 100 qui est mon vecteur des fréquences et j'ai choisi comme fréquence de coupure fc=1Hz.
Seulement, quand je trace la réponse, à fc= 1Hz l'amplitude n'est pas à -3dB comme elle le devrait.
programme:
clear all
fc=1;
f=linspace(0.1,100,10000);
y=20*log(f/fc)-10*log(1+(f/fc)^2);
plot(log(f/fc),y)
set(gca(),"grid",[1 1])
Pièce jointe supprimée
La réponse est bien celle d'un filtre passe haut du 1er ordre mais à 1Hz l’atténuation est de seulement 1.5 dB à peut près.
Mon but final est de savoir quelle est l’atténuation à par exemple 5Hz avec une fréquence de coupure de 1Hz.
Merci,
Adrien
Bonjour benou.1 et tout le groupe
Pour être conforme à l'épinglé
http://forums.futura-sciences.com/el...ointes-pj.html
l'image pdf a été supprimée. Elle doit être présentée à nouveau, en extension jpg, gif ou png.
.
-----