Octave CIC Filter

Gast #2351802
Lesenswert?

Hallo,

Ich möchte mich etwas näher in DSPs einarbeiten und bin gerade dabei 
einen CIC Filter in Octave zu implementieren.
Ich arbeite mit der Übertragungsfunktion um daraus dann den Frequenzgang 
zu erschließen. Allerdings glaube das ich genau da ein Denkfehler 
gemacht habe.

Hier ist mein Octave Code:
1
R=32; % Dezimierungsfaktor
2
N=3; % Anzahl Stufen
3
M=1;
4
f=[0:10:2000000]; % Frequenz bis 2 MHz da Systemtakt 4MHz
5
w=f/4000000; % Frequenz bezogen auf den Systemtakt
6
z=exp(j*w); % Ist hier vllt mein Fehler 
7
hz=((1-z.^(-R*M))./(1-z.^(-1))).^N;
8
plot(w,abs(hz));
Gast #2352157
Lesenswert?

tm schrieb:
> Hallo,
>
> Ich möchte mich etwas näher in DSPs einarbeiten und bin gerade dabei
> einen CIC Filter in Octave zu implementieren.
> Ich arbeite mit der Übertragungsfunktion um daraus dann den Frequenzgang
> zu erschließen. Allerdings glaube das ich genau da ein Denkfehler
> gemacht habe.
>
> Hier ist mein Octave Code:
> R=32; % Dezimierungsfaktor
>
> N=3; % Anzahl Stufen
>
> M=1;
>
> f=[0:10:2000000]; % Frequenz bis 2 MHz da Systemtakt 4MHz
>
> w=f/4000000; % Frequenz bezogen auf den Systemtakt
>
> z=exp(j*w); % Ist hier vllt mein Fehler
>
> hz=((1-z.^(-R*M))./(1-z.^(-1))).^N;
>
> plot(w,abs(hz));

Hey,

Ich glaub fast ich hab alles richtig gemacht musste nur noch hz in dB 
umwandeln und jetzt siehts eigentlich recht ordentlich aus.

Falls doch noch jemand einen Fehler entdeckt bitte einfach raus damit ;)

Gruß Tobias

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren