-
Thread
Sinn von Angaben in dB
daß es in erster Linie darum geht, Additionen bzw. Subtraktionen anstatt Multiplikationen bzw. Divisionen zu haben. Bei so extremen Verhältnissen wie in dem Beispiel ist das natürlich auch ein Argument. Man muss das dB-Verhältnis dann aber auch entsprechend interpretieren können.
-
Thread
Laufzeitberechnung
muss. Denn eine Multiplikation 2-er Zahlen bedeutet, dass die Exponenten addiert werden, bzw. eine Division das die Exponenten subtrahiert werden (genau das ist ja der Trick warum früher Logarithmen so populär waren. Kennt heute keiner mehr, heute rechnet alles der Taschenrechner) Also der Rechner schafft
-
Thread
Opv Verstärkung
ist mir doch glatt ein kleiner Flüchtigkeitsfehler (Copy-Paste-Fehler) unterlaufen. Durch die Division kürzen sich die Einheiten ja eh wieder raus. ;-) Nicht ganz korrekt war (meiner Meinung nach) die Schreibweise von Helmut S. mit: V_dB = 20dB*log(10V/1V) = 20dB*log(10) = 20dB*1 = 20dB Der
geschrieben werden: U/kV = 10¯³ · R/Ω · I/A Die entsprechende Schreibweise mit dem Divisionszeichen wird auch zur Beschriftung von Koordinatenachsen verwendet, also bspw. U/V für die x-Achse und I/A für die y-Achse einer Diodenkennlinie. > Auch in wissenschaftlichen Publikationen ist sie
-
Thread
AS3935 Blitzdetektor Erfahrungen
Hier ein Screenshot von unserem Logic Analyzer. Hier soll Register 0x03 zum Bestimmen der Divisionratio ausgelesen werden. Allerdings erhalten wir wie bereits erwähnt immer nur den Wert 0x1C Dieser Wert wird auch sonst unabhängig von dem auszulesenden Register ausgelesen. Ausschnitt vom
-
Thread
Division durch 2er Potenz wird nicht schneller - warum?
tip schrieb im Beitrag #2501262: > Da sich Divisionen durch 2er > Potenzen durch Bitshift-Operationen realisieren lassen Aber nur für unsigned typen...
bei Optimierung auf Platz den viel langsameren aber kürzeren Aufruf der Laufzeitfunktion für die Division erzeugt.
-
Thread
Assembler Crashkurs 8051
Berechnung mit Variablen mit mehr als 8-Bit setzt sich aus 8-Bit-Berechnungen zusammen (viel Spaß bei Divisionen, etc.), und wenn's dann keine Ganzzahlberechnungen, sondern floats etc. sein müssen, dann wird's lauschig². Punkt c) ist je nachdem trivial, aber es muss zu Fuß gemacht werden, über die entsprechenden
-
Thread
Hilfe CRC zu verstehen
in Verbindung mit Ringen und Körpern, Begriffe wie Teilbarkeit, Irreduzibilität etc. Durch die Division im CRC-Algo werden die Eingabebitvektoren in Klassen eingeteilt, und je nach Teiler (CRC-Polynom) haben diese Klassen bestimmte Eigenschaften, z.B. bei einem Ausgaberesultat = 0 sind z.B. keine
länger) und durch die beim Empfangen dividiert wird. Beim Empfang interessiert nur der Rest der Division, denn der hat 0 zu sein, wenn kein Übertragungsfehler aufgetreten ist. Wie bekannt sein dürfte, sind Multiplikationen und Divisionen Modulo 2 sehr einfach durch Schiebeoperationen zu realisieren
-
Thread
PWM und AD-Messung Assembler
Das ist im übrigen nichts anderes als der Rest, der sich bei der vorhergehenden (ganzzahligen) Division durch 100 ergeben hat. Je nachdem magst du eine Divisionsroutine zur Verfügung haben, bei der sich dieser Rest bereits fertig ergibt und du ihn nicht getrennt ausrechnen musst.
Ich denke deinem Prof geht es in erster Linie um das effiziente umrechnen der zahlen. Divisionen durch 10 sind auf einem µC umständlich und sollten vermieden werden. Ich würde die Aufgabenstellung nochmal genau lesen. Es wird nicht 0-100 verlangt, sondern nur bis 99... Und die zahlen 0x00
-
Thread
Piezo mit unterschiedlichen Tönen
besteht. Bei [c] i = a / b; [/c] ist der Datentyp von i völlig unerheblich dafür, wie die Division durchgeführt wird. Eine Division wird nicht automatisch als Gleitkommadivision gemacht, nur weil du dir das so einbildest. Es hängt von den Datentypen von a und b ab, welche Form der Division durchgeführt
der Division) in einen double umgewandelt. Nur: Das Ergebnis der Division ist ein long, hat also keine Nachkommastellen. Die erscheinen auch nicht mehr magisch, nur weil dieses Ergebnis einem double zugewiesen
-
Thread
Taster-Interrupt Fragen
sollen es aber z.B alle 10ms sein. Demnach muss ich mir was logisches einfallen lassen, was ein Divisionsergebnis von 100Hz ergibt. Ist das soweit richtig? Sorry nach, i-wie bin ich langsam bei allen etwas verunsichert das wirklich richtig verstanden zu haben. Auch wenns nun i-wie sich doof liest. Denn
-
Thread
Bascom - Flashen Fehlermeldung
Output Do Toggle Led Wait 1 Loop[/code] versuche zu flashen kommt die Fehlermeldung Division by Zero nach dem Kompilieren. Habe den Schaltplan und alles hundertmale gecheckt und auch andere 2313 probiert. Immer der gleiche Fehler...
Peter schrob: >....kommt die Fehlermeldung Division by Zero nach dem Kompilieren. Dann wird das Programm nicht vernünftig übersetzt und es dürfte gar keine .hex-Datei entstehen. Dann wird auch keine in den Kontroler übertragen. Versuche mal
-
Thread
eigene pow - Funktion
Variable? Das wäre doch exp((a/20) * ln(10)) ln(10) ist eine Konstante, bleibt also nur die Division von a durch 20 und die Anwendung von exp(). Also brauchst Du nur eine Taylor-Approximation von exp().
-
Thread
Rechnen mit extrem großen Zahlen
eine elementare Implementation in C — die übrigens auch 259 liefert — welche ohne Multiplikation, Division und Modulo auskommt (mul, div und mod mit 2 rechne ich mal nicht mit, weil das einfachste Bitoperationen sind). [c] #include <stdio.h> typedef unsigned T; static T mod_mul (T n, T a, T b
als Strings speichert und auf diese dann schriftliche Addition, Subtraktion, Multiplikation und Division anwendet. So wie ich es vor langer Zeit in der Grundschule gelernt habe. Das war natürlich unglaublich langsam, aber lustig war es trotzdem und funktioniert hat es auch.
-
Thread
ADC - Methoden zur Mittelwertbildung
C-Code implementieren. Wenn man es geschickt anstellt, braucht es nicht mal Fliesskommazahlen/Divisionen, sondern kann alles mit Schiebeoperationen gemacht werden. Bei der folgenden Variante muss man nicht mal mehrere Messwerte zwischenspeichern, wie das bei einem FIR-Filter der Fall wäre. Sinngemäss
-
Thread
FIR Filter Performance STM32 berechnen
Ich würde es ebenfalls mit Floats machen ... Das meiste wird in einem Taktzyklus abgearbeitet - Divisionen brauchen länger. Bei einem FIR aber kein Thema :) Mal so grob überschlagen ... 1024-tap FIR-Filter wären 1024 Multiplikatione + 1024 Additionen ... Alsos sowas 2048 Taktzyklen hätte ich jetzt
-
Thread
Mehrfachnutzung Timer
Denn dort ist nicht nur eine Menge I2C-Kram (wire) drin, auch viele Fließkommaberechnungen und Divisionen. Das alles kostet Zeit. Zeit, in der der andere Interrupt nicht bedient wird. Lösung. Die Abfrage deines Sensor aus der ISR entfernen und in die Hauptschleife (Loop() ) verlagern. GGf. von Fließkomma
dort ist nicht nur eine Menge I2C-Kram >> (wire) drin, auch viele Fließkommaberechnungen und Divisionen. Das alles <> kostet Zeit. Zeit, in der der andere Interrupt nicht bedient wird. >Die Berechung habe ich in einer Funktion ausgeglidert. Nö. Ich rede von ISR(TIMER5_COMPA_vect) > Auf
-
Thread
Idee gesucht um Jitter zu beseitigen
TIM_CounterMode_Up; timerInitStructure.TIM_Period = 500; timerInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; timerInitStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM2, &timerInitStructure); TIM_Cmd(TIM2, ENABLE); [/code] wenn ich zusätzlich zu der mbed die ganzen
-
Thread
uC-Prog >>> Berechnungsfehler
Das wandelt erstmal die 1023.0 in ein int um um gleich danach ein double daraus zu machen, um die Division durch 15.0 zu berechnen. Etwas umstellen reicht aus und gegen Nebeneffekte nochmal in Klammern. [c] #define OBER_BEREICH (11.5 * 1023 / 15) // sollte 784 heraus kommen [/c]
Thread bis zum Umfallen ausdiskutiert. Bei 8-Bit-Rechnern gilt dann zusätzlich: bis diese 1023er-Division beendet ist, bin ich mit meinem 1024er-Programm schon weit, weit weg... ;-)
-
Thread
Wo Eisenpulver Kerne Kaufen
relativ günstig bei PARACHINI-Shop erhalten. http://stores.ebay.de/PARACHINI-Shop/Electronics-Division-/_i.html?_fsub=2208313010&_sid=351414470&_trksid=p4634.c0.m322 Habe mir dort Anfang August jeweils 100St. T50T2/T50T6 bestellt. Hat nur die Hälfte gekostet, wie bei Reichelt. Lass Dich nicht
relativ günstig bei PARACHINI-Shop erhalten. > > http://stores.ebay.de/PARACHINI-Shop/Electronics-Division-/_i.html?_fsub=2208313010&_sid=351414470&_trksid=p4634.c0.m322 > > Habe mir dort Anfang August jeweils 100St. T50T2/T50T6 bestellt. > Hat nur die Hälfte gekostet, wie bei Reichelt. Ich sehe
-
Thread
Hterm empfängt lauter \0\0\0 vom UART ATmega8
Unter Device Programming/Fuses?! Einfach das Hakerl bei ckdiv (clock division) weg machen. http://www.atmel.com/webdoc/atmelstudio/atmelstudio.AVRStudio.ProgrammingDialog.Introduction.html
-
Thread
Bascom durch "0" dividieren
>Kann es sein dass sich der µC aufhängt? Da keiner der Atmels eine Division in Hardware unterstützt, kommt das Verhalten bei Division durch Null allein auf den verwendeten Algorithmus an!
allerdings eine mathematische/logische Operation *der* ALU gemeint. Dazu gehört allerdings nicht die Division! Sondern nur die Befehle, die in der Instruction summary im Datenblatt stehen.
-
Thread
Berechnung mit ADC-wert mißlingt
man umstellen. Oft kann man sie so umstellen, dass die potentiell gefährlichen Operationen wie Division, bei denen etwas verlorengeht (nämlich die Nachkommastellen), erst ganz zum Schluss ausgeführt werden. Bin ich sowieso nur am ganzzahligen Ergebnis interessiert, so habe ich gegenüber der float/double
Anfangsgleichung kann vereinfacht werden zu: Y = (X * 1250)/1023 - 250 Die Multiplikation und Division erfordern aber immer noch 32 Bit (bzw. 24 Bit). Wichtig ist dabei zu beachten, dass es für kleine X auch zu Unterläufen kommen kann (die abzufangen sind). Gruß Dieter
-
Thread
Unterschied zwischen Größensysmbol und Dimensionssymbol (SI-Einheit)
: -- Addieren/Subtrahieren lassen sich nur Größen mit gleicher Einheit. -- Multiplikation und Division sind ok zB [math] R = R_0 + \frac UI\;, \qquad [R] = \Omega + \frac {[U]}{[I]} = \Omega + \frac {\,V}A = \Omega + \Omega = \Omega [/math] Die eckige Klammer liest sich "Einheit von".
-
Thread
Grundsätzliche Frage zur Realisation von Mathe im FPGA
Ergebnis ist maximal 24Bit gross Reziprokfunktion von 16Bit-Zahl, Auflösung aber 24 Bit genau Division von 16Bit / 24Bit-Zahl, Auflösung 16 Bit genau Insgesamt habe ich überschlagen, daß ich bei geschicktem Verteilen 13 Rechenschritte brauche, von denen 7 "lange" Cores sind mit z.T. 50 Takten, die
gibt es auch schnellere Verfahren als CORDIC, wenn du Multiplierer zur Verfügung hast. Nur die Division könnte aufwendiger werden.
-
Thread
schnell binär nach bcd wandeln
man sieht es ja auch hier: http://www.mikrocontroller.net/topic/59851 das Modulo und Division nicht die beste Lösung für einen AVR bedeuten, dennoch frage ich mich ob es nicht noch einfacher und schneller geht... T.
mit unmoeglicher Zahl "von aussen" erkennbar machen if(i > 99) return(0xFF); //Division, entspricht "hi = i/10;" while (i > 9) { hi++; i -= 10; } //Der Rest der Division ist noch in "i", das ist der lo-Anteil //Der Compiler wird die Variable "lo" wegoptimieren
-
Thread
Endstufe für schwankende Lastimpedanz
Datenblatt genauer ansehen. Kommt diese Doppeldeutigkeit vielleicht wegen des Problems einer Division bei atan() zur Festlegung der Phase? Bei einer einfachen Divison verliert das Ergebnis Information wegen der Vorzeichen! Dafür gibt es ja auch die erweiterte bei diversen IEEE-FloatingPoint-Standards
-
Thread
Momentanverbrauch am Auto
der Verbrauch gegen 0 geht (Schubbetrieb am Gefälle). Das hilft also nicht grundlegend gegen die Division durch 0.
-
Thread
IGBT PWM Sinusdimmer
Hallo Sven, ich bin von den Einheiten/Division in Deinen Plots etwas verwirrt, wie hoch sagtest Du ist die Spannung? Wenn Du den "Einbruch" an der steigenden Flanke im Bild "igbt_12VAC_2k5.png" meinst, der kommt von der Millerkapazität und
-
Thread
Ideen um CRC-Routine zu beschleunigen? (AVR, gcc)
1 1 0 1 0 1 1 0 1 1 Generator: 1 0 0 1 1 Frame 0-Bits: 1 1 0 1 0 1 1 0 1 1 0 0 0 0 Division: 1 1 0 1 0 1 1 0 1 1 0 0 0 0 / 1 0 0 1 1 = 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 ------------------------------------+ | | | ---------
-
Thread
Tasks bei Atmel ATmega128
spricht denn dagegen, den Systemtimer der meinetwegen in ms zählt zu nehmen und die LED per modulo division toggeln läßt. so ala [c] if ((systemtimer % 200) == 0){ PORTB ^= ( 1 << PB0 ); } [/c]
-
Thread
C++ Rechnen mit Komma
auch gar nichts mit dem Ergebnis von "5/4" zu tun. 5 ist ein int, 4 ebenso, also wird eine Integer-Division durchgeführt. Wohin das Ergebnis danach dann irgendwann mal geschrieben wird, ist dabei nicht relevant.
-
Thread
Mittelwertberechnung von Analogwerten
Hallo schau dir im Datenblatt mal die Beschreibung der Multiplizer/Division-Einheit an. Durch Mov MD0, MD0 usw. wird der Rechenvorgang gestartet.
-
Thread
Keine 0 LSB erreichbar
allerdings mittle >ich auch kräftig (65x) Warum 65x?? 64 ist wesentlich sinnvoller, da sie Division zur Schiebeoperation vereinfacht wird. Vielleicht liegt dort der Fehler? Schmuggelt sich dort irgendwo ein Wert rein? MfG Falk
allerdings mittle >>ich auch kräftig (65x) > > Warum 65x?? 64 ist wesentlich sinnvoller, da sie Division zur > Schiebeoperation vereinfacht wird. Vielleicht liegt dort der Fehler? > Schmuggelt sich dort irgendwo ein Wert rein? ähhh, sorry, natürlich mittle ich mit 64x wegen der Schiebeoperationen
-
Thread
Preis/Leistung ARM gegen den Rest
Rechnerei ist der ARM in der Speicherbelegung dennoch bescheidener als der 8-Bitter (ellenlange Divisionsroutinen), und in der Rechenzeit auch noch erheblich besser. Und bei Floating Point Berechnungen, und das ohne Coprozessor, streckt der 8-Bitter dann vollständig die Waffen. Beim LPC2129 mit 256k
ich nicht gerade freiwillig programmieren. Wie verarbeitet der eigentlich ein ASCII-Zeichen oder Divisionen? Was haben diese Dinger eigentlich für Preise? Und man mag es nicht glauben: Der 30 Jahre alte 8085 ist derzeit der meist produzierte Prozessor bei INTEL, obwohl er auch einer der ersten 8-
-
Thread
Frequenzen mit ATmega messen
durch Aufsummieren der letzten 100 Messungen. Das kostet natürlich nach jeder Messung eine Fixkomma-Division.
Aufsummieren der letzten 100 >Messungen. Das kostet natürlich nach jeder Messung eine >Fixkomma-Division. Na dann miss doch 128 Perioden ;-) MfG Falk
-
Thread
Elm-Chan - FatFS Security Desaster
Tja, da fällt einem kaum noch etwas ein ohne ausfallend zu werden. … division by zero, overflow, … Ein schönes Beispiel stark religiös angehauchten Programmierens. Wir beten einfach, dass es gut geht.
-
Thread
"Langzeit" Messungen mit Picoscope möglich?
länger sein soll wirst du nen Datenlogger > brauchen. Ein Owon SDS10xx kann das auch, bei 15 Divisions = 15000 Sekunden = etwas über 4 Stunden. Eine wirkliche Langzeitaufzeichnung mit einem Stand Alone-Gerät(!) interessiert mich auch sehr. Patrick L. schrieb in https://www.mikrocontroller.net
Der Zahn der Zeit (🦷⏳) schrieb im Beitrag #6953608: > Ein Owon SDS10xx kann das auch, bei 15 Divisions = 15000 Sekunden = > etwas über 4 Stunden. Die PicoScope 6 Software schafft 5000 sek/div also 50000 Sek bei 100 MS. Das reicht für 13.8 Stunden bei 2000 Samples/s. Gruß Anja
-
Thread
Wallbox Stern / Dreieck?
Da ich es noch nicht explizit gesehen habe: Denkt bei den 400V zwischen den Phasen an die Division nur Wurzel(3) und alles wird gut. Zwischen L und N: 16A * 230V = 3680W Zwischen L1 und L2: 16A * 400V / sqrt(3) = 3695W (Ungenauigkeiten durch Annahme von 400V, 398,4V wäre besser) Grüße
Daniel F. schrieb im Beitrag #7617561: > Denkt bei den 400V zwischen den Phasen an die Division nur Wurzel(3) und > alles wird gut. Das kapiert der Weinbauer aber nicht. Dazu ist etwas Mathe nötig, nicht nur einfaches Rechnen.
-
Thread
Lineare Funktion implementieren
https://de.wikipedia.org/wiki/Zweipunkteform#Darstellung Durchaus praktisch, braucht aber eine Division.
mit gebrochenen Steigungen ? Um sie zu einmalig berechnen kann man ja einmalig eine Floatingpoint Division verwenden. Nachher bei der Anwendung verwendet man einen 32bit Multiplikator und eine Division, welche nur shifts sind also zB div 65536, dh shift 16, dh niederwertiges word weg.
-
Thread
Funktionsauswahl / Menü - Wie realisiert man sowas ?
schwer auf die einfachsten Dinge zu kommen. Ich gebe offen und ehrlich zu das ich z.b. bei der Division einfach nicht auf so banal einfaches gekommen bin wie z.b. sub bis nicht mehr geht... Meine Probleme liegen nicht in dem Wissen sondern beim zusammenknüpfen solcher dinge. Das mit dem "Horizont
-
Thread
Bargraph in Assembler ?
A * steigung; besser andersherum machen, erst die Multiplikation A * Y[i] und dann erst die Division durch X[i].
-
Thread
ADC Wert Umdrehen
Strich", und Shifts sind Punkt-Rechnungen, also Linksshift == Multiplikation * 2^i, Rechtsshift == Division / 2^i y = (x + x) * (256 - x >> 1) >> 8; wäre auch richtig. Mit dem >> 8 bin ich mir nicht so sicher was der Compiler benutzt. Ist dieser clever erkennt er das y == 8 Bit breit ist und wird
-
Thread
PIC: Laufzeit eines Programmabschnittes bestimmen?
Wirf die raus, arbeite mit Ganzzahlen (entsprechend skaliert)! Am Besten so skaliert, dass Divisionen durch z.B. 1024 anstatt 1000 durchgeführt werden, denn der Compiler macht dann keine "echte" Division mehr daraus sondern shiftet den Wert dann einfach. Dann wirds richtig schnell.
float weg. Falsch! in "floor()" steckt der wieder drin... Dies muss auch noch weg. Integer-Division ist automatisch ohne Nachkommastellen.
-
Thread
C-Code -> Verständnis problem..
;-) addr = ((x>>3)<<4)+(y<<1)+((x&4)>>2); (x>>3) schiebe X um 3 Bit nach rechts, sprich Division durch 8 ((x>>3)<<4) schiebe das Ergebnis wieder um 4 Bit nach links damit wird erreicht, daß die unteren 4 Bit 0 sind. (y<<1) Y um 1 Bit nachnlinks Schieben, Multiplikation mit 2 (x&4) Maskierung von Bit #2, alle anderen werden auf 0 gesetzt >>2 Das Ergebnis 2 Bit rechts schieben, Division durch 4 Auf Seite 5 vom Datenblatt sieht man die Speichermatrix, daraus kann man die Berechnung der Adresse ableiten.
-
Thread
Drehregler Peter D Code
htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 65525; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; }[/c] Jetzt habe ich in der Interrupt Service Routines folgendes
-
Thread
PID-Regler-Implementierung
eine Zweierpotenz, jeder C-Compiler sollte das heute erkennen und so wird aus einer Multiplikation/Division eine Shift-Operation die erheblich schneller ausgeführt werden kann als eine Multiplikation/Division.
-
Thread
Probleme mit Mathematik Aufgabe
x+4)<2x+1 |Klammer auflösen -x-4 <2x+1 |+4 -x<2x+5 |-2x -3x<5 |/(-3) Achtung! Bei Division mit negativer Zahl kehrt sich Ungleichheitszeichen um x>-(3/5) Lösung 2 Weiterhin muss wie ich oben dargestellt habe überprüft werden, wann der Nenner der Ungleichung Null wird und ob dieser
-
Thread
Prozentrechnung mit Mikrocontroller
und kannst dort sowas in der Art schreiben: Verhältnis = Wert / Basis Lösung 2 erweitert: Division findest Du hier: http://www.avr-asm-tutorial.net/avr_de/rechnen/division.html
meistens reichen. Der Tiny 13 unterstützt aber wie gesagt nunmal keine Hardware Multiplikation / Division (wenn man mal von diversen Links / Rechts Schiebeaktionen absieht). Aber mal abgesehen davon stellen sich mir die folgenden Fragen: 1. Ist die besagte 180 nen Fixwert der sich nie ändert ?
-
Thread
ADXL335 von g nach Winkel
Dieter H. schrieb im Beitrag #7080063: > Roll=atan(b/c) Nur für liebhaber des "division by zero" absturzes. Pros nehmem atan2.
schrieb im Beitrag #7080081: > Dieter H. schrieb: >> Roll=atan(b/c) > > Nur für liebhaber des "division by zero" absturzes. > Pros nehmem atan2. Stimmt!
-
Thread
Arduino ADC + Digital Poti -> Problem mit gleitendem Mittelwert
wenn nein, warum nimmt man dafür eine map Funktion die aus 4 Additionen, 1 Multiplikation und 1 Division besteht anstatt 2 Mal rechts schieben?