Datenspeicher voll - Alternative ?

OP #3231485
Lesenswert?

Hallo,
ich lasse auf einem Atmega324PA eine FFT (Elm Chan) laufen. Aber schon 
bei der minimalen Zahl an samples (64) ist mein Datenspeicher fast voll.

"Device: atmega324pa
    Program:    8142 bytes (24.8% Full)
    (.text + .data + .bootloader)
    Data:       1575 bytes (76.9% Full)
    (.data + .bss + .noinit)"

Kann ich die FFT Daten irgendwo anders ablegen ? Oder ist das shcon im 
Ansatz zum scheitert verurteilt ?

Programmspeicher? EEPROM ?
externe Speicher stehen nicht zur Verfügung.


Besten Dank
Grüße
Luchieee
#3231490
Lesenswert?

Aeh. Ja. Ein 644 waer im selben Gehause... mit doppeltem RAM. Ich denke 
trotzdem sollten mehr Samples moeglich sein. ... diese 64 Samples und 
FFT Koeffizienten sind Double ?

Ich denk es sollte auch mit Integern gehen. Und daher wuerd ich bei 2k 
RAM mindestens 1kbyte davon fuer nutzbare Zahlen erwarten, das waeren 
dann bei 16bit Integern, 2 mal 256 Samples.
OP #3231499
Lesenswert?

Danke für die schnelle Hilfe:

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 */
uint8_t i;            //Vec Zahler

Wie geschrieben ist FFT_N 64,
bei 128 hab ich 98,8% Auslastung.

Wie richte ich den Programmspeicher ein ? Nur "PROGMEM" an meine arrays 
hängen?
Gast #3231509
Lesenswert?

Fe Li schrieb:

> 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 */

2 Bytes * 64    128
4 Bytes * 64    256
2 Bytes * 32     64
               -----
                448
               =====

Wofür geht der Rest des Speichers drauf?

> Wie geschrieben ist FFT_N 64,
> bei 128 hab ich 98,8% Auslastung.

> Wie richte ich den Programmspeicher ein ? Nur "PROGMEM" an meine arrays
> hängen?

Funktioniert nicht, da viel zu langsam im Zugriff und nicht beliebig oft 
beschreibbar.

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