Hilfestellung zur DFT Aufgabe

Gast #759966
Lesenswert?

Hallo ich bin gerade dabei folgende Aufgabe zu lösen:

Von dem reellen Signal x(k) liegen die folgenden Werte der 10-Punkte DFT 
vor:

i X(i)
0 1
1 2-j
2 -1+j
3 -2-j
4 2+j
5 1

Berechnen Sie x(k) für k = 0, ... , 9 und zeichnen Sie den Verlauf des 
Signals in das nebenstehende Diagramm.

Da das Signal reell ist, ist doch mein Signal symmetrisch oder?
Welche Werte muss ich jetzt exakt für die DFt Formel verwenden?
Gast #759971
Lesenswert?

Betrag:

|X(0)| = 1
|X(1)| = Wurzel(5)
|X(2)| = Wurzel(2)
|X(3)| = Wurzel(5)
|X(4)| = Wurzel(5)
|X(5)| = 1

Wenn das Signal reell sein soll, wie sehen dann die Koeffizienten
von |X(6)| bis |X(9)| aus?

|X(6)| = Wurzel(5)
|X(7)| = Wurzel(5)
|X(8)| = Wurzel(2)
|X(9)| = Wurzel(5)

Müsste doch so sein oder?
Gast #761307
Lesenswert?

Ist das Signal reell, so ist der Realteil gerade und der Imaginäteil 
ungerade:

X = [1,2-i,-1+i,-2-j,2+j,1,2-j,-2+j,-1-i,2+i]

ifft(X) = 0.4, 0.0618, 1.0779, -0.1618, -0.0171, 0.2, -1.2482, -0.1618, 
0.7873, 0.0618
Gast #761331
Lesenswert?

Ich hab jetzt die Matlab Datei abgeändert.
Das mit dem reellen Signal hab ich noch nicht so ganz kappiert.
Warum müssen die anderen Imaginären Koeeffizienten umgekehrt sein?
1
% Lösung IDFT
2

3
fs = 1000;
4
k  = 0:1:9;
5
X  = [1,2-i,-1+i,-2-j,2+j,1,2-j,-2+j,-1-i,2+i];
6
N  = length(X);
7

8
subplot(2,1,1);
9
stem(k, X);
10
xlabel('k'); ylabel('Ymag(k)'); grid on;
11

12
yk = zeros(1,10);
13
ykabs  = zeros(1,10);
14

15
for m=0:1:9
16
    for k=0:1:9
17
        
18
        yk(m+1) =  yk(m+1) + X(k+1) * (cos(2*pi*k*m/N) + i*sin(2*pi*k*m/N));
19
        end
20
    
21
    ykabs(m+1) = yk(m+1)/N;
22
end
23

24
k = (0:1:(N-1));
25

26
subplot(2,1,2);
27
stem(k, ykabs);
28
xlabel('k'); ylabel('y(k)'); grid on;

Müsste dann, das Ergebnis so stimmen?
Angehängte Dateien:
Gast #762229
Lesenswert?

X(i) ist ja von i=0 bis i=5 gegeben. Laut Aufgabe soll ja eine IDFT mit 
N=10 Punkten durchgeführt werden. Da das Signal reell ist sehen die 
Koeffizienten so aus: X = [1,2-i,-1+i,-2-j,2+j,1,2-j,-2+j,-1-i,2+i]
Jetzt verstehe ich da nicht warum die Vorzeichen der Imaginäranteile ab 
dem 6. Wert bis 10. Wert verdreht werden müssen.
Gast #762307
Lesenswert?

Wenn das Signal reell ist, dann der reelle Teil der 
Fouriertransformierte gerade, und der imaginäre Teil ungerade sein soll.
Ein Vektor ist
gerade, wenn v(-i mod N) = v(i),
ungerade, wenn v(-i mod N) = -v(i),
wo N die Länge des Vektors und i=0..N-1 ist.
Gast #762509
Lesenswert?

>Jetzt verstehe ich da nicht warum die Vorzeichen der Imaginäranteile
>ab dem 6. Wert bis 10. Wert verdreht werden müssen.

Bevor du dich der Materie mit trial-and-error näherst, ziehe doch einmal 
ein/dein Skript zu Rate. Auch google liefert viele Treffer, z.B. den 
hier
ftp://ftp.tnt.uni-hannover.de/pub/edu/DigSig1/Edler/digsig-08.pdf
Gast #762805
Lesenswert?

Hi Rainer!

Soweit ich weiss kann man das einfach in die Plotanweisung schreiben!
Wenn man sich zum Beispiel den Real -und Imaginäranteil eines Sinus 
ansehen will, kann man das z.B. folgendermaßen machen:

plot(real(y))
plot(imag(y))


mit y= A * sin(2*pi*f*t)



Gruß
Gast #762897
Lesenswert?

Ich nochmals über die Aufgabe und deren Ergebnis nachgedacht. 
Prinzipiell ist die Aufgabe nicht schwer, man muss halt nur wissen wie 
ein reelles Signal aussieht. Und das Ergebnis ist jetzt nach meiner 
Meinung korrekt.

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