Forum: Digitale Signalverarbeitung / DSP / Machine Learning Wie liest man Blockdiagramme


von Torben G. (infostudent2016)


Angehängte Dateien:

Lesenswert?

Guten Tag,

ich studiere Informatik und habe nun ein Semester diskrete 
Signalverarbeitung. Das Fach ist für mich etwas Neuland und nicht so 
ganz einfach zu verstehen.
Vor allem die Block- und Signalflussdiagramme haben es mir angetan.

Vielleicht könnte mir einer erklären, wie ich diese am besten zu 
lesen/analysieren haben.

Ich weiß einfach nicht, weshalb in dem von mir angefügten Bild 
beispielsweise das y[n-d] in die Gleichung mit einfließt.

Ich würde mich unglaublich freuen, wenn mir jemand helfen könnte.
Danke schon einmal.

von Desinformathiker (Gast)


Lesenswert?

> Ich weiß einfach nicht, weshalb in dem von mir angefügten Bild
> beispielsweise das y[n-d] in die Gleichung mit einfließt.

Mir fehlt noch was: da *z^-d* auch nicht in der Gleichung ersichtlich 
ist und das was aus dem Block z rauskommt nicht näher benannt ist, 
kann es sein das z ein Speicher der y Werte aus den vorangegangenen 
Zyklen darstellt?

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

 ist eine Rückwärtsverschiebung der Abtastwerte um d Abtastschritte im 
z-Bereich. Im Zeitbereich ist das eine Verzögerung
TA: Zeitlicher Abstand der Abtastschritte

: Bearbeitet durch User
von Matthias (Gast)


Lesenswert?

Im Grunde einfach durchgehen ;-)
Bei komplizierten Blockschaltbilder kann man auch Hilfsvariablen 
verwenden...

In deinem Beispiel mache ich es so:

Angefangen bei x... was kommt nach dem Addierer raus: x(n)+g*y(n)
z^(-d) verzögert die Summe.
Diese verzögerte Summe ist y(n) und damit x(n-d)+g*y(n-d)

LG

von Torben G. (infostudent2016)


Lesenswert?

Danke schon mal für die Beiträge.

Aber weshalb habe ich das y(n-d) dadrin? Also wieso das y? Das mit der 
Verzögerung verstehe ich. Mich wundert es nur, dass das y in der 
Gleichung vorkommt und somit das Ausgangssignal mit bildet.

von Matthias (Gast)


Lesenswert?

Aber das alte y kommt vor.
Versuche dir mal einen diskreten Integrator aufzuzeichnen!

von Torben G. (infostudent2016)


Angehängte Dateien:

Lesenswert?

Ich habe ehrlich gesagt noch nie etwas von einem diskreten Integrator 
gehört.

Ich verstehe schon, dass solche Digitalen Systeme/Filter z.B. den 
vorherigen Wert miteinbeziehen.

Ich werde nur einfach nicht schlau daraus, wie man die Diagramme liest 
bzw wie man die Differenzengleichungen aufstellt.

Habe hier noch ein anderes Digramm, wo ich finde am y Term verzweifle.

von Andi (Gast)


Lesenswert?

Zum ersten Diagram:

z = x[n] + g*y[n]
y[n] = z-d

daraus folgt:
y[n] = (x[n] + g*y[n])-d
oder
y[n] = x[n-d] + g*y[n-d]

Was das ganze irgendwie schwer verständlich macht, ist dass y[n] zu x[n] 
zeitlich um ein Abtastschritt verzögert ist.

Wenn mann das ganze zeitlich betrachtet:

y[t] = x[t-1] + g*y[t-2]

Andi

von Matthias (Gast)


Lesenswert?

Die angegebene Lösung vom Bild stimmt mMn nicht:

y hat keine Rückführung!

Eventuell kann man es in eine rekursive Version umformen, aber ich 
bekomme dann einen anderen Term für x(n-d).

von Josef (Gast)


Lesenswert?

zweites bild:

y1 ist der Ausgang nach dem z^-d Glied, noch vor dem Summierer.
Der untere Zweig und der hintere Summierer beeinflussen y1 nicht.

