mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Filter in Matlab berechnen Berechnungsgenauigkeit einstellen


Autor: Andre R. (anra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

habe folgendes Problem.

Der DSP den ich einsetze hat folgendes Zahlenformat

1 Bit Vorzeichen
8 Bit Exponent
23 Bit Fraction

Wie kann ich einen freieinstellbaren Fiilter in Matlab simulieren. Bzw. 
wie kann ich die Berechnungsgenauigkeit in Matlab einstellen. Meines 
wissens rechnet Matlab mit double Genauigkeit.

Weiß jemand einen Trick oder wie man das umstellen kann. Finde einfach 
nix.

Danke
AnRa

Autor: fred maier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst in Matlab mit dem single Befehl  solche Zahlen erzeugen und 
dann den Filter programmieren.

Achtung: In sehr seltenen Fällen werden andere Rundungsregeln verwendet.

Am Einfachsten siehst du dir die Matlabhilfe zu single an.

Kleines Beispiel vorab:

format long
single(pi)
double(pi)

Autor: Andre R. (anra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

hab dein Beispiel ausporbiert

Bei single zeigt er dann eine 8 Stellige Zahl an. Ich hoffe er rechnet 
dann auch mit der weiter.
Es entsteht trotzdem folgendes Problem: 23 Bit entsprecht der zahl 
8388608 Das sind nur 7 Stellen.

Noch eine Idee?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Single hilft dir nicht weiter. Entweder verwendest du die Fixed-Point 
Toolbox, oder du schreibst dir selber Funktionen zur Simulation der 
auftretenden Rundungsfehler.

Autor: Andre R. (anra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso Fixed Point.
Der DSP ist ein floating point und die toolbox habe ich leider nicht.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andre R. schrieb:
> und die toolbox habe ich leider nicht.

Dann nimm halt GNU Octave?

Autor: Andre R. (anra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das hab ich auch mal ausprobiert. Bin aber auf Grund der fehlenden 
Oberfläche irgendwie nicht zurecht gekommen.

Die frage ist nur, wofür brauche ich die fixed point toolbox wenn ich 
einen floting point dsp habe?

Autor: fred maier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm, 'single precision' (32 bit im Sinne von IEEE 754) hat zwischen 7 
und 8 Stellen.

Du hast auch noch das "versteckte" Bit bei einer normalisierten Zahl. 
Also implizit i.d.R. 24bit in der Mantisse.

Darstellung +/- (1+x)^e

x 23 bit
e 8 bit
Vorzeichen 1 bit

Mantisse =fraction

Es gibt noch eine Ausnahme bei "gradual underflow".

Autor: Andre R. (anra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hui Danke

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, sorry, habe die 8 Bit Exponent einfach überlesen. Dann gilt was 
fred maier geschrieben hat. Für die Verwendung von single in MATLAB 
gibt's hier ein paar Beispiele:
http://www.mathworks.de/products/matlab/demos.html...

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn wir schon mal dabei sind, wie schaut denn die ganze Sache in 
Fixpoint aus, sprich die Konvertierung der berechneten 
Filterkoeffizienten in ein Format a la Q1.15 oder Q2.14 ? Danke, Dennis

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe meine erste Antwort.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.