signed vs fixed point

Gast #1559957
Lesenswert?
• ▲
▼
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 #1560338
Lesenswert?
• ▲
▼
> 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 #1906117
Lesenswert?
• ▲
▼
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) #1906276
Lesenswert?
• ▲
▼
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren