mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Microchip FFT Code dsPIC30F


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe eine Reihe von Werten in eine Variable mit meinem ADC 
eingelesen.
Diese Werte möchte ich gerne an sollen als Eingangssignal für die FFT 
dienen, mein Problem ist nun wie bekomme ich die Daten in die Variable 
sigCmpx???
Wenn ich z.B. schreibe:

sigCmpx = eingangs_signal;

Bekomme ich die Fehlermeldung dass der Datentyp nicht passt, hhmmmm vlt. 
stand hier schon einmal jemand vor nem ähnlichen Problem!!!!!!!
Wie kann ich eine Variable vom Typ fractional anlegen????

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Diese Werte möchte ich gerne an sollen als Eingangssignal für die FFT
>dienen, mein Problem ist nun wie bekomme ich die Daten in die Variable
>sigCmpx???

Oh ich sehe grade das ich einen etwas komischen Satz schrieb, ähm aber 
kann mir vieleicht jemand sagen in welches Array ich meine gesampelten 
Werte reinkopieren muss, oder besser gesagt wie ich die Werte ins Array 
kopieren kann?

Viele Grüße Klaus

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
manno, will mir niemand helfen oder kann mir niemand helfen????

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im main_FFTExample.c ist das ganz einfach gezeigt, was zu tun ist,
bzw wie das Array zu füllen ist.

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

in Main stets doch:

fractional *p_real = &sigCmpx[0].real ;

sigCmpx ist ein struct mit Member real und imag.

Deine Messwerte kommen nach .real und .imag ist immer 0

gerhard

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber es gibt noch ein bisschen mehr, z.B. das Anpassen an den
-0.5 bis 0.5 Range.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso gut, dann bedanke ich mich erstmal für die Antworten und wenn ich 
das jetzt richtig verstanden habe muss ich das Array folgendermaßen 
beschreiben:

z.B. mit ner for Schleife

for(i=0; i<=FFT_BLOCK_LENGTH; i++)
   {
    sigCmpx[i].real = inputsignal[i];
   }

Klärt mich bitte auf wenn ich einem Irrtum unterliege!!!!


Gruß Klausi

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso und den imaginären Teil des Structs lasse ich unberührt????

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ja, aber es gibt noch ein bisschen mehr, z.B. das Anpassen an den
>-0.5 bis 0.5 Range.


hmmm Fractional geht doch sowieso nur von -1 bis 1, kann ich das Problem 
nicht einfach umgehen indem mein Eingangssignal immer mindestens um die 
Hälfte kleiner ist als mein Maximalwert????


Danke, ja ich weis ich bin ne Nervensäge!!!!


Gruß
      Klaus

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

.imag auf 0 setzen ist sicherer.

Wie das eingangssignal auf < 0.5 "geschrumpft" wird ist egal.

Gerhard

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo ist gut, thx

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.