Forum: Digitale Signalverarbeitung / DSP / Machine Learning matlab verständnisproblem


von Herberdt (Gast)


Lesenswert?

hi, ich bin grad dabei einen hochpassfilter zu entwickeln, die 
übertragungsfunktion von filter hab ich schon, nun muss nur noch der 
filter auf die messerte losgelassen werden, ich steh aber grad echt aufm 
schlauch und weiss nicht so recht wie das geht (bitte nicht lachen ;-)), 
die lösung meines problems ist warscheinlich nur eine zeile ^^
hier ein auszug aus meinem M-file:
1
%Messwerte im Objekt A
2
3
fgu=1;% untere Grenzfrequenz
4
fgo=30;% obere Grenzfrequenz
5
6
% Prototyp des Butterworth Filters 3.Ordnung
7
n=3;
8
[b_prot,a_prot]=butter(n,1,'s');
9
% Transfornation in einen Hochpassfilter
10
[bHP,aHP]=lp2hp(b_prot,a_prot, 2*pi*fgu);
11
12
% Dikretisierung
13
[bdHP,adHP]=bilinear(bHP,aHP,fT);
14
sys=tf(bdHP,adHP,T);

des weiteren bin ich auf das fdatool von matlab gestoßen, als was sollte 
ich da am besten die filter exportieren, das ich sich dann auch noch 
"einfach" verwenden kann

liebe grüße herberdt

von Michael L. (Gast)


Lesenswert?

Hallo Herbert,

normalerweise geht das so:

s: Signal
fs: Abtastfrequenz
n: Filterordnung
fg1: untere Grenzfrequenz
fg2: obere Grenzfrequenz

[b,a]=butter(n,fg1/(fs/2),'high');
s = filter(b,a,s);

[b,a]=butter(n,fg2/(fs/2),'low');
s = filter(b,a,s);


Mit dem FDA-Tool kannst Du auch andere Filtertypen als den 
Butterworth-Filter verwenden. Das Tool berechnet Dir die Koeffizienten. 
Die Funktion 'filter' verwendest Du in ähnlicher Weise.


Gruß,
  Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.