mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie passt das in ATmega8?


Autor: Daniel_s (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich bin gerade an einer Voruntersuchung für eine FFT in einem ATmega8. 
Ich konnte es noch nicht testen, da ich noch keine Hardware habe. In 
einem Codebeispiel habe ich folgende Variablendeklaration gefunden
typedef struct _tag_complex_t {
  int16_t  r;
  int16_t i;
} complex_t;



int16_t capture[FFT_N];      /* Wave captureing buffer */
complex_t bfly_buff[FFT_N];    /* FFT buffer */
uint16_t spektrum[FFT_N/2];    /* Spectrum output buffer */

FFT_N ist mit 256 definiert. Wie passt das aber in 1kB RAM? Die komplexe 
Struktur ist doch schon 1kB groß oder nicht? (256 * 2(komplex + 
imaginär) * 2Byte)

Autor: Daniel_s (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es soll natürlich real und imaginär heissen

Autor: bascommaherundguckda (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
compilier doch mal und guck Dir das Ergebnis an - das geht auch ohne 
Hardware.. ;-)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel_s wrote:

> FFT_N ist mit 256 definiert. Wie passt das aber in 1kB RAM?

Der Compiler wirds dir schon sagen.
(Sorry, konnte nicht widerstehen)

Das kann natürlich nicht passen.
Sicher dass für FFT_N nicht irgendwo eine Obergrenze
dokumentiert ist, die auf einem Mega8 kleiner als 256 ist?

> Die komplexe
> Struktur ist doch schon 1kB groß oder nicht? (256 * 2(komplex +
> imaginär) * 2Byte)

Yep.

Autor: Uwe Nagel (ulegan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das stammt doch aus dem FFT-Paket von Elm-Chan.
Wenn du dir das Makefile dazu anschaust, siehst du, dass der es für 
einen mega128 übersetzt hat. Der hat 4k Ram und da passen die Strukturen 
rein. In den mega8 leider nicht...

Autor: Daniel_s (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf der Homepage stand es wäre für nen ATmega8 aber im Makefile steht 
als Target

MCU_TARGET     = atmega128

Ok dann geht das nicht mit 256 samples




Danke

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.