Jetzt y bestimmen:
y1 einsetzen:

Voila.

Mit der Mason-Regel kann man das direkt aus dem Diagramm ablesen.
Aber ich glaube das lernt man seit 30 Jahren nicht mehr.

von Torben G. (infostudent2016)


Lesenswert?

Josef schrieb:
> y1 ist der Ausgang nach dem z^-d Glied, noch vor dem Summierer.
> Der untere Zweig und der hintere Summierer beeinflussen y1 nicht.

Danke, aber woher nehme ich dieses Wissen? Das ist aus unserem Skript 
absolut nicht ersichtlich. Gibt es da Regeln? Ich finde bei Google 
relativ wenig dazu..

Wir haben noch mit Hilfsvariablen gearbeitet. Ich glaube, dass mir 
einfach die Routine und die verschiedenen Beispiele fehlen, um für mich 
Muster/Regeln ableiten zu können.

von Möwe (Gast)


Lesenswert?

Torben G. schrieb:
> Josef schrieb:
>> y1 ist der Ausgang nach dem z^-d Glied, noch vor dem Summierer.
>> Der untere Zweig und der hintere Summierer beeinflussen y1 nicht.
>
> Danke, aber woher nehme ich dieses Wissen? Das ist aus unserem Skript
> absolut nicht ersichtlich. Gibt es da Regeln?

Die Pfeile geben die Lesrichtung vor. y1 ist nicht durch den unteren 
Zweig beeinflusst weil von dem rechten Addierer kein Pfeil zu y1 geht.

Grüße

von Torben G. (infostudent2016)


Lesenswert?

Möwe schrieb:
> Die Pfeile geben die Lesrichtung vor. y1 ist nicht durch den unteren
> Zweig beeinflusst weil von dem rechten Addierer kein Pfeil zu y1 geht.

Aber woher weiß ich denn, dass ich ein y1 habe? Sagt mir der Verzweiger, 
also der schwarze Punkt vor dem rechten Summierer das etwa?
Für mich ist es erst mal nur ersichtlich, dass y das/ein Ausgangssignal 
ist. Mir fehlt halt etwas, woran ich das Rekursive sehen kann.

Es gibt ja auch Blockdiagramme/Systeme, bei denen ein vorheriges y nicht 
mit die Funktion einfließt.

von Josef (Gast)


Lesenswert?

Torben G. schrieb:
>> y1 ist der Ausgang nach dem z^-d Glied, noch vor dem Summierer.
>> Der untere Zweig und der hintere Summierer beeinflussen y1 nicht.
>
> Danke, aber woher nehme ich dieses Wissen? Das ist aus unserem Skript
> absolut nicht ersichtlich. Gibt es da Regeln? Ich finde bei Google
> relativ wenig dazu..

Hi,
im gerichteten Graph fuehrt kein Pfad von y nach y1.

Der englische Wikipedia Artikel ist relativ ausfuerlich:
https://en.wikipedia.org/wiki/Signal-flow_graph

In Regelungstechnikbuechern wird das meistens auch behandelt.

Und wenn du schon aus der Informatik kommst, kann ich die 
Originalartikel
von Mason empfehlen:

Mason, Samuel J. (September 1953). "Feedback Theory - Some Properties of 
Signal Flow Graphs"
SJ Mason (July 1956). "Feedback Theory-Further Properties of Signal Flow 
Graphs".

von Josef (Gast)


Lesenswert?

Torben G. schrieb:
> Aber woher weiß ich denn, dass ich ein y1 habe?

y1 ist einfach eine Hilfsvariable fuer ein Zwischenergebnis.
Da kannst du soviele erzeugen wie du willst.

von Torben G. (infostudent2016)


Lesenswert?

Josef schrieb:
> Torben G. schrieb:
>> Aber woher weiß ich denn, dass ich ein y1 habe?
>
> y1 ist einfach eine Hilfsvariable fuer ein Zwischenergebnis.
> Da kannst du soviele erzeugen wie du willst.

