Forum: Digitale Signalverarbeitung / DSP / Machine Learning dspic c library


von schnudl (Gast)


Lesenswert?

Ich mache gerade die ersten Gehversuche mit dsPIC.
Mich interessieren vor allem die im C30 Compiler enthaltenen DSP 
C-Funktionen, weshalb ich von meinem geliebten AVR auf PIC gewechselt 
bin.

Nun gibt es hier zB eine Funktion FIR für FIR-Filter, welche mit einer 
Datenstruktur FIRStruct versorgt wird.

Diese Struktur initialisiert man mit FIRStructInit(...)

wobei diese Funktion eingangsseitig u.A. mit einem Zeiger auf die 
Filter-Koeffizienten und mit einem Zeiger auf einen Buffer für die 
verzögerten Einganswerte versorgt werden muss:

fractional * delayBase

Nun steht aber in der Beschreibung, das delayBase[] innerhalb des 
Y-Datenbereichs liegen muss, damit das doppel-fetch des dsPICs verwendet 
werden kann. Soweit noch klar...

Aber wie erreiche ich mit C-Mitteln, dass ich Platz im Y-Bereich 
anfordere?
malloc() nimmt ja hier keine Rücksicht. Die Frage ist nun, wie ich den 
Zeiger auf delayBase initialisiere?? Leider habe ich keine entsprechende 
Funktion in der lib gefunden (oder ich bin wieder mal blind).

Vielen Dank
Michael

von schnudl (Gast)


Lesenswert?

hat sich geklärt:

int x[32] _attribute_ ((space(ymemory)));

geht also über attribut.

von sabbour (Gast)


Lesenswert?

hallo,
ich mache auch meine erste schritte mit dem dsPIC und versuche gerade 
ein FIR-filter zu imolementieren. Ich kriege das irgendwie nicht hin.
Der Compiler erkennt die funktion fir nicht. Weiß jemand woran es liegt? 
oder hat jemand ein gescheides Beispielcode.
Vielen Dank

von Pothead (Gast)


Lesenswert?

Hilfreich wäre dein Codeausschnitt.

von Tierschützer (Gast)


Lesenswert?

Ja da hat Pothead schon ganz recht...

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
Noch kein Account? Hier anmelden.