À basse fréquence, filtre passe-haut pour MATLAB
Je vais avoir vraiment du mal à essayer de créer/utiliser un filtre en MATLAB qui est assez précis à très basses fréquences.
Je suis intéressé par toute une gamme de signaux entre 5 et 50 hz, la bande haute n'est pas trop un souci, ce que je veux vraiment faire, c'est de filtrer tout au dessous de 5 hz. Cependant, je suis la recherche du roll-off avec de Butterworth filtres de fait très peu en termes de filtrage, c'est juste atténuer le signal à environ la moitié de ce que le signal normal est.
J'ai essayé les deux méthodes. A été en utilisant MATLABs outil de filtre fdatool
et l'autre était une méthode manuelle ci-dessous:
filtLow = 5;
filtHigh = 50;
Fs = 1000;
[b, a] = butter(1, filtLow/(Fs/2), 'high');
y = filtfilt(b, a, data);
ou
[b, a] = butter(1, [filtLow/(Fs/2), filtHigh/(Fs/2)]);
y = filtfilt(b, a, data);
Quelqu'un peut-il me donner une suggestion ou un code qui peut me donner de meilleurs résultats?
- Comment avez-vous conçu votre filtre de Butterworth? Pouvez-vous mettre un peu de code?
- J'ai essayé les deux méthodes. A été en utilisant MATLABs outil de filtre (fdatool) et l'autre était une méthode manuelle ci-dessous:
filtLow = 5; filtHigh = 50; Fs = 1000; [b, a] = butter(1, filtLow/(Fs/2), 'high'); y = filtfilt(b, a, data); OR [b, a] = butter(1, [filtLow/(Fs/2), filtHigh/(Fs/2)]); y = filtfilt(b, a, data);
- À l'avenir, merci de poster le code en question et de le formater correctement.
- Désolé, accidentellement posté le commentaire donc essayé de modifier rapidement. Toutes les suggestions?
- double possible de filtrage passe-Haut dans MATLAB
Vous devez vous connecter pour publier un commentaire.
Si vous voulez les signaux dans la gamme de 5-50Hz et rien d'autre, l'ordre de votre filtre sera probablement finissent par être assez élevé. Aussi, un filtre de butterworth, bien que la phase linéaire et plat de la réponse en fréquence dans la bande passante n'est pas la meilleure pente de passer de la bande de rejet. Si vous avez un peu de distorsion, un vélo elliptique ou un filtre bessel serait de vous donner un beaucoup plus serré pente. Aussi, si vous utilisez 5 Hz comme votre fréquence de coupure, il devrait, en théorie, être le point à -3 dB, ce qui est pourquoi vous voyez l'atténuation de 1/2. Vous aurez besoin de considérer certaines spécifications.
Vous en tenir compte pour déterminer souhaité de réalisation atténuation. Maintenant, il semble que si vous voulez infini d'atténuation à une seule fréquence. Malheureusement, vous aurez besoin de décider ce que atténuation sur une gamme de fréquence est acceptable pour votre conception.
J'ai essayé ma main à la passe haute partie et est venu avec les éléments suivants:
Me donne ->
Qui semble assez raisonnable.