HIlfe bei Übertragungsfunktion von CIC-FIlter

OP #2193947
Hallo zusammen,

ich versuche seit gestern das Verhalten eines CIC-Filters im Zeit und 
Frequenzbreich mit Matlabzu untersuchen.daher wollte ich die 
Impulsantwort und seine Reaktion auf eine beliebige Signalfolge im 
Zeitbereich simulieren. hier ist seine Übertragungsfunktion:

h(z)=[(1-z^(-R*M))/(1-z^-1)]^N

R=10,M=1, N=8 als Beispiel
mein problem ist die Argumente für die funktion tf() zu bestimmen, weis 
Jemand, wie man die Koeffizienten von der Zähler und Nennerploynom 
bestimmen kann.

ich bin für jede Hilfe sehr dankbar

Gruß
Lab
Gast #2193996
Kenne mich in Matlab nicht sonderlich aus.
Könnte dass so passen?
1
%CIC-Filter
2

3
clear all;
4
close all;
5

6
R=10;
7
M=1;
8
N=8;
9

10
%sys = tf(num,den,Ts)
11
z=tf('z'); %Sampletime noch angeben?
12

13
h= (1-z^(-R*M))/(1-z^(-1))^N;
14

15
num= h.num{1};
16
denum= h.den{1};
17

18
fvtool(num,denum);

Wenn das so passt könnte man noch kurz ne Funktion oder so stricken.
Grüße
Angehängte Dateien:
Gast #2194041
Gerade ausprobiert mit nem kleinen FIR-Filter.
Händisch berechnete & gezeichnete Impulsantwort stimmt mit der von 
MATLAB überein.

G(z) = z * z/(z-1)^2 - 2z/(z-1)^2 * z^-4 + z/(z-1)^2 * z^-9
        Gerade m.        Gerade m.              Gerade m.
        Steigung 1       Steigung -2            Steigung 1

Jeweils bei z              z^-4                   z^-9

Also ein Dreieck:
                 +
                 |
                 |
                 |
                 |
                5|      /´ \
                 |    ,´    `\
                 |  ,´        `.
                1| /            `.
                 |
                 +------------------+
                 0        4      8

Grüße
Angehängte Dateien:
OP #2194318
Hallo NopNop,

danke sehr Ihre Hilfe; ich habe es probiert und es klappt bei  mir 
immer noch nicht ;ich habe so Ihr code probiert
1
R=10;
2
M=1;
3
N=8;
4
Ts=0:001:1;
5
sys = tf(num,den,Ts);
6

7
h= (1-z^(-R*M))/(1-z^(-1))^N;
8
num= h.num{1}
9
denum= h.den{1};
10
fvtool(num,denum);

bokomme folgende fehler
1
error: `num' undefined near line 5 column 10
2
error: evaluating argument list element number 1
3
>>>error: evaluating argument list element number 1
4
error: called from:

konnten Sie mir bitte Ihr code bisschen erklären
danke im voraus


PS
sorry ich arbeite nicht mit matlab sondern Octave
aber bis zu fvtool sollte es eigentlich gehen
Gast #2195287
gerbej lab schrieb:
> sorry ich arbeite nicht mit matlab sondern Octave

Dann sollte man in seiner Frage auch nicht schreiben dass man Matlab 
verwendet ;-)
Bei der Umsetzung in Octave kann ich Dir nicht helfen.
Sollte aber gleich bzw. ähnlich gehen.

gerbej lab schrieb:
> ich habe es probiert und es klappt bei  mir
> immer noch nicht ;ich habe so Ihr code probiert

Das wundert mich nicht. So wie Du das geschrieben hast KANN es garnicht 
funktionieren. Wo definierst Du denn "num" und "den" ?
1
R=10;
2
M=1;
3
N=8;
4
Ts=0:001:1;
5
sys = tf(num,den,Ts); % <== Fehler, da num&den nicht definiert
6

7
h= (1-z^(-R*M))/(1-z^(-1))^N;
8
num= h.num{1}         % <== Erst hier wird num definiert
9
denum= h.den{1};      % <== den gibt es garnicht, sondern nur "denum"
10
fvtool(num,denum);

gerbej lab schrieb:
> konnten Sie mir bitte Ihr code bisschen erklären
1
%CIC-Filter
2
clear all;  %Alle Variablen löschen
3
close all;  %Alle Fenster schließen
4

5
%===================================
6
% Parameter
7
%===================================
8
R=10;
9
M=1;
10
N=8;
11

12
%z = tf('z',Ts) to specify a TF model with sample time Ts using a rational
13
%function in the discrete-time variable, z. Set Ts = -1 or Ts = [] to
14
%leave the sample time unspecified.
15

16
z=tf('z', -1);
17

18
%Erzeugen der Impulsantwort
19
h= (1-z^(-R*M))/(1-z^(-1))^N;
20

21
%Extrahieren der Koeffizienten aus der Transferfunktion h
22
nume= h.num{1};
23
denum= h.den{1};
24

25
%Aufruf des "Filter Visualization Tool" um Amplitudengang, Phase,
26
%Pol-Nullstellendiagramm anzuzeigen
27
fvtool(nume,denum);

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.