Hallo
Ich bin ein relativ neuer Labviewnutzer. Habe mich nun paar Wochen damit befasst für meine Masterarbeit. Hab auch schon paar kleiner Sachen erfolgreich bewältigt... aber nun häng ich an einem relativ simplen Porblem fest.
Ich möchte meinem Signalgeber einen Impuls erzeugen lassen. Der impulse sollte ein Gaussspektrum mit Zentralfrequenz 3kHz haben und so ca von 2-4kHz Frequenzen enthalten. Das Spektrum konnte ich erzeugen und wollte dann mittels FFT in ein Zeitsignal umwandeln, was ich dann dem Signalgeber weitergeben kann. Und nun mein Problem: Ich krieg nur ein einseitiges Signal (also nur +Zeitwerte)... dachte mir ok, das ganze Spielgen und addieren.
Mir ist klar das man dafür eigentlich einfach f(x) -> f(-x) machen muss... aber ich hab irgendwie keine Wert für den Index den ich einfach negativ machen könnte. In meinem array sind nur die y-Werte enthalten.
Und ich finde weder per google noch mittels intesiver Paletten studie wie ich das machen kann.
Ich hoffe ich hab mein Problem verständlich geschildert.
Ich hab mal Foto vom GrundVI angehängt.. ohne meine Versuche xD
Kann mir einer helfen?
Vielen Dank mal im Vorraus
LG
Lela
Null Antworten bisher - wohl deshalb, weil niemand Lust hat, aus der Graphik wieder ein VI zu bauen - ich auch nicht. Das Problem dürfte auch so nicht lösber sein. Ein solches Spektrum hat man z.B, wenn man natürliches weißes Licht durch einen Farbfilter schickt. Je schmalbandiger das Filter ist, desto größer wird die "Kohärenzlänge" der Lichtwelle, d.h je mehr wird es zum reinen Sinus. Mit einem schnell abklingenden Impuls im Zeitbereich, so wie Du dir das vorstellst, wird man so ein Spektrum nicht erhalten können.
Hallo,
um von einem Frequenzspektrum das Zeitsignal zu erzeugen brauchst du den Real- und Imaginärteil. Es fehlt dir sonst quasi eine Information im Zeitsignal ohne Imaginärteil.
lg panduci
(27.10.2014 11:52 )panduci schrieb: [ -> ]um von einem Frequenzspektrum das Zeitsignal zu erzeugen brauchst du den Real- und Imaginärteil. Es fehlt dir sonst quasi eine Information im Zeitsignal ohne Imaginärteil.
Ist zwar im Prinzip richtig. Wenn es aber wie hier nur darum geht, zu dem vorgegebenen Amplitudenspektrum (Phase egal) einen Zeitverlauf zu erzeugen, dann gibt es eben ohne Phaseninformation nicht, wie man aus Deinem Beitrag herauslesen könnte, Null Lösungen, sondern unendlich viele.
Aber beim genaueren Hinsehen ist das Zeitsignal sogar eindeutig: LeLa wünscht sich als Zeitsignal einen "Impuls". Den ereicht man, wenn man die Spektralkomponenten alle als Realteile, also mit Phasenverschiebung Null, deutet. Im Zeitbereich sind das dann alle Cosinuskomponenten, die sich alle bei t=0 mit ihrem positiven Maximum addieren. Die Adddition die Komponenten ergibt dann bei t=0 ein starkes Maximum, das nirgendwo anders wieder erreicht wird: Es ist ein "Impuls".
(Nachteil: Die Impulsform hat, über die gesamte Zeitdauer gesehen, das schlechtestmögliche Verhältnis von Spitzen- zu Effektivwert. Der Spitzenwert ist aber durch irgendwelche Aussteuergrenzen vorgegeben, also hat das Signal nur einen geringen Effektivwert. Besser wäre ein Rauschsignal mit zufälligen Phasen. Aber Lela will das eben so).
VI kommt gleich...
Hier ist es. Ich liebe die inverse FFT-Funktion nicht und addiere die Spektralkomponenten lieber manuell. Es ist hier df=1Hz. Die Zeitfunktion (eine von -inf bis +inf laufende periodische Funktion) hat df als Grundfrequenz, also 1 Hz. Es wird hier die Zeitdauer von 1 Periode dargestellt, Zeitbereich 0..1. Die Phasenlagen habe ich so getrickst, dass man das Maximum bei t=0.5 hat (wiederholt sich in 1er-Schritten)
[
attachment=51171]
Danke euch schon einmal, dass ihr euch Zeit genommen habt, das Ganze überhaupt anzuschauen.
Wenn man das Ganze auch anderst, eleganter schaffen kann, bin ich nicht umbedingt abgeneigt. Ich muss einfach dem Signalerzeuger, ein Signal eingeben, dass eine Centerfrequenz von 3kHz hat und im Bereich 2-4kHz frequenzern ausgibt. Das wurd mir so vorgegeben. Da es sich bei meinem Gerät um eine Rekonstuktion eines relativ alten Messgerätes handelt.
Das Problem ist, dass ich als Biomechanikstudentin, eher aus der Richtung der Bio komme und weniger Ahnung von dem technischen Zeug habe. Und entschuldige mich auch falls ich mich igwie dumm Angestellt habe xD
ICh hab es als erstes mit dem Gaussian Modulated Sine Pattern.vi versucht, aber dort hat es irgenwie nicht funktioniert, weil obwohl ich 3kHz als Zenterfrequenz eingegeben hab immer eine Frequenz von 25Hz ausgespuckt wurde.
Als ich dann mein Betreuer, der Physiker ist um Hilfe gebeten habe, hat er mir nahe gelegt, dass Ganze über das Spektrum anzugehen, was ich dann versucht habe. Zumindest das halbe Signal hat ich ja hingekriegt xD nur weiter bin ich nicht gekommen.
LG Lela
Hier noch eine andere Variante, mit nur 41 Spekrallinien (statt vorher 7000): 2k, 2.05k, 2.1k ... 3kHz. Dafür mehr Zeitpunkte: 16 Samples/Periode @ 3kHz. Außerdem: Umschaltmöglichkeit Impuls oder Rauschen.
[
attachment=51165]
Das erste kann ich leider nicht öffnen. Da ich nur 2013 Version habe. Aber das 2te ist schon sehr schick ;D.
Ich hab vorher sogar geschafft das meins nu funktioniert, aber ist nicht so schön wie deines und ich hab bisschen n durcheinander nun mit den Einheiten. Meine Time ist nämlcih grade nicht in Sekunden xD.
Danke dir vielmals das dir die Zeit genommen hast. Ich werd sicher einiges davon mitnehmen können.
LG Lela
VI in #4 auf 2012 geändert, und Profil profiliert.