Forum: Digitale Signalverarbeitung / DSP / Machine Learning FIR Filter Verstärkung größer 1?


von TM (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Bin grad dabei einen FIR Filter in Octave zu modellieren.

fir.m
1
function [fw,h]=fir(M,h,fs,step)
2
%Autor: Tobias Markus
3
%FIR Filter with M koeffizients
4
%fs is the sampling frequency and 
5
%h is the koefficent vector must have the size
6
%of M. And step defines the steps between 0Hz and fs
7
n=0;
8
m=0;
9
sum =0;
10
f=[0:step:fs/2];
11
hz=[];
12
% Calculating the transfer function
13
while m < (fs/(2*step)+1)
14
while n < M
15
  sum = sum +h(n+1)*exp(-j*n*(2*pi*f(m+1))/fs);
16
n=n+1;
17
end
18
hz(m+1)= sum;
19
sum=0;
20
m=m+1;
21
n=0;
22
end
23
h=hz;
24
fw=f;
25
endfunction
Hauptprogramm:
1
h=[];
2
h(1)=-0.045;
3
h(2)=0;
4
h(3)=0.075;
5
h(4)=0.159;
6
h(5)=0.225;
7
h(6)=0.25;
8
h(7)=0.225;
9
h(8)=0.159;
10
h(9)=0.075
11
h(10)=0
12
h(11)=-0.045
13
fs=16000;
14
M=11;
15
step=10;
16
f=[];
17
w=[];
18
[f,w]=fir(M,h,fs,step);
19
plot(f,abs(w));

Wenn ich nun den Filter plotten lasse habe ich Verstärkungen größer 
eins.
Wie kann das sein hab ich einen Fehler gemacht?

von N. M. (mani)


Lesenswert?

Ist zwar schon eine Weile her, aber ist die Gleichspannungsverstärkung 
(also bei f(0) ) nicht die Summe der Filterkoeffizienten!?
Wenn ich mich gerade nicht verrechnet habe, dann müsste es A(0)=1,078 
sein.
Das könnte doch einigermaßen mit deinem Bild zusammenpassen.

Grüße

von TM (Gast)


Lesenswert?

Ahh ok das kann sein.
Werd mich wohl nen bisschen genauer reinlesen müssen.

Gruß Tobias

von z^-1 (Gast)


Lesenswert?

TM schrieb:
> Wie kann das sein hab ich einen Fehler gemacht?

Du hast deine Filterkoeffizienten nicht richtig normiert.

von TM (Gast)


Lesenswert?

Um die gehts nicht, geht nur um den Algorithmus.

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.