Quellcode für Kreuzkorrelation in VisualDSP++ ADSP-21262

OP #570770
Lesenswert?
• ▲
▼
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 #576276
Lesenswert?
• ▲
▼
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 #576287
Lesenswert?
• ▲
▼
>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?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.