www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Probleme mit Aufgabe zu digitale Signalverarbeitung


Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mal wieder bei einer Aufgabe ein Problem.
Wie kommt man rechnerisch auf den Amplitudengang A(alfa)?
Warum eigentlich T=(2*pi)/(6*T)

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...hier die Aufgabenstellung und Lösungsweg.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dieser Aufgabe habe ich das Problem, dass ich nicht genau weiss wie 
man auf den Amplitudengang A(alfa) kommt.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiss hier keiner, wie man auf den Amplitudengang A(alfa) kommt ???

Autor: Tommi Huber (drmota)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du uns erklären wo diese Aufgabe her hast. Aus einem Buch kann
die doch nicht sein. Sonst müsste doch erklärt sein was alpha
sein soll.

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tommi,

im Anhang steht die Bedeutung von alfa drin.

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
---> w*T = 2*pi*f/fs = 2*pi*alfa

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Aufgabe wurde mal vor zwei Jahren in einer Klausur gestellt.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tommi, hast du bereits herausgefunden wie man auf den Amplitudengang 
kommt?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

dass f/fs <= 0.5 sein soll ist eigentlich nur das Nyquistkriterium.

==> http://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, weiter gehts :-)

Neben dem Nyquistkriterium ist eine DFT auch symmetrisch bezüglich fs/2, 
so dass das Darstellungsintervall sinnvoll gewählt ist.

Formel DFT:

Hierbei ist X(m) gleich deinem m-ten Bin im Spektrum (das gesuchte 
A(alpha)).

alpha ist in diesem Kontext gleich:

Da obige Formel dir einen komplexen Wert liefert musst du noch nach den 
Regeln der komplexen Rechnung den Betrag bilden.

m = 0, 1, ... , N-1
N = Anzahl deiner Samples
x(n) entspricht den gegebenen Eingangswerten


Gruß,
Alex

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Recht herzlichen Dank Alex für deine Unterstützung.
Ich weiss hier nun nicht wie ich dies jetzt auf diese Aufgabe anwenden 
kann.
Was müsste ich jetzt wo und wie einsetzen?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber sehr viel einfacher kann ich es dir eigentlich nicht mehr 
machen.

Wo ist das Problem, die gegebenen Abtastwerte in die Gleichung für X(m) 
einzusetzen?

Mit Excel, Matlab oder nem anständigen Taschenrechner muss man das 
nichtmal von Hand rechnen.

Poste mal bitte, wie in deinen Augen X(0) aussehen würde (Formel mit 
eingesetzten Werten) - ich sage dir dann obs stimmt :-)

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Rechnung siehe Anhang. Ich hoffe es stimmt. Bin mir aber nicht ganz 
sicher.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dasmit dem m,n und N verstehe ich nicht. Welche Werte müssen dafür 
eingesetzt werden?

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für x(n) setzte ich doch die Werte von x(k) ein.
Beispiel x(0)=3 ; x(1)=2 ; x(2)=1

Die Werte n,m und N, das weiss ich überhaupt nicht was man dafür 
einsetzen muss.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum Lokführer? Sorry wenn ich diese aufgabe nun mal nicht verstehe.
Ich brauche nur mal ein Beispiel mit den eingesetzten Werten. Ich bringe 
da was total durcheinander.Es wird anscheinend immer so ein großes 
geheimnis darum gemacht.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist ja nicht so das ich überhaupt nicht mache. Im Gegenteil ich 
bemühe mich echt darum.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Formel DFT:

X(m) = \sum_{k=0}^{N-1}{x\left(n\right)\left(cos\left(\frac{2\pi 
km}{N}\right) - j sin\left(\frac{2\pi km}{N}\right)\right)}

k läuft doch von 0 bis z.B. 6
N ist dann ich Gesamtanzahl hier z.B. 6
Was gebe ich für m an?

