Forum: Digitale Signalverarbeitung / DSP / Machine Learning filter koeff aus c (DSP)


von samir salim (Gast)


Lesenswert?

ich habe die filter Koeff aus dem Programm von DSP. Ich denke die sind 
in c++. ich möchte den filter in Matlab simulieren.

die koeff aus dem dsp sehen so aus:

 0x001A, 0x002D, 0xFFDD, 0xFFBD, 0x002C, 0x005A, 0xFFC9

ich denke die sind in hexa. wie kann ich diese koeff in matlab einlesen?

danke euch?

von troll (Gast)


Lesenswert?

oh man

da denkt man, dass leute gute vorsätze fürs neue jahr haben, und dann 
sowas

falls es eine "echte" anfrage ist:

also wenn du keine variablen in matlab einlesen kannst, wie willst du 
eine simulation erstellen?

es gibt zahlreiche tutorials für matlab.
und notfalls gibt es immernoch www.gidf.de

von samir salim (Gast)


Lesenswert?

Danke für die nette antwort ,*Profi*!

von void (Gast)


Lesenswert?

Samir, und du Profi-Student bekommst es nicht hin eckige Klammern um 
die hexadezimal codierten Zahlen zu schreiben damit das für GNU Octave / 
Matlab nach einem Array aussieht.

Also hier ist dein Programm-code zum einlesen der Filter-Koeffizienten.
1
meineKoeffizienten = [0x001A, 0x002D, 0xFFDD, 0xFFBD, 0x002C, 0x005A, 0xFFC9]

Die Filter-Simulation bekommst du bei deinem Wissensstand ja jetzt ohne 
weitere Hilfe hin...

von Markus B. (russenbaer)


Lesenswert?

Guten Abend,

Das '0x' würde ich für MATLAB weglassen, dafür Anführungsstricherl 
machen und Strichpunkt zwischen den einzelnen Elementen wäre nicht 
schlecht (Zeilenvektor):

meineKoeffizienten = ['001A'; '002D';'FFDD'; 'FFBD'; '002C'; '005A'; 
'FFC9'];

Um die Strings in Zahlen zu wandeln kannst Du hex2dec verwenden:

http://www.mathworks.de/de/help/matlab/ref/hex2dec.html

Bist Du Dir sicher das die Zahlen nicht Fixkommazahlen sind, z.B. s1.15 
Format ?

Beste Grüße,
Markus

Ergänzung:
Habe gerade gesehen das der Code den VOID gepostet hat auch 
funktioniert, zumindest in Octave.
Ob das auch in MATLAB funktioniert weiss ich nicht, habe hier nun kein 
MATLAB. Denke aber schon.
Was aber auf jedenfall gültig ist: Bist Du Dir beim Zahlenformat sicher?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Sind das die Koeffizienten eines IIR-Filters? Welche Reihenfolge?

Hier ist ein Beispiel in Scilab, wie man Frequenz- und Phasengang eines 
IIR-Filters aus den Koeffizienten berechnet:
http://www.mikrocontroller.net/attachment/116045/GaussEqualizer.png
Hier die Nummerierung der Koeffizeinten:
http://www.mikrocontroller.net/articles/Digitalfilter_mit_ATmega#Von_der_.C3.9Cbertragungsfunktion_zum_Programm

von samir salim (Gast)


Lesenswert?

Hallo Markus!

Danke für die Antwort. Es ist lange her..:-)

Du hast recht. Die Zahlen sind Fixtkommazahlen. weisst du wie mann diese 
Koeffizient konvertiert um Sie in FDAtool (matlab) zu verwenden?

Danke

von Markus B. (russenbaer)


Lesenswert?

Servus Samir,

Ich habe in einem anderen Thread schon einmal die Umwandlung 
beschrieben, schau da hinein:
Beitrag "Neuling braucht hile Format konvertieren"

Ich hoffe das hilft Dir weiter, wenn nicht rühr Dich halt.

lg
Markus

von samir salim (Gast)


Lesenswert?

Guten abend Markus!

du hast mir sehr geholfen. das ist genau was ich gesucht habe.
kannst du mir vielleicht sagen wo ich mehr darüber finden kann 
(Literatur).
 google spuckt ja vieles, aber es gibt meisten viel theorie....

Danke nochmal

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.