Een logaritme?

Integraalrekening, afgeleiden, rijen, convergentie & divergentie van reeksen, meervoudige integratie.
Plaats reactie
Fantomaz
Nieuw lid
Nieuw lid
Berichten: 7
Lid geworden op: 14 jan 2009, 00:21

Een logaritme?

Bericht door Fantomaz » 14 jan 2009, 00:35

Hoi mensen!

Hoewel ik meestal wel enigzins kleine wiskundige uitdagingen begrijp, zit ik nu met een lastig probleem.

Stukje voorgeschiedenis:
Ik heb een IC dat een bepaalde waarde uitgeeft, 30mV tot 50mV
Deze waarde staat gelijk aan respectievelijk 350 tot 10.000
De signalen wil ik versterken met een factor 100 zodat ik tussen de 3 en 5 volt zit.

Nu heb ik zo berekend (in een tabel) dat elke stap van 0,1V ik een vermeerdering heb van 18.25% tav de vorige waarde. Dus 350 + 18,25% ^20= 10.000 (of zoiets :))
Nu zijn dat stappen van 0,1V. Ik wil graag alle waarden tussen 3 en 5 volt kunnen doorberekenen naar de evenredige waarde tussen de 350 en 10.000. Dit omdat een kleine misaanpassing in de electronica de waarde nét onder de volgende trede van 0,1V brengt, waardoor ik ook meteen een flink lager liggende eindwaarde krijg (afhankelijk van de positie). :(

Anyway.
Is deze logaritmische vergelijking terug te brengen naar een eenvoudige Log rekensom?
Is dit uberhaubt te berekenen?
Ik doe beroepsmatig veel met 10Log dus enige feeling heb ik er wel mee.
Graag jullie reactie :wink:

arie
Moderator
Moderator
Berichten: 3917
Lid geworden op: 09 mei 2008, 09:19

Re: Een logaritme?

Bericht door arie » 14 jan 2009, 20:38

Je meet spanning tussen 3 en 5 Volt, het aantal stappen n = (5-3) /(stapgroote s):

Is je stapgrootte s = 0.1, dan heb je dus n = 2/0.1 = 20 stappen.

Dit herleid je naar de werkelijke waarde door gebruik te maken van een constante factor c, waarbij:

ofwel

voor n = 20 levert dit c = 1.1824876, ofwel een toename per stap van 18.25%, wat je al gevonden hebt.

Nu is me niet helemaal duidelijk wat er met de stapgrootte aan de hand is, maar stel dat deze kleiner is, bijvoorbeeld s = 0.096, dan zitten er in je meetgebied n = 2/0.096 = 20.83333 stappen.
Je vindt dan c = (10000/350)^0.048 = 1.174585... (waardetoename van 17.46% per stap)
De werkelijke waarde voor stap i bereken je vervolgens via

dus:
i=0: waarde(0)=350.0000
i=1: waarde(1)=350*1.1745 = 411.1050
i=2: waarde(2)=350*1.1745^2 = 482.8781
...
i=20: waarde(20)=350*1.1745^20 = 8745.0585
Je mist dan dus een deel van de hoge waarden, immers 350*1.1745^20.83333 = 10000, maar dit zou dan veroorzaakt worden door je schakeling.
In dit geval geldt dus dat 3V correspondeert met waarde 350 en 5V met waarde 10000, maar dat de 5V net niet bereikt kan worden door een iets te kleine stapgrootte.

Is dit wat je bedoelt of speelt er wat anders in je schakeling?

Fantomaz
Nieuw lid
Nieuw lid
Berichten: 7
Lid geworden op: 14 jan 2009, 00:21

Re: Een logaritme?

Bericht door Fantomaz » 14 jan 2009, 23:32

Bedankt voor je reactie Arie. :wink:
Je hebt nu wiskundig uitgewerkt wat ik had gevonden middels wat rekensommen in een Excell tabel. :oops:
Punt is dat ik ben uitgegaan van 20 stapjes. Aan elke stap heb ik (en jij dus ook) een waarde gehangen.
Elke volgende stap is 18,25% groter.
Maar de aangelegde spanning is nooit precies afgerond op 0,1 volt (stapspanning)

Die 20 stappen was even voor het gemak...
De Delta U is 2 Volt (tussen 3 en 5V) De Analoog naar Digitaal omzetter is 10 bits, wat 1024 mogelijkheden geeft. Ruwweg dus 2V : 1000 = 2mV per stapje.
Ik ben niet van plan 1000 keer uit te rekenen wat het resultaat is, omdat er een constante in zit.
Per tiende volt is de toename tov de vorige waarde 18,25%
Maar wat is de toename in procenten bij 2 duizenste volt tov de vorige stap?
Als ik het verloop wil zien tussen 350 en 10.000 weggezet tegen een verloop van 3000mV tot 5000mV, per mV, kan ik niet 2000x een vermeerdering van 18,25% nemen.
Maar volgens mij ook niet met een 0,1825% toename...
Ik zoek dus de formule waarin ik X * 0,1825% van 350 kan nemen, waarbij X het aantal stappen van 2mV is, wat overeen komt met de waarde tussen 350 en 10.000.

[edit]
Even wat geprobeerd...
Met de rekenmachine: 350+0,1825% (en dat dan 100x) komt uit op 413,875
Wederom met de rekenmachine: 350+1,825%(en dat 10x) komt ook uit op 413,875
Dan zal 350+18,25% ook 413,875 (1x) zijn (en dat klopt) :mrgreen:

[verhoogde vermoeidheidsfactor]
Ik zit alleen nog even met de oorsprong.
Ik kan het niet onder woorden brengen, maar denk aan het volgende:
Temperatuursstijgingen zijn ook gebasseerd op 0 Graden Kelvin en niet op 0 Graden Celsius.
Moet ik die lijn niet starten op 0, dit doorberekenen tot ik bij 350 kom en deze stijgende lijn aanhouden?
Ik heb de indruk dat de curve niet goed komt.
Wél op 350 en 10.000 natuurlijk (resp 3 en 5V), maar kloppen de tussenliggende waarden dan nog wel?

arie
Moderator
Moderator
Berichten: 3917
Lid geworden op: 09 mei 2008, 09:19

Re: Een logaritme?

Bericht door arie » 15 jan 2009, 01:33

Dus:
Het interval van 3V t/m 5V wordt door de 10-bit A/D converter omgezet in 1024 waarden = 1023 intervallen.
Dit gaat lineair, dus per bitwaarde 2V/1023 = 1.955034mV.
Bitwaarde 0 komt overeen met 3V, bitwaarde 1023 komt overeen met 3V + 1023*1.955034mV = 5V,
elke tussenliggende bitwaarde i correspondeert met 3V + i * 1.955034mV.

Je beschrijft vervolgens 2 verschillende mogelijkheden:
[mogelijkheid 1]
er is sprake van een vast percentage vermeerdering (bijv 18.25%) van de waarde W t.o.v. de vorige stap:

zoals in je eerste bericht
[mogelijkheid 2]
er is sprake van een vaste vermeerdering (een percentage van de beginwaarde 350):

wat je doet in je 2e bericht door een vast percentage van 350 op te tellen bij elke volgende waarde.

In het eerste geval is je bitwaarde lineair evenredig met log(W), in het tweede geval is de bitwaarde lineair evenredig met W.
Je vindt dan het volgende:

[mogelijkheid 1]
1024 bitwaarden = 1023 stappen:

Dit is per bitstap dus 0.3282411% toename t.o.v. elke voorgaande stap.
De omzetting van bitwaarde i naar waarde W is dan:



Bijvoorbeeld:
W(0) = 350 * 1.003282411^0 = 350.0000
W(1) = 350 * 1.003282411^1 = W(0) * 1.003282411 = 351.1488
W(2) = 350 * 1.003282411^2 = W(1) * 1.003282411 = 352.3014
W(3) = 350 * 1.003282411^3 = W(2) * 1.003282411 = 353.4578
...
W(512) = 350 * 1.003282411^512 = 1873.8965
...
W(1023) = 350 * 1.003282411^1023 = 10000.0000

Indien je minder stappen wilt kan je bijvoorbeeld stappen van 11 bitwaarden nemen:
W(0) = 350
W(11) = 350 * 1.003282411^11 = 350 * 1.036704974 = 362.8467
W(22) = 350 * 1.036704974^2 = 376.1650
W(33) = 350 * 1.036704974^3 = 389.9721
...
W(1023) = 350 * 1.036704974^93 = 10000.0000

Je ziet hier ook dat

deze zijn ongeveer gelijk maar niet precies gelijk.


[mogelijkheid 2]
c = (10000-350)/1023 = 9.433040078
en
W(i) = 350 + i * 9.433040078
per bitstap dus een toename van 9.433040078 = 2.6951543% van 350.

Bijvoorbeeld:
W(0) = 350
W(1) = 350 + 1 * 9.433040078 = 359.4330
W(2) = 350 + 2 * 9.433040078 = 368.8660
W(3) = 350 + 3 * 9.433040078 = 378.2991
...
W(512) = 350 + 512 * 9.433040078 = 5179.7165
...
W(1023) = 350 + 1023 * 9.433040078 = 10000.0000

Ik denk echter dat je [mogelijkheid 1] bedoelt.
Is dat ook zo?

Fantomaz
Nieuw lid
Nieuw lid
Berichten: 7
Lid geworden op: 14 jan 2009, 00:21

Re: Een logaritme?

Bericht door Fantomaz » 15 jan 2009, 16:09

Ik heb het wat ongelukkig omschreven, (vannacht... moe en zo... :P )
Het is inderdaad optie 1, 18,25% van de voorgaande stap erbij opgeteld.
Maar probeer dat maar eens in een formule te omschrijven. Elke keer 18,25% erbij voor elke 1/10e volt verhoging.
En omdat ik het niet per tiende volt wil doen, maar per 1000e volt (1mV dus) moet ik dus elke stap met 0,1825% verhogen. Het is dus NIET LINIAIR!!
Ik heb een voorbeeld opgedoekt waar duidelijk een rechte lijn in een logaritmische grafiek wordt weergegeven.
Ik zal hem zo eens opzoeken en posten.
Dat ik niet met een stapspanning van 1/1024 werk, is dat 1000 stappen net wat makkelijker rekenen is.
De apparatuur kan ik volgens mij zo instellen dat die resterende 24 stappen niet meegenomen worden.

Die grafiek laat ook zien dat ik gewoon de lijn van 350 kan laten starten met zijn logaritmische "oorsporing", dus mijn vergelijking met kelvin versus celcius, waarbij ik de 350 als het 0 graden Celcius zag (273K), kan ik overboord zetten.

Schema volgt...

[EDIT] Bij deze...

Afbeelding

Sjips!
Dit raakt kant noch wal, zie ik nu! :oops:
Dit geeft niet de spanning in tussen 30 en 50 mV aan tegenover de logaritmische waarde tussen 350 en 10.000

Plaats reactie