x(k) kann ich ja von der Zeichnung (Aufgabenstellung) ablesen.
z.B. x(k=0)=3

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
... hier ist nochmals die DFT Formel.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rechnerisch komme ich nicht auf die Werte wie in der Lösung angegeben.

A(alfa=0) = 1
A(alfa=0,2) = 1,75
A(alfa=0,5) = 2

Ich bin gerade am verzweifeln.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werde es hier aufgeben. Danke nochmals an alle die mir echt geholfen 
haben.

Autor: Alex (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Glaub mir, dass es besser ist die Zeit mit ein paar guten Büchern zu 
verbringen, anstatt hier im Forum alle halbe Stunde ein neues Posting zu 
machen - besser ist ein vernünftiges, das erkennen lässt, dass du dich 
wirklich ernsthaft mit dem Thema auseinandersetzt. Wer Zeit und Muße hat 
wird dann schon antworten.


Gruß,
Alex

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2. Teil

Autor: Alex (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas Schwarz

Lösch mal bitte nicht den Pfad für den Dateianhang, wenn du auf ein 
empty posting hinweist, sonst passiert obiges, wenn man zu schnell 
klickt :-)

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Alex hab dein Matlabprogramm ausprobiert. Der Amplitudengang ist ja 
nicht identisch mit der Lösung, da ja das alfa nicht miteinbezigen 
wurde.

alfa=m/N*fs

Diese Gleichung müsste man doch umstellen nach m und dann in die DFT 
Gleichung einsetzen oder?

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ich eigentlich nur wissen will, wie man auf den verdammten 
Amplitudengang A(alfa) siehe Lösung im Dateianhang kommt.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der "verdammte" Amplitudengang rechts unten hat nichts mit dem gegebenen 
Signal links oben zu tun ...

Ob man die x-Achse nun mit f = 0 ... 1kHz oder alpha = 0 ... 1 
beschriftet macht keinen Unterschied.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, dann ist der in der Lösung dargestellte Amplitudengang A(alfa) 
eigentlich nicht für diese Aufgabe. Dieser Amplitudengang ist aber in 
der Lösung so abgebildet.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der von Matlab "DFT_Klausur.m" berechnete Amplitudengang ist definitv 
korrekt?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir scheint du hast keinerlei Bezug zur gegebenen Problemstellung.

Schau dir einfach mal das gegebene Signal an - im Prinzip ist das ein 
abgetastetes Dreiecksignal mit einer Amplitude von 1.5, einer 
Periodendauer von 6 Samples (f=1/(6*1ms)=166Hz) sowie einer DC 
Komponente von 1.5 (f=0).

Dass der Peak bei 166Hz nicht die Höhe 1.5 hat liegt darin begründet, 
dass die andere Hälfte des Signals im Peak bei 833Hz (Spiegelbild) 
liegt, also einfach bei Bedarf mit 2 multiplizieren.

Jetzt könnte argumentiert werden, dass die Summe beider Peaks noch immer 
nicht 1.5 ergibt - korrekt. Da die Zahl der Eingangssamples krumm ist, 
also nicht N ganze Perioden im Abtastsatz enthalten sind, kommt es zu 
einem Phänomen, dass Leakage genannt wird. Zusaätzlich ist dein 
Eingangssignal kein Sinus sondern ein Dreieck, das somit auch Frequenzen 
>fs/2 (ungeradzahlige Harmonische) enthalten hat. Dadurch kommt es auch 
noch zu Aliasingeffekten im Spektrum.

Irgendwie sieht man Bild da doch stimmig aus, oder? Für so einen 
Plausibilitätstest braucht es nicht mal nen Taschenrechner.

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Newbie wenn du die Sache umgekehrt angehst und aus deinen 
Frequenzbild (A(alpha)) die periodische diskrete Zeitfunktion berechnest 
erhälst du das Bild siehe Anhang. Dazu musst du dir 
xkabs(10)=xkabs(0),xkabs(10)=xkabs(-10), xkabs(1)=xkab(-9)=xkabs(11), 
usw... periodisch fortgesetzt denken.

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und als m File

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hat die von dir berechnete "Zeitfunktion" mit dem gegebenen Signal 
zu tun?

Dein m-File berechnet das Spektrum eines Spektrums, macht aber keine 
IDFT, was du aber als Zielstellung in deinem Posting vorgibst.

Verunsicher den armen Kerl nicht noch mehr :-)

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man aus einem Frequenzdiskreten Signal (A(alpha)) auf ein 
Periodisch zeitdiskretes Signal kommen will wendet man die inverse 
Fouriertransformation
an.  xd(n)=1/N Summe (k=0, N-1(Xd(jk)exp(+j*2*PI*k*n/N)).

Das ganze dient nicht um Newbie zu verwirren, sondern einfach den 
umgekehrten
weg (nicht Zeit --> Frequenz, sondern Frequenz --> Zeit) zu 
demonstrieren.

Im übrigen im DFT_Klausur_F_T_.m gehört statt -,+ (Zeile 18). Das habe 
ich korrigiert im Anhang.+. Das Bild aus_A_alpha__x_berechnet.PNG bleibt 
aber das gleiche.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Hilfe!

Mir ist noch immer unklar wie man auf den Amplitudengang A(alfa) kommt.
Tommi du bist vom Amplitudengang A(alfa) ausgegangen und hast mit der 
inversen DFT den Zeitberich errechnet. Mir fehlr aber der andere Weg und 
zwar vom Zeitberich in den Frequenzbereich A(alfa). Aus euren Beiträgen, 
weiss ich nun noch immer nicht wie man auf den Aplitudengang (siehe 
angegebene Lösunf A(alfa)) kommt.

Autor: Tommi Huber (drmota)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Newbie du musst einfach umdenken f=100 --> alpha =0.1, f=200 --> 
alpha=0.2,
usw... und statt und Xmag -->  A.   Die Lösung von Alex stimmt und zeigt 
eindeutig dass dein A(alpha)--> (bei Alex  Xmag(f)) nicht aus deiner 
x(k) Folge berechnet werden kann.

Und ich habe dir gezeigt dass mit deinem A(alpha) im umgekehrten Weg 
nicht deine Folge herauskommt.

Fazit: Du kannst es jetzt dein ganzes weiters Leben versuchen dieses 
A(alpha)
       auszurechnen und wirst es wahrscheilich nie schaffen. Selbst die
       klügsten Köpfe dieser Erde kannst  du fragen, keiner wird
       wahrscheinlich deine Lösung berechnen. Oder du gibst dich mit der
       Lösung von Alex zufrieden.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Xmag ist der gesuchte Amplitudengang, nur dass dieser hier nicht von 
alfa abhängt. Ja und was ist dann mit dem Amplitudengang A(alfa) vom 
Lösungsweg?
Ist dieser nicht für diese Aufgabe bzw. falsch?

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sag mal Newbie man hilft ja gerne. Aber wenn du das dir gezeigte nicht
verstehen kannst oder willst sind wir auch machtlos.

Nochmals A(alpha) von deiner Angabe passt nicht zu deiner x(k) Folge.

Und alpha=0.1   bedeutet f=100, fs=1000 ---> f/fs = 100/1000 = 0.1 
=alpha
Und alpha=0.2   bedeutet f=200, fs=1000 ---> f/fs = 200/1000 = 0.2 
=alpha
Und alpha=0.3   bedeutet f=300, fs=1000 ---> f/fs = 300/1000 = 0.3 
=alpha
Und alpha=0.4   bedeutet f=400, fs=1000 ---> f/fs = 400/1000 = 0.4 
=alpha
Und alpha=0.5   bedeutet f=100, fs=1000 ---> f/fs = 500/1000 = 0.5 
=alpha

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
=> Troll, mehr fällt mir dazu nicht ein ... schade um die Zeit.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry. Ich hab es nun begriffen. Xmag ist der korrekte Amplitudengang.

Autor: Tommi Huber (drmota)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Newbie lass dich nicht verschrecken. Nur wer sich ständig Fragen stellt
wird klüger werden.

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:
  • DFT.m (481 Bytes, 245 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich hab das Matlab Programm abgeändert, das N=6 beträgt und das für 
die DFT die x(k=0..5) eingesetzt werden. Da sich das diskrete Signal 
alle N=6 wiederholt, kann ich ja eigentlich auch nur den Bereich k=0 bis 
k=5 betrachten oder?

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum muss eigentlich Xmag./N ausgeführt werden?

>>stem(f, Xmag./N);

Warum kann man da nicht stem(f, Xmag); verwenden?

Autor: Tommi Huber (drmota)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Warum kann man da nicht stem(f, Xmag); verwenden?

Kannst du auch weil es der Formel entspicht.


>> kann ich ja eigentlich auch nur den Bereich k=0 bis
>> k=5 betrachten oder?


Du kannst jeden Bereich betrachten der mind. 6 Abtastschritte (oder ein
ganzzahliges Vielfaches) hat. Also k=-4 bis k=1, oder k=-5 bis k=0, 
usw...

Wenn du 24,30,36,42,...,6*10000 Abtastschritte wählst hast du 24,
30,36,42,....,6*10000 Frequenzen innerhalb deiner Abtastfrequenz.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Du kannst jeden Bereich betrachten der mind. 6 Abtastschritte hat."

- Es sei denn die Aufgabenstellung sagt was anderes ...

Autor: NEWBIE (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab nochmals denjenigen gefragt, der diese Aufgabe auch gestellt 
hat.
Man soll hier nicht die DFT verwenden. Hier wird X(w) von x(k) verlangt.
Weitere Infos habe ich leiter nicht erhalten.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... nochmals zu dem "stem(f, Xmag./N)". Laut DFT Formel wird dies hier 
nicht verlangt.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir überlegt, dass wenn ich die Z-Transformierte x(z) dieses 
Signals ermittle und anschließend in den Frequenzbereich X(w) übergehe, 
damit der Amplitudengang erstellt werden kann.
Bis zu welchem k müsste ich die Z-Transformation machen?

x(z) = 3 + 2*z^(-1) + z^(-2) + z^(-4) + 2*z^(-5)

z = e^(jwt)

X(w) = .....

w = alfa*ws = alfa*(2pi/T) ---> w*T = 2*pi*alfa

X(alfa) = ....

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe dir dein Signal bis k=1000 Fouriertransformiert.
Du hast eine gerade Funktion d. h.: x(-t)=x(t) das bedeutet
für X(-jf)=X(jf)

daher kann man die Gleichung  X(jf)=2*Int(0-->unendlich)x(t)*cos(ft)dt
anwenden. Wobei dazu zu bemerken ist. Das Integral von einem 
verschobenen Diracimpuls D(t-k)*cos(f*t) --> cos(f*k) ist. Das sind
Grundlagen wenn du das nicht verstanden hast musst du das in
einem Buch (und nicht im Internet) anlesen.

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Als m File.

Autor: NEWBIE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok viel Dank für die Info!

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die von mir gestern hier gepostete fourier_xk.m ist falsch und auch das 
dazugehörige Bild Fouriertransformiert.PNG.

Habe jetzt 20 Werte der Folge mit 1000 Frequenzen bis 1kHz durchrechnen
lassen. Denke jetzt stimmts da bei ca. 165 Hz  --> 1/Periodenlänge = 
1/(6*0.001s) --> alpha =0.165 ein lokales Maximum liegt und dies auch
im Anhang so ist.

Autor: Tommi Huber (drmota)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das m.File dazu

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.