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


von NEWBIE (Gast)


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)

von NEWBIE (Gast)


Angehängte Dateien:

Lesenswert?

...hier die Aufgabenstellung und Lösungsweg.

von NEWBIE (Gast)


Lesenswert?

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

von NEWBIE (Gast)


Lesenswert?

Weiss hier keiner, wie man auf den Amplitudengang A(alfa) kommt ???

von Tommi H. (drmota)


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.

von NEWBIE (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Tommi,

im Anhang steht die Bedeutung von alfa drin.

von NEWBIE (Gast)


Angehängte Dateien:

Lesenswert?

---> w*T = 2*pi*f/fs = 2*pi*alfa

von NEWBIE (Gast)


Lesenswert?

Diese Aufgabe wurde mal vor zwei Jahren in einer Klausur gestellt.

von NEWBIE (Gast)


Lesenswert?

Hi Tommi, hast du bereits herausgefunden wie man auf den Amplitudengang 
kommt?

von Alex (Gast)


Lesenswert?

Hi,

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

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

von Alex (Gast)


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

von NEWBIE (Gast)


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?

von Alex (Gast)


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 :-)

von NEWBIE (Gast)


Angehängte Dateien:

Lesenswert?

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

von NEWBIE (Gast)


Lesenswert?

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

von NEWBIE (Gast)


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.

von NEWBIE (Gast)


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.

von NEWBIE (Gast)


Lesenswert?

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

von NEWBIE (Gast)


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

von NEWBIE (Gast)


Angehängte Dateien:

Lesenswert?

... hier ist nochmals die DFT Formel.

von NEWBIE (Gast)


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.

von NEWBIE (Gast)


Lesenswert?

Ich werde es hier aufgeben. Danke nochmals an alle die mir echt geholfen 
haben.

von Alex (Gast)


Angehängte Dateien:

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

von Alex (Gast)


Lesenswert?

2. Teil

von Alex (Gast)


Angehängte Dateien:

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 :-)

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?


von NEWBIE (Gast)


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?

von NEWBIE (Gast)


Lesenswert?

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

von Alex (Gast)


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.

von NEWBIE (Gast)


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.

von NEWBIE (Gast)


Lesenswert?

Der von Matlab "DFT_Klausur.m" berechnete Amplitudengang ist definitv 
korrekt?

von Alex (Gast)


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.

von Tommi H. (drmota)


Angehängte Dateien:

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.

von Tommi H. (drmota)


Angehängte Dateien:

Lesenswert?

Und als m File

von Alex (Gast)


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 :-)

von Tommi H. (drmota)


Angehängte Dateien:

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.

von NEWBIE (Gast)


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.

von Tommi H. (drmota)


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.

von NEWBIE (Gast)


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?

von Tommi H. (drmota)


Angehängte Dateien:

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

von Alex (Gast)


Lesenswert?

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

von NEWBIE (Gast)


Lesenswert?

Sorry. Ich hab es nun begriffen. Xmag ist der korrekte Amplitudengang.

von Tommi H. (drmota)


Lesenswert?

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

von NEWBIE (Gast)


Angehängte Dateien:

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?

von NEWBIE (Gast)


Lesenswert?

Und warum muss eigentlich Xmag./N ausgeführt werden?

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

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

von Tommi H. (drmota)


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.

von Alex (Gast)


Lesenswert?

"Du kannst jeden Bereich betrachten der mind. 6 Abtastschritte hat."

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

von NEWBIE (Gast)


Angehängte Dateien:

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.

von NEWBIE (Gast)


Lesenswert?

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

von NEWBIE (Gast)


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) = ....

von Tommi H. (drmota)


Angehängte Dateien:

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.

von Tommi H. (drmota)


Angehängte Dateien:

Lesenswert?

Als m File.

von NEWBIE (Gast)


Lesenswert?

Ok viel Dank für die Info!

von Tommi H. (drmota)


Angehängte Dateien:

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.

von Tommi H. (drmota)


Angehängte Dateien:

Lesenswert?

Das m.File dazu

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.