rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Filtrage Passe-bande (Matlab)

Bonnassie, le vendredi 20 janvier 2006 à 16:01:00
Bonjour,

Je cherche à réaliser un filtre passe-bande sous matlab. Je travaille avec un bruit d'une durée de 5ms et échantillonné à 4MHz. Je souhaite filtrer ce bruit de façon à ce qu'il existe dans une bande de 3KHz centrée sur la fréquence de 16KHz avec fc1=14.5KHz et 17.5KHz. J'ai implémenté une petite routine sous Matlab. J'arrive à visualiser une magnitude correcte de mon filtre (fig1) mais mon bruit sortant du filtre est "astronomique" (fig2). Du coup, lorsque que je regarde le spectre de ce bruit (fig3), je n'obtiens rien. Plutôt que de grands discours, je vous montre ma routine pour que vous puissiez la tester à l'occasion et voir ce qu'il en est. Si quelqu'un a une idée à me suggérer, je suis preneuse.

Merci d'avance.

Alek.xandra.

Programme : ****************************************

clear all;
close all;

B = 3000; % Bande spectrale en Hz
T = 0.005; % Durée de l'impulsion en ms
f0 = 16000; % Fréquence centrale du code 22 en Hz

Fe = 4000000; % Frequence d echantillonnage

t = 0:1/Fe:T; % Balayage en temps
f = (0:length(t)-1)*Fe/length(t); % Balayage en frequence

X = 0.5*randn(size(t)); % Bruit aleatoire de matlab

K=1; % Gain du filtre
wp = 16000; % Fréquence centrale
Qp=14500/3000; % Facteur de qualité fc1/bande
coef=K/Qp;

B=[0 wp.*coef 0];
A=[1 wp./Qp wp.^2];

figure(1);
freqs(B,A,logspace(4,5,100));
title('Réponse fréquentielle du filtre passe-bande','FontSize',16);

Y=filter(B,A,X);

figure(2);
plot(t,Y);grid;
title('Bruit filtré','FontSize',16);
xlabel('Temps (en s)','FontSize',14);
ylabel('Amplitude (en V)','FontSize',14);

figure(3);plot(f,fftshift(fft(Y)));grid;
title('Spectre du bruit filtré','FontSize',16);
xlabel('Fréquence (en Hz)','FontSize',14);
ylabel('Amplitude (en V)','FontSize',14);

Fin du programme ************************
Répondre à Bonnassie  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nedjla, le lundi 20 février 2006 à 14:01:19
je veux filtrer un signal pseudo aleatoire par un filtre passe bande de 50MHz a 8000MHz
merci
Répondre à nedjla

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 zanouni, le vendredi 25 janvier 2008 à 15:04:17
salut
j'ai un signal qui est issu d'un accélerometre et je voudrais filtré ce signal des valeurs d'accélerations dynamiques pour ne laisser que les valeurs de gravitation g.
comment je pourrais réaliser ca avec un filtre passe bas sous matlab
Répondre à zanouni
Logiciels pertinents trouvés dans les téléchargements
Télécharger DS Monkey Audio - Filtre APE 1.00DS Monkey Audio - Filtre APE - Le format MonkeysAudio (extension *.ape) est un format de compression audio lossless (sans pertes) permettant de réduire la...Catégorie: Plugins audio
Licence: Freeware/gratuit
Télécharger Proxomitron 4.5Proxomitron - Proxomitron est un logiciel jouant le rôle de filtre entre Internet et vos navigateur afin de supprimer les éléments...Catégorie: Anonymat/Confidentialité
Licence: Freeware/gratuit
Télécharger Casc'ADSL 0.99 build 4209Casc'ADSL - Casc'ADSL est un outil destiné aux Internautes se connectant via le service d'accès distant et désireux de maintenir leur...Catégorie: ADSL
Licence: Freeware/gratuit
Télécharger Bandwidth Meter and Diagnostics 1.1Bandwidth Meter and Diagnostics - Quand vous venez d'acquérir une nouvelle connexion Internet ou lorsque vous avez des problèmes de connexion, vous voudriez...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Filtrage Passe bande (Matlab) »