Ich dachte y bezieht sich auf den vorher auf das Systeme gegebenen Wert? 
Stichwort Rekursion?

von Josef (Gast)


Lesenswert?

Torben G. schrieb:
>> y1 ist einfach eine Hilfsvariable fuer ein Zwischenergebnis.
>> Da kannst du soviele erzeugen wie du willst.
>
> Ich dachte y bezieht sich auf den vorher auf das Systeme gegebenen Wert?
> Stichwort Rekursion?

Nein, in diesem Fall ist y1 einfach eine Variable und hat nichts mit y
oder evtl. y[n-1] zu tun. Ein anderer Name ohne 'y' ware vielleicht 
besser
gewesen.

Jede Kante stellt einen Wert dar und dafuer kann eine Variable 
eingefuehrt
werden. Welche davon die Aufloesung dann einfacher/uebersichtlicher 
machen ist wohl Erfahrungssache.

Ein "schwarzer Punkt" im Diagramm ist ein Verteilungsknoten. Der Wert 
einer Kante wird auf andere weitergeleitet. Durch Pfeile am Knoten oder 
in der Umgebung sollte die Richtung klar sein.

Eine Rekursion ( so etwas wie y[n] = y[n-1] + ...) erkennt man durch 
eine
Schleife (Loop) im Diagramm. Ein Wert wird durch die Schleife auf sich 
selbst bezogen. Im z-Raum muss dann irgendetwas wie z^-1 dazwischen 
sein, da es sonst nicht mehr kausal ist.

In kontinuierlichen Systemen laueft das dann eher unter Feedback.

von Torben G. (infostudent2016)


Lesenswert?

Josef schrieb:
> Jede Kante stellt einen Wert dar und dafuer kann eine Variable
> eingefuehrt

Was ist denn eine Kante?

Mir fehlt halt tatsächlich immer noch ein Muster. Irgendwelche Regeln, 
aus denen man ableiten kann wie viele Terme/Teile/Variablen in die 
Endgleichung einfließen.

von Josef (Gast)


Lesenswert?

Torben G. schrieb:
> Was ist denn eine Kante?

Eine Verbindung, Pfeil im Blockdiagramm.

Ist Kante nicht eine uebliche Bezeichnung in der Graphentheorie?
(Kante, Pfeil, Verbindung, gerichtet, ungerichtet, edge, arc, arrow).


Josef schrieb:
> Und wenn du schon aus der Informatik kommst, kann ich die
> Originalartikel
> von Mason empfehlen:
Die Beispiele darin kommen alle aus der Analogelektronik, sogar mit 
Roehrenschaltungen. Fuer einen Informatiker damit wohl doch nicht 
geeignet.

Josef schrieb:
> Jede Kante stellt einen Wert dar und dafuer kann eine Variable
> eingefuehrt
Das gilt natuerlich nur fuer Blockdiagramme. In Signalflussgraphen ist
die Rolle von Kanten und Knoten vertauscht.

von Operator S. (smkr)


Lesenswert?

Mensch alles was ich bisher gelesen habe ist: Mir felht, mir felht, mir 
felht und ich will ich will ich will.
Erinnert mich an die ungeliebten mitstudenten zu meiner Zeit, die nichts 
alleine suchen konnten. Und das heute im 2016 mit google in der 
Hosentasche ohne in die Bibliothek latschen zu müssen!

Wenn dir die Grundlagen fehlen, dann bringt es auch nichts wenn dir 
jemand alles vorrechnet. Das musst du alleine begreifen können, sonst 
bringt dir auch die x-te Erklärung nichts und du sagst wieder: das steht 
nicht in meinem Skript.

Also nimm dir Bleistift und Papier und gehe erstmal alle Blöcke einzeln 
durch. Aus deiner Aufgabenstellung kannst du dir ja folgende 2 Übungen 
machen:

1) Dreick mit g

2) Quadrat mit z^-d

und dann lass mal für jeden einzelnen folgende Reihe durchlaufen und 
schau was rauskommt:
[0 0 1 0 1 0 0]

Nicht böse gemeint, aber du studierst Informatik, also fang an zu 
studieren.

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.