Hi, Bin Matlab-Anfänger und hab ein kleines Problem mit der IFFT....: Eigentlich will ich nur einen Impuls im Zeitbereich erzeugen, der über das Spektrum definiert ist. Konkret soll der Peak ca. 2 ns breit sein. Hierzu definier ich 1500 1 Peaks im Spektralbereich, die ein Spektrum von 3 kHz bis 450 MHz repräsentieren sollen. Aufgrund der Reellwertigkeit des Zeitsignals hab ich das Spektrum symmetrisch um das letzte Sample definiert und dann den Vektor auf 3000 erweitert. Der Imaginärteil ist immer 0. Gesagt getan....nach der IFFT bekomm ich nen Plot, der nur bei 1 nen Wert hat. Woher kommt das, mich würde der detaillierte Verlauf des Pulses interessieren.... Mir ist schon klar, das ich hier cos überlagere, die phasengleich sind und somit am Anfang den höchsten Wert erhalten. Aber ich würde da eher irgendwas abfallendes erwarten und nicht diesen abrupten Peak beim ersten Sample der Zeitfunktion (DC ist im Frequenzbereich 0). Ausserdem ist es mir irgendwie unklar, wie ich überhaupt die echten Frequenzen mit der IFFT in Beziehung setz. Macht man das dann im Zeitbereich nur über die manuelle Skalierung, das könnte dann ja alles aus dem Ruder laufen... Ich glaub ich werf da eineiges durcheinander....=)! mit freundlichen Grüssen
Beschreibe mal dein Signal genauer. Ich verstehs jetz folgendermaßen: Du hast eine 0, für DC. Dann für 3kHz bis 450MHz 1500 1er (allerdings bräuchtest du bei 3kHZ Frequenzauflösung 150.000 1er), und dann nochmal 1500 1er. Damit hast du im Frequenzbereich bis auf den DC Anteil etwas konstantes. Und ewas konstantes im einen Bereich wird bekanntlich zu einem einzigen Puls im anderen Bereich. Da du allerdings für alle anderen Punkte 0 hast, und nicht nicht was kleines negatives scheint es so, als hättest du auch für DC ne 1 eingesetzt, und damit nur 1en transformiert. Wie man die Frequenzen und die Zeitabschnitte einander zuordnet: tp = t0*N fp = N*f0 1/fp = t0 1/tp = f0 N = Länge des Signals in Samples t0 ist der Abstand im Zeitbereich, f0 der im Frequenzbereich tp ist die Gesamtlänge im Zeitbereich, fp die Gesamtlänge im Frequenzbereich und gleichzeitig die Abtastfrequenz. Wenn du die Parameter in einem der beiden Bereiche kennst, kannst du also folglich die anderen ausrechnen, und ne passende Achse dazu errechnen. Ne Zeitachse kann mich sich in Matlab zB so bauen: t = 0:t0:tp-t0; N Frequenzachse so: f = 0:f0:fp-f0; Bei der Transformation des einem kommt das andere als achse raus.
HI, Danke, Klasse Antwort! Ja, das hast du richtig verstanden, also nochmal zu meinen Gedankengängen: Also was ich hab, ist ein Array [1-1501] mit jeweils 1 Peaks. Zur Sicherstellung des geraden Realteils hab ich das Dingen verdoppelt (auf 3002), den Rest dann ebenfalls mit 1 gefüllt. Also sollte (fs/2), in der Mitte des Arrays liegen....muss ich das eigentlich wirklich beachten????...oder reicht es einfach "ganz blöd" das Array mit den 1500 Peaks der Ifft zu übergeben? Ok, 3kHz ist ein bisschen hoch, bei 1500 PEaks wär das dann 300 kHZ....wie sieht man denn den Auflösungseffekt im Zeitbereich....werden da Werte "verschluckt"? Also irgendwie bereitet es mir ein bisschen Kopfschmerzen, das die IFFT ja nur auf einem Array arbeitet und zu den realen Frequenzwerten ja eigentlich keinen Bezug hat....versteh ich das richtig, das dann jeder Array-eintrag eine Frequenz-Bin ist, die z.B. dann mit 300 kHz bezeichnet werden sollte? mit freundlichen Grüssen der informationsüberflutete Martin
Aaaaaah, hab doch was kleines negatives....hahaha=)!Also definitiv kein DC! Aber ich hätte mir den Puls eher als deutliche Glockenform vorgestellt, liegt das an der Auflösung oder wie? Ziel ist es zu zeigen, das der Puls wirklich ca. 2 ns breit ist.... mfG
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.