signed vs fixed point

Gast #1559957
Frage 1:
Gibt es eingentlich irgendeinen Nachteil von signed gegenüber fixed 
point?

Signed Arithmetik hat ja zumindest bei FPGA den Vorteil das es 
einwandfrei funktionierende Bibliotheken für VHDL gibt.
Bei fixed point ist das ja noch nicht der fall (ja ich kenn signed_pkg).
Was muss ich bei Fixed Point Berechnungen beachten die ich in Signed 
Berechnungen darstellen will?
Zumindest bei einer Erhöhung der Stellen Zahl macht es doch einen 
Unterschied ob ich die Resizebits zwischen signed bit und Rest Anfüge
oder hinten

also a) SRRBBBBB (S: Signb.,R: Resizeb., B.: normale Bits )
oder b) SBBBBBRR

a) signed   b) fixed point.

Mein Problem ist jetzt: bei einen Filter kann ich ja die 
Eingangswerte(kommen von einen AD-Wandler) als fixedpoint oder aber 
signed behandeln.
Also Werte zw. -1 und 1-LSB  bei fp oder eben je nach bitbreite bei 
sign.

Jetzt kommt der Punkt bei dem ich gerade am Schlauch stehe:
wenn ich jetzt sage eigentlich hätte ich bei fixedpoint
eingang: S,xxxx (irgendwas zw. -1 und 1-LSB) und koeffizient: S,xxxx 
irgendwas zw. -1 und 1-LSB)

Frage 2:
Man kann doch einfach beides mal einen Faktor nehmen so das sich der 
Dezimalpunkt verschiebt => ich mache nichts und tue so als währen die 
Werte signed?

Frage 3:
Aber wie kommmt dann der Unterschied bei der Bitbreiten änderung 
zustande?
=> Was muss man bei welchen Fall beachten?
Moderator (Firma: Titel) Persönliche Seite
> a) SRRBBBBB (S: Signb.,R: Resizeb., B.: normale Bits )
signed ist einfach ein Vektor, der als vorzeichenbehaftet angesehen wird 
(Zweierkomplement). fixed hat keine "Resizebits". Bits, die angeben, 
welche Wertigkeit die nachfolgenden Bits haben findet man in der float 
Darstellung (als Exponent). Fixed-Point heißt nur, dass irgendwo mitten 
in den "Zahlenbits" ein Komma hineingedacht wird. Es wird also ein 
virtuelles fixes Komma eingefügt (Nomen est Omen).

Am einfachsten ist es, anzunehmen, man hätte einen Darstellungsbereich 
von 0...1 (unsigned) oder -1...+1. Denn dann wandert das Komma von 
hinter dem letzten Bit einfach vor das erste Bit.
Bei 8 bit wäre das dann so (unsigned):
    10101010 =   10101010.0 = 170
bzw 10101010 = 0.10101010   = 0.6640625
oder (signed)
    10101010 =   10101010.0 = -86
bzw 10101010 = 0.10101010   = -0.3359375
Allerdings sollten die vielen dezmalen Nachkommastellen nicht täuschen. 
Denn die Auflösung ist trotzdem nur 1/256

Das hatten wir schon mal im 
Beitrag "Re: Anfängerfrage"
Gast
Lothar Miller schrieb:
>> a) SRRBBBBB (S: Signb.,R: Resizeb., B.: normale Bits )
> signed ist einfach ein Vektor, der als vorzeichenbehaftet angesehen wird
> (Zweierkomplement). fixed hat keine "Resizebits". Bits, die angeben,
> welche Wertigkeit die nachfolgenden Bits haben findet man in der float
> Darstellung (als Exponent). Fixed-Point heißt nur, dass irgendwo mitten
> in den "Zahlenbits" ein Komma hineingedacht wird. Es wird also ein
> virtuelles fixes Komma eingefügt (Nomen est Omen).
>
> Am einfachsten ist es, anzunehmen, man hätte einen Darstellungsbereich
> von 0...1 (unsigned) oder -1...+1. Denn dann wandert das Komma von
> hinter dem letzten Bit einfach vor das erste Bit.
> Bei 8 bit wäre das dann so (unsigned):
>     10101010 =   10101010.0 = 170
> bzw 10101010 = 0.10101010   = 0.6640625
> oder (signed)
>     10101010 =   10101010.0 = -86
> bzw 10101010 = 0.10101010   = -0.3359375
> Allerdings sollten die vielen dezmalen Nachkommastellen nicht täuschen.
> Denn die Auflösung ist trotzdem nur 1/256
>
> Das hatten wir schon mal im
> Beitrag "Re: Anfängerfrage"

hallo zusammen, hallo Lothar Miller

bei IQ-Format multiplikation hat man:

z.b. I2Q30 = I1Q15 * I1Q15

Meine frage ist, wie sieht das aus bei Division?

vielen Dank im Vorraus für alle Anregungen!
(Firma: abaxor engineering)
Guest schrieb:
> Frage 1:
> Gibt es eingentlich irgendeinen Nachteil von signed gegenüber fixed
> point?

In meinen Augen gibt es einen wesentlichen Nachteil von Fixed-Point 
gegenüber signed/unsigned. Der Logic Analyzer (sei es das Gerät auf dem 
Tisch, ChipScope, Reveal, ..) können nur signed/unsigned. Da man aber 
seine Zahlen aus der Simulation auch im LA wieder finden will, sind alle 
anderen Einstellung nachteilig. Darum verwende ich auch 
Matlab-fixedPoint mit Null Nachkommastellen.

Tom
Gast
>Darum verwende ich auch
>Matlab-fixedPoint mit Null Nachkommastellen.
Und was, wenn Du aussen etwas anderes brauchst?

Für die Testvektoren skalieren?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.