hallo forum, brauche dringend Hilfe für unser Projekt. Wir arbeiten zur Zeit am sharc ADSP-21262. Die eigentliche Aufgabe lautet: Zwei Mikrofone anschließen und anhand der Kreuzkorrelation beide signale bewerten, d.h. die Laufzeitunterschiede beider Signale messen. Leider haben wir keine Ahnung wie wir das in Visual DSP++ implementieren sollen (als Assembler-code). Daher brauchen wir dringend eure Hilfe. Ich bedanke mich schon mal im Voraus!
Gast
#570772
Was erwartest du? Das jemand dir die fertige Lösung postet? Wenn du konkrete Fragen hast, stell diese, vielleicht kann sie ja jemand beantworten.
Gast
#570962
Das ist doch im Grunde nichts anderes als eine Faltungssumme. Nur dass es eben 2 verschiedene Signale sind.
Das ist mit paar Schleifen erledigt. Da könntest du fündig werden: http://dspguide.com/
Gast
#576276
hallo nochmals,
ich hab mich etwas schlauer gemacht. Undzwar nutze ich für die
Kreuzkorrelation die vorlage des FIR-Filters aus der Analog.com seite
für den ADSP-21262-Sharc Prozessor.
Der folgende Code könnte doch für die Kreuzkorrelation verwendet werden?
Corr.algorithmus:
f0=dm(i0,m0), f4=pm(i8,m8); // Zwei Signale in Register f0 und f4
// laden
f8 =f0*f4, f0=dm(i0,m0), f4=pm(i8,m8); //werte miteinander
//multiplizieren;
gleichzeitig
// 2 neue Signale laden
// usw
f12=f0*f4, f0=dm(i0,m0), f4=pm(i8,m8);
lcntr=r6, do schleife until lce;
schleife:
f12=f0*f4, f8=f8+f12, f0=dm(i0,m0), f4= pm(i8,m8);
f12=f0*f4, f8=f8+f12;
f13=f8+f12;
dm(i1,m1)=f13; //Endwert abspeichern
Meine weiter Frage lautet:
Ich möchte zwei Mikrofone anschließen, die Eingangssignale sollen ja
dann in den Ringpuffer abgelegt werden.
Wie weiß mein Prozessor das die beiden Signale getrennt von einander
gespeichert(gepuffert) werden sollen.
Gast
#576277
hier noch der Ablaufplan
Gast
#576287
>Wie weiß mein Prozessor das die beiden Signale getrennt von einander >gespeichert(gepuffert) werden sollen. Indem du das so programmierst?! Möchtest du nicht vielleicht bei deinem Wissensstand lieber die in VDSP++ eingebaute C-Funktion für die Kreuzkorrelation nutzen?
Gast
#576292
Achso, Assembler als vorgegebene Programmiersprache. Dann erübrigt sich mein zweiter Hinweis wohl.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
