TigerSHARC 12bit ADC -> float

Gast #1559868
Hallo,

bisher habe ich noch keine Idee wie man schnell und komfortabel Werte 
eines 12bit ADCs, die im Zweierkomplement in signed ints vorliegen und 
Spannungen zwischen -10 und +10 V repräsentieren, nach float (single) 
konvertieren kann. Damit wird dann weiter gerechnet und zu einem 
späteren Zeitpunkt geht es über das 2er Komplement wieder zurück in 
einen DAC.

Google hat mir nicht helfen können. Zur Not muss ich die 2er Komplemente 
manuell zerlegen und umrechnen aber ich hoffe dass es auch einfacher 
geht...

Habt ihr einen Tipp für mich? Sonst muss ich

Grüße
#1559926
Das Beispiel hier ist zwar MATLAB und nicht C, aber vom Prinzip her ja 
das Gleiche:

http://www.s3.kth.se/signal/grad/smart_impl/downloads/meaurements/int2float.m

1
function y_float=Int2float(x_int)
2

3
% Function to be used when debugging linear assembler.
4

5
x_rem=x_int;
6
% Obtain 32bit-pattern
7

8
Bits=zeros(1,32);
9
if (x_int<0)
10
  Bits(1)=1;
11
  x_rem=x_rem+2^31;
12
end;
13

14
ip=2;
15
for i1=30:-1:0
16
   if ~(x_rem<(2^i1))
17
     Bits(ip)=1;
18
     x_rem=x_rem-2^i1;
19
   end;   
20
   ip=ip+1;
21
end;
22

23

24
e=sum(Bits(2:9).*(2.^(7:-1:0)));
25
f=sum(Bits(10:32).*(2.^(-(1:23))));
26

27
y_float=(1-2*Bits(1))*(2^(e-127))*(1+f);

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]
  • [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.