<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Stromrichter - PC, Computer, Software]]></title>
		<link>https://stromrichter.org/</link>
		<description><![CDATA[Stromrichter - https://stromrichter.org]]></description>
		<pubDate>Sat, 23 May 2026 04:30:04 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Backup]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3629</link>
			<pubDate>Sat, 15 Feb 2014 11:25:19 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3629</guid>
			<description><![CDATA[Wie sichere ich am besten mein derzeit funktionierendes Windows XP? Mit DriveImage oder die Systempartition über Ubuntu auf das Sicherungsmedium kopieren? Bei letzterem hätte man ja den Vorteil, auf einzelne Dateien zugreifen zu können. Ich weiß nur nicht, ob ein komplett zurückgespieltes Backup dann wieder lauffähig ist.]]></description>
			<content:encoded><![CDATA[Wie sichere ich am besten mein derzeit funktionierendes Windows XP? Mit DriveImage oder die Systempartition über Ubuntu auf das Sicherungsmedium kopieren? Bei letzterem hätte man ja den Vorteil, auf einzelne Dateien zugreifen zu können. Ich weiß nur nicht, ob ein komplett zurückgespieltes Backup dann wieder lauffähig ist.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Die gute Tat]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3620</link>
			<pubDate>Fri, 24 Jan 2014 19:43:13 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3620</guid>
			<description><![CDATA[Hier kann jeder seine Repaturberichte, Keks-moddings und sonstige mehr oder weniger geglückte Rettungsaktionen kränkelnder Hardware einstellen]]></description>
			<content:encoded><![CDATA[Hier kann jeder seine Repaturberichte, Keks-moddings und sonstige mehr oder weniger geglückte Rettungsaktionen kränkelnder Hardware einstellen]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Langsame Festplatte?]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3619</link>
			<pubDate>Fri, 24 Jan 2014 19:16:26 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3619</guid>
			<description><![CDATA[Ist das normal?<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1869_1390590781_HDD160a.jpg" border="0" alt="[Bild: 1869_1390590781_HDD160a.jpg]" /><br />
<br />
läuft mit AHCI und SATA2<br />
<br />
Windows XP, Intel ICH9M]]></description>
			<content:encoded><![CDATA[Ist das normal?<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1869_1390590781_HDD160a.jpg" border="0" alt="[Bild: 1869_1390590781_HDD160a.jpg]" /><br />
<br />
läuft mit AHCI und SATA2<br />
<br />
Windows XP, Intel ICH9M]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[S.M.A.R.T. Power On Hours]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3617</link>
			<pubDate>Tue, 21 Jan 2014 19:25:49 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3617</guid>
			<description><![CDATA[Bei meiner Festplatte ist alles im Hunderter Bereich, außer den POH. Da wird ein Value von 18 angezeigt, der RAW Wert ist 191 141. Vor einigen Stunden waren es 189 141 und vorher 185 141. Die erste Zahl könnte dem Stundenfortschritt entsprechen, was bedeutet die 141? Wobei 191 Stunden auch nicht hinkommen, bei einem etwa 5 Jahre alten PC. Könnte der Wert bei Umstellung von IDE auf AHCI zurückgesetzt worden sein? Ein anderes Programm zeigt hexadezimal an, 008dbf, was 36287 entspricht. Das wären dann 1512 Tage, an denen die Kiste durchgelaufen wäre. Ich verstehe das nicht.]]></description>
			<content:encoded><![CDATA[Bei meiner Festplatte ist alles im Hunderter Bereich, außer den POH. Da wird ein Value von 18 angezeigt, der RAW Wert ist 191 141. Vor einigen Stunden waren es 189 141 und vorher 185 141. Die erste Zahl könnte dem Stundenfortschritt entsprechen, was bedeutet die 141? Wobei 191 Stunden auch nicht hinkommen, bei einem etwa 5 Jahre alten PC. Könnte der Wert bei Umstellung von IDE auf AHCI zurückgesetzt worden sein? Ein anderes Programm zeigt hexadezimal an, 008dbf, was 36287 entspricht. Das wären dann 1512 Tage, an denen die Kiste durchgelaufen wäre. Ich verstehe das nicht.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Updates Win XP]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3611</link>
			<pubDate>Thu, 09 Jan 2014 09:28:44 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3611</guid>
			<description><![CDATA[Ich habe ein neues System Windows XP Pro aufgesetzt. Wenn ich Updates installieren will kommt auf der Windows Update Seite "Die neuesten Updates werden gesucht" und der grüne Balken läuft und läuft und läuft. Und das stundenlang. Wieso geht da nichts mehr? Auch wenn die Unterstützung für XP eingestellt sein sollte, müßten doch wenigstens die bisherigen Updates verfügbar sein. Oder gibt es da noch eine andere Möglichkeit?]]></description>
			<content:encoded><![CDATA[Ich habe ein neues System Windows XP Pro aufgesetzt. Wenn ich Updates installieren will kommt auf der Windows Update Seite "Die neuesten Updates werden gesucht" und der grüne Balken läuft und läuft und läuft. Und das stundenlang. Wieso geht da nichts mehr? Auch wenn die Unterstützung für XP eingestellt sein sollte, müßten doch wenigstens die bisherigen Updates verfügbar sein. Oder gibt es da noch eine andere Möglichkeit?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Wärmeleitpaste]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3609</link>
			<pubDate>Mon, 06 Jan 2014 14:54:03 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3609</guid>
			<description><![CDATA[Da ich mir für meinen Mini-PC einen neuen Prozessor bestellt habe, habe ich schomal den Kühler,der über CPU und Chipsatz liegt, entfernt. Ich bin überrascht, daß jeweils auf der Wärmeleitpaste, eine graue harte Masse, ein Stück Alufolie, ca. 0,05mm, liegt. Soll das ein festkleben an den Kühlflächen der Chips verhindern? Kann ich beim Zusammenbau normale Wärmeleitpaste nehmen, oder was wäre zu empfehlen? Eingebaut werden soll ein Intel Core 2 Duo 2400 MHz. Chipsatz ist ein GM45 mit HD Grafik.]]></description>
			<content:encoded><![CDATA[Da ich mir für meinen Mini-PC einen neuen Prozessor bestellt habe, habe ich schomal den Kühler,der über CPU und Chipsatz liegt, entfernt. Ich bin überrascht, daß jeweils auf der Wärmeleitpaste, eine graue harte Masse, ein Stück Alufolie, ca. 0,05mm, liegt. Soll das ein festkleben an den Kühlflächen der Chips verhindern? Kann ich beim Zusammenbau normale Wärmeleitpaste nehmen, oder was wäre zu empfehlen? Eingebaut werden soll ein Intel Core 2 Duo 2400 MHz. Chipsatz ist ein GM45 mit HD Grafik.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Blu Ray am PC]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3503</link>
			<pubDate>Fri, 23 Aug 2013 07:47:59 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3503</guid>
			<description><![CDATA[Ich überlege gerade, ein USB Blu Ray Laufwerk für mein ASUS 1015PN zu kaufen, weil ich kein (DVD-)Laufwerk mehr habe Nun lese ich, daß es gar nicht so einfach wäre, eine Playersoftware kostenlos zu bekommen. hat jemand Erfahrung mit sowas? Wie sind die Harwareanforderungen? Habe 1,5GHz Dualcore Prozessor und nvidia ION Grafik mit HDMI. Full HD Videos laufen problemlos.]]></description>
			<content:encoded><![CDATA[Ich überlege gerade, ein USB Blu Ray Laufwerk für mein ASUS 1015PN zu kaufen, weil ich kein (DVD-)Laufwerk mehr habe Nun lese ich, daß es gar nicht so einfach wäre, eine Playersoftware kostenlos zu bekommen. hat jemand Erfahrung mit sowas? Wie sind die Harwareanforderungen? Habe 1,5GHz Dualcore Prozessor und nvidia ION Grafik mit HDMI. Full HD Videos laufen problemlos.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[USB Tools]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3483</link>
			<pubDate>Fri, 19 Jul 2013 18:18:25 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3483</guid>
			<description><![CDATA[<a href="http://www.obdev.at/products/vusb/prjall-de.html" target="_blank">http://www.obdev.at/products/vusb/prjall-de.html</a><br />
<br />
  <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" />  <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" />  <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" /> ]]></description>
			<content:encoded><![CDATA[<a href="http://www.obdev.at/products/vusb/prjall-de.html" target="_blank">http://www.obdev.at/products/vusb/prjall-de.html</a><br />
<br />
  <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" />  <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" />  <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" /> ]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[BASIC Minicomputer]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3454</link>
			<pubDate>Wed, 29 May 2013 14:33:39 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3454</guid>
			<description><![CDATA[Bin grade darauf gestoßen:<br />
<a href="http://www.ebay.de/itm/271199721789?ssPageName=STRK:MEWAX:IT&amp;_trksid=p3984.m1423.l2649" target="_blank">http://www.ebay.de/itm/271199721789?ssPa...1423.l2649</a><br />
<br />
und etwas kleiner:<br />
<a href="http://www.ebay.de/itm/271199617952?ssPageName=STRK:MEWAX:IT&amp;_trksid=p3984.m1423.l2649" target="_blank">http://www.ebay.de/itm/271199617952?ssPa...1423.l2649</a><br />
<br />
finde ich für den Preis interessant. Was sagen die Äksberden dazu?<br />
<br />
 <img src="https://stromrichter.org/images/smilies/confused.gif" alt="Confused" title="Confused" class="smilie smilie_13" /> ]]></description>
			<content:encoded><![CDATA[Bin grade darauf gestoßen:<br />
<a href="http://www.ebay.de/itm/271199721789?ssPageName=STRK:MEWAX:IT&amp;_trksid=p3984.m1423.l2649" target="_blank">http://www.ebay.de/itm/271199721789?ssPa...1423.l2649</a><br />
<br />
und etwas kleiner:<br />
<a href="http://www.ebay.de/itm/271199617952?ssPageName=STRK:MEWAX:IT&amp;_trksid=p3984.m1423.l2649" target="_blank">http://www.ebay.de/itm/271199617952?ssPa...1423.l2649</a><br />
<br />
finde ich für den Preis interessant. Was sagen die Äksberden dazu?<br />
<br />
 <img src="https://stromrichter.org/images/smilies/confused.gif" alt="Confused" title="Confused" class="smilie smilie_13" /> ]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[IDE SSD]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3400</link>
			<pubDate>Tue, 19 Mar 2013 13:11:09 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3400</guid>
			<description><![CDATA[dieses sogenannte DiskOnModule ist heute eingeflogen und ich will es in meinen Futro S400 einbauen.<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1869_SSD1.jpg" border="0" alt="[Bild: 1869_SSD1.jpg]" /><br />
<br />
nun tritt ein seltsamer Effekt auf. Wenn ich das mitgelieferte Stromkabel (den Stecker habe ich abgeschnitten und an den internernen USB Anschluß angeschlossen), anschließe kann ich den PC nicht einschalten. Lasse ich das Kabel weg, funktioniert alles. Am Anschluß des Moduls kann ich auch 5V messen. Meiner Meinung nach dürfte auf dem IDE Anschluß gar keine Spannung anliegen, wie kommt das?]]></description>
			<content:encoded><![CDATA[dieses sogenannte DiskOnModule ist heute eingeflogen und ich will es in meinen Futro S400 einbauen.<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1869_SSD1.jpg" border="0" alt="[Bild: 1869_SSD1.jpg]" /><br />
<br />
nun tritt ein seltsamer Effekt auf. Wenn ich das mitgelieferte Stromkabel (den Stecker habe ich abgeschnitten und an den internernen USB Anschluß angeschlossen), anschließe kann ich den PC nicht einschalten. Lasse ich das Kabel weg, funktioniert alles. Am Anschluß des Moduls kann ich auch 5V messen. Meiner Meinung nach dürfte auf dem IDE Anschluß gar keine Spannung anliegen, wie kommt das?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ARM Keil MDK]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3395</link>
			<pubDate>Mon, 11 Mar 2013 16:05:32 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3395</guid>
			<description><![CDATA[...wer mal die Keil MDK laden will...habs auf mein lustigen online-speicher<br />
<a href="https://www.free-hidrive.com/ger/" target="_blank">https://www.free-hidrive.com/ger/</a><br />
-&gt; login -&gt; /name: alfsch /pass: hihihi<br />
  <img src="https://stromrichter.org/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /> <br />
<br />
+ zb DB vom STM32F303...<br />
<a href="http://www.keil.com/dd/docs/datashts/st/stm32f30x/dm00043574.pdf" target="_blank">http://www.keil.com/dd/docs/datashts/st/...043574.pdf</a><br />
  <img src="https://stromrichter.org/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /> ]]></description>
			<content:encoded><![CDATA[...wer mal die Keil MDK laden will...habs auf mein lustigen online-speicher<br />
<a href="https://www.free-hidrive.com/ger/" target="_blank">https://www.free-hidrive.com/ger/</a><br />
-&gt; login -&gt; /name: alfsch /pass: hihihi<br />
  <img src="https://stromrichter.org/images/smilies/biggrin.gif" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /> <br />
<br />
+ zb DB vom STM32F303...<br />
<a href="http://www.keil.com/dd/docs/datashts/st/stm32f30x/dm00043574.pdf" target="_blank">http://www.keil.com/dd/docs/datashts/st/...043574.pdf</a><br />
  <img src="https://stromrichter.org/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /> ]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Phantomspeisung, Laptop, Mic-Amp]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3371</link>
			<pubDate>Tue, 19 Feb 2013 21:34:11 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3371</guid>
			<description><![CDATA[Abend!<br />
<br />
Ich beabsichtige Musik und Geräusche mobil in Stereo aufzunehmen.<br />
Mit meinem Netbook und zwei Overhead Mikrofonen macht das Spass.<br />
Bis jetzt betreibe ich einen DCDC Wandler, der aus den 5V USB 15V für die Phantomspeisung der Kondensator Mics bereitstellt. Funktioniert ganz gut!<br />
<br />
Problem:<br />
Leise Geräusche. Wenn ich den digitalen(?) Gain am Rechner aufdrehe, rauscht das ganze unerträglich.<br />
<br />
Idee:<br />
OPV einbringen, der bis zu +25dB bringt.<br />
Versorgt wird dieser mit 15V und virtueller Masse, also bezogen auf 7,5V. Die Soundkarte und das Mic sind auf 0V bezogen. Ich mache mir noch Sorgen, dass der Offset die Koppel-Cs auflädt und keine NF mehr durchkommt.<br />
Laut simu geht das jedoch.<br />
<br />
ACHTUNG, R2 Soll nach GND und nicht nach 7,5V<br />
<img src="https://stromrichter.org/d-amp/content/images/500_Mic_am_Laptop.png" border="0" alt="[Bild: 500_Mic_am_Laptop.png]" /><br />
<br />
<br />
Was sagt ihr, geht das? Tipps?]]></description>
			<content:encoded><![CDATA[Abend!<br />
<br />
Ich beabsichtige Musik und Geräusche mobil in Stereo aufzunehmen.<br />
Mit meinem Netbook und zwei Overhead Mikrofonen macht das Spass.<br />
Bis jetzt betreibe ich einen DCDC Wandler, der aus den 5V USB 15V für die Phantomspeisung der Kondensator Mics bereitstellt. Funktioniert ganz gut!<br />
<br />
Problem:<br />
Leise Geräusche. Wenn ich den digitalen(?) Gain am Rechner aufdrehe, rauscht das ganze unerträglich.<br />
<br />
Idee:<br />
OPV einbringen, der bis zu +25dB bringt.<br />
Versorgt wird dieser mit 15V und virtueller Masse, also bezogen auf 7,5V. Die Soundkarte und das Mic sind auf 0V bezogen. Ich mache mir noch Sorgen, dass der Offset die Koppel-Cs auflädt und keine NF mehr durchkommt.<br />
Laut simu geht das jedoch.<br />
<br />
ACHTUNG, R2 Soll nach GND und nicht nach 7,5V<br />
<img src="https://stromrichter.org/d-amp/content/images/500_Mic_am_Laptop.png" border="0" alt="[Bild: 500_Mic_am_Laptop.png]" /><br />
<br />
<br />
Was sagt ihr, geht das? Tipps?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[RTA - Grundlagenwissen (für 3eepoint)]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3066</link>
			<pubDate>Tue, 29 Nov 2011 19:37:05 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3066</guid>
			<description><![CDATA[<span style="font-weight: bold;"><span style="text-decoration: underline;">(1) Programmierung</span></span><br />
<span style="font-weight: bold;">(1.1) Geschichte</span> <br />
Die Befehle, die ein Prozessor ausführen kann (sein sog. Befehlssatz) werden seit jeher durch binäre Zahlen bestimmter Länge dargestellt. Auf einen Befehl folgen die zu verarbeitenden Daten, ebenfalls in binärer Form. Diese Nullen und Einsen in einer sinnvollen Wiese im Arbeitssprecher angelegt ergeben ein Programm.<br />
<br />
In den Anfangstagen der Computergeschichte hat man nun diese Befehle mittels Lochstreifen, Steckverbindungen oder Kippschaltern dem Rechenwerk zugeführt. Ein entspreche langes Programm war allerdings nur sehr schwer zu verstehen und Entwicklung bzw. Fehlersuche besonders mühsam.<br />
<br />
So begann man den einzelnen Befehlen Buchstabenkürzel zuzuordnen, die sog. Mnemonics. Die Buchstabenkürzel erinnerten an die Funktion des zugehörigen Befehls und erhöhten so die Lesbarkeit des Codes drastisch. Die Kürzel gefolgt von den Daten gab man nun in einen Texteditor ein, von dort wurden sie mit einem speziellen Programm, dem sog. assembler, wieder in Maschinensprache übersetzt. Die "Programmierumgebung" war geboren.<br />
<br />
Aber auch diese Methode ist nicht besonders flexibel und umständlich. So begann man höhere Programmiersprachen zu entwickeln, die mit ihren syntaktischen (=Satzbau) und logischen (=z.B. Verzweigungen: WENN-&gt;DANN) Konstrukten stark der Menschlichen Sprache, bzw. Denkweise ähneln.<br />
Der hochsprachliche Code wird nun von einem Compiler wieder in Maschinenbefehle übersetzt.<br />
<br />
Wir arbeiten hier mit vb.net, einer Programmiersprache, die auf BASIC (Beginners All Purpose Symbolic Instruction Code) basiert. Sie ist besonders einfach zu verstehen, da sie der englischen Sprache auffallend nahe kommt. Auf die Bedeutung elementarer Codewörter wie z.B. "As" oder "New" werde ich daher nicht eingehen.<br />
<br />
<span style="font-weight: bold;">(1.2.1) Codewörter</span><br />
Codewörter sind die "Anweisungen" der Programmiersprache. Sie "sagen" dem Compiler, was getan werden soll. Variablen oder Funktionen dürfen in ihrem Namen nicht mit vordefinierten Codewörtern übereinstimmen. <br />
Biespiele<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim<br />
Private<br />
Inherits<br />
Function</code></div></div>
<br />
<span style="font-weight: bold;">(1.2.2) Variablen, Konstanten und Operatoren</span><br />
Dies sind die elementaren Werkzeuge innerhalb eines Programmcodes. Variablen &amp; Konstanten können verschiedene Informationen tragen: Ganzzahlen, Kommazahlen, Text, "Wahr/Falsch"<br />
Daher unterscheidet man verschiedene Variablentypen:<br />
<br />
-Integer (Byte, Int16, Int32, Int64): Vorzeichenbehaftete Ganzzahlen<br />
-String: Alphanumerische Zeichen<br />
-Boolean: True oder False<br />
-Single/Double/Float: Vorzeichenbehaftete Kommazahlen, bestehend aus Mantisse und Exponent<br />
<br />
Eine Variable kann in ihrem Wert geändert werden, eine Konstante nicht. Beide müssen jedoch vor ihrer Verwendung definiert werden (d.h. im Speicher wird entsprechender Speicherplatz reserviert):<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim myVariable As Int32 'oder auch mit direkter Wertzuweisung:<br />
Dim myVariable As Int32 = 12</code></div></div>
Alle Zeichen innerhalb einer Zeile, die nach einem einfachen Anführungszeichen kommen, werden vom Compiler als Kommentar betrachtet.<br />
<br />
Variablen unterschiedlichen Datentyps können in der Regel nicht direkt ineinander überführt werden. Entsprechende Wertzuweisungen sind unzulässig. Es existierten aber Funktionen zur Konversion der Datentypen.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim myStr As String<br />
Dim myInt As Int32<br />
Dim myDbl As Double = 2.5<br />
<br />
'Falsch:<br />
myInt = myDbl<br />
myStr = myInt<br />
<br />
'Richtig:<br />
myInt = CInt(myDbl)<br />
myStr = myInt.ToString()</code></div></div>
<br />
Operatoren dienen nun dazu Variablen miteinander zu "verrechnen". Im einfachsten Fall kann man zwei Zahlen addieren: <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim a, b, c As Int32<br />
a = 5<br />
b = 7<br />
c = a + b&nbsp;&nbsp;'Es folgt: c = 12</code></div></div>
Wobei "+" hier den Operator darstellt.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>i *= 4</code></div></div>
ist eine Kurzschreibweise für:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>i = i * 4</code></div></div>
<br />
<span style="font-weight: bold;">(1.2.3)Arrays</span><br />
Ein Array ist eine Ansammlung von Variablen eines Datentyps. Es hat eine fest definierte Länge.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim i(2) As Double 'Länge = 3<br />
i(0) = 2.3<br />
i(1) = 7.978<br />
i(2) = i(0) / i(1)</code></div></div>
<br />
<span style="font-weight: bold;">(1.3) Strukturen</span><br />
<span style="font-weight: bold;">(1.3.1) Verzweigungen</span><br />
Verzweigungen werden verwendet, um Entscheidungen zu treffen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>If schoenesWetter = True Then<br />
&nbsp;&nbsp;MsgBox("lass uns rausgehen")<br />
Else<br />
&nbsp;&nbsp;MsgBox("Mist!")<br />
End If</code></div></div>
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Select Case hausnummer<br />
Case 666<br />
&nbsp;&nbsp;MsgBox("The Number of the Beast")<br />
Case 668<br />
&nbsp;&nbsp;MsgBox("Der Nachbar vom Biest")<br />
Case 667<br />
&nbsp;&nbsp;MsgBox("Andere Straßenseite")<br />
End Select</code></div></div>
<br />
<span style="font-weight: bold;">(1.3.2) Schleifen</span><br />
Schleifen werden verwendet, um Anweisungen öfters als einmal auszuführen.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim i As Int<br />
For i = 0 To 100<br />
....<br />
Next i</code></div></div>
Diese Schleife wird durchlaufen, bis i den Wert 100 erreicht hat. Nach jedem Durchlauf wird i um den Wert 1 erhöht.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Do While myTester = True<br />
...<br />
Loop</code></div></div>
Diese Schleife wird solange ausgeführt, wie die Variable "myTester" den Wert True hat.<br />
<br />
<span style="font-weight: bold;">(1.4) Paradigmen</span><br />
<span style="font-weight: bold;">(1.4.1) Imperative Programmierung</span><br />
Das Programm besteht nur aus hintereinander ausgeführten Befehlen.  (Verzweigungen und Schleifen existieren). Soll ein Teil des Codes erneut ausgeführt werden, ist eine Sprunganweisung nötig, die die Ausführung des Programms an einer anderen Stelle fortsetzt. Selbiger Code ist extrem unleserlich und wird daher als "Spaghetti-Code" bezeichnet.<br />
<br />
<span style="font-weight: bold;">(1.4.2) Prozedurale Programmierung</span><br />
Bei der prozeduralen Programmierung werden immer wieder benötigte Programmteile in Funktionen ausgelagert. Diesen Funktionen können, bzw. müssen Variablen übergeben werden, mit denen die Funktion intern arbeitet. Subroutinen ("Subs") können keine Werte zurückgeben, Funktionen ("Function") dagegen schon.<br />
Die übergebenen Variablen, können entweder nach Wert "ByVal" oder nach Referenz "ByRef" übergeben werden. Im ersten Fall wird nur der explizite Wert an die Funktion übergeben, im Zweiten eine Zeiger auf die Variable, die so auch von der Funktion manipuliert werden kann.  <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>'Definitionen<br />
Sub q_s(ByRef i As Int32)<br />
i = i * i<br />
End Sub<br />
<br />
Function q_f(ByVal i As Int32) As Int32<br />
Dim ergebnis As Int32<br />
ergebnis = i * i<br />
Return ergebnis<br />
End Sub<br />
<br />
'So werden die Funktionen aufgerufen:<br />
Dim a As Int32 = 2<br />
Dim b As Int32 = 2<br />
<br />
q_s(a)&nbsp;&nbsp;&nbsp;&nbsp; '-&gt;a = 4<br />
b = q_f(a) '-&gt;a = 4; b = 16</code></div></div>
<br />
<span style="font-weight: bold;">(1.4.3) Objektorientierte Programmierung</span><br />
Hier werden nicht nur Funktionen als wiederkehrende Elemente eingesetzt, sondern sog. Klassen. Eine Klasse besteht aus Variablen und Funktionen ? in diesem Kontext "Methoden" genannt.<br />
Eine klasse kann beliebig oft instanziert werden. Die genauen Hintergründe würden hier den Rahmen leider sprengen, aber Wikipedia weiß Rat. <br />
Wichtig ist, dass alle Methoden und Variablen, die eine Klasse beinhaltet entweder gekapselt "Private" oder öffentlich "Public" sein können. Erstere sind nur innerhalb der Klasse zugänglich, Letzere sind von außen sichtbar.<br />
Wenn ich nun eine Klasse instanziert habe und auf öffentliche Methoden zugreifen will, benötige ich den Punkt-Operator (".").<br />
<br />
Hier ein einfaches Beispiel, dass einen Auto-Tuner simuliert.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>'die Klasse:<br />
<br />
Public Class auto<br />
'Variablen<br />
Private marke As String<br />
Private motrorleistung As Int32<br />
<br />
'Methoden<br />
Public Sub setMarke(m As String)<br />
marke = m<br />
End Sub<br />
<br />
Public Sub setLeistung(l As Int32)<br />
motorleistung = l<br />
End Sub<br />
<br />
Public Function getMarke() As String<br />
Return marke<br />
End Function<br />
<br />
Public Function getLeistung() As Int32<br />
Return motorleistung<br />
End Function<br />
<br />
Public Sub leistungVerdoppeln()<br />
leinstung *= 2<br />
End Sub<br />
<br />
End Class<br />
<br />
<br />
<br />
<br />
'mein Programm<br />
Dim astra As New auto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'der Tuner (=Instanz)<br />
Dim eKlasse As New auto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'und sein Konkurrent (=Instanz)<br />
<br />
astra.setLeistung(65)<br />
astra.setMarke("Opel")<br />
<br />
eKlasse.setLeistung(500)<br />
eKlasse.setMarke("Daimler")<br />
<br />
Do While astra.getLeistung() &lt; eKlasse.getLesitung()<br />
astra.leistungVerdoppeln() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'der Tuner schraubt am Auto rum<br />
Loop</code></div></div>
<br />
Wir arbeiten Objektorientiert.<br />
]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;"><span style="text-decoration: underline;">(1) Programmierung</span></span><br />
<span style="font-weight: bold;">(1.1) Geschichte</span> <br />
Die Befehle, die ein Prozessor ausführen kann (sein sog. Befehlssatz) werden seit jeher durch binäre Zahlen bestimmter Länge dargestellt. Auf einen Befehl folgen die zu verarbeitenden Daten, ebenfalls in binärer Form. Diese Nullen und Einsen in einer sinnvollen Wiese im Arbeitssprecher angelegt ergeben ein Programm.<br />
<br />
In den Anfangstagen der Computergeschichte hat man nun diese Befehle mittels Lochstreifen, Steckverbindungen oder Kippschaltern dem Rechenwerk zugeführt. Ein entspreche langes Programm war allerdings nur sehr schwer zu verstehen und Entwicklung bzw. Fehlersuche besonders mühsam.<br />
<br />
So begann man den einzelnen Befehlen Buchstabenkürzel zuzuordnen, die sog. Mnemonics. Die Buchstabenkürzel erinnerten an die Funktion des zugehörigen Befehls und erhöhten so die Lesbarkeit des Codes drastisch. Die Kürzel gefolgt von den Daten gab man nun in einen Texteditor ein, von dort wurden sie mit einem speziellen Programm, dem sog. assembler, wieder in Maschinensprache übersetzt. Die "Programmierumgebung" war geboren.<br />
<br />
Aber auch diese Methode ist nicht besonders flexibel und umständlich. So begann man höhere Programmiersprachen zu entwickeln, die mit ihren syntaktischen (=Satzbau) und logischen (=z.B. Verzweigungen: WENN-&gt;DANN) Konstrukten stark der Menschlichen Sprache, bzw. Denkweise ähneln.<br />
Der hochsprachliche Code wird nun von einem Compiler wieder in Maschinenbefehle übersetzt.<br />
<br />
Wir arbeiten hier mit vb.net, einer Programmiersprache, die auf BASIC (Beginners All Purpose Symbolic Instruction Code) basiert. Sie ist besonders einfach zu verstehen, da sie der englischen Sprache auffallend nahe kommt. Auf die Bedeutung elementarer Codewörter wie z.B. "As" oder "New" werde ich daher nicht eingehen.<br />
<br />
<span style="font-weight: bold;">(1.2.1) Codewörter</span><br />
Codewörter sind die "Anweisungen" der Programmiersprache. Sie "sagen" dem Compiler, was getan werden soll. Variablen oder Funktionen dürfen in ihrem Namen nicht mit vordefinierten Codewörtern übereinstimmen. <br />
Biespiele<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim<br />
Private<br />
Inherits<br />
Function</code></div></div>
<br />
<span style="font-weight: bold;">(1.2.2) Variablen, Konstanten und Operatoren</span><br />
Dies sind die elementaren Werkzeuge innerhalb eines Programmcodes. Variablen &amp; Konstanten können verschiedene Informationen tragen: Ganzzahlen, Kommazahlen, Text, "Wahr/Falsch"<br />
Daher unterscheidet man verschiedene Variablentypen:<br />
<br />
-Integer (Byte, Int16, Int32, Int64): Vorzeichenbehaftete Ganzzahlen<br />
-String: Alphanumerische Zeichen<br />
-Boolean: True oder False<br />
-Single/Double/Float: Vorzeichenbehaftete Kommazahlen, bestehend aus Mantisse und Exponent<br />
<br />
Eine Variable kann in ihrem Wert geändert werden, eine Konstante nicht. Beide müssen jedoch vor ihrer Verwendung definiert werden (d.h. im Speicher wird entsprechender Speicherplatz reserviert):<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim myVariable As Int32 'oder auch mit direkter Wertzuweisung:<br />
Dim myVariable As Int32 = 12</code></div></div>
Alle Zeichen innerhalb einer Zeile, die nach einem einfachen Anführungszeichen kommen, werden vom Compiler als Kommentar betrachtet.<br />
<br />
Variablen unterschiedlichen Datentyps können in der Regel nicht direkt ineinander überführt werden. Entsprechende Wertzuweisungen sind unzulässig. Es existierten aber Funktionen zur Konversion der Datentypen.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim myStr As String<br />
Dim myInt As Int32<br />
Dim myDbl As Double = 2.5<br />
<br />
'Falsch:<br />
myInt = myDbl<br />
myStr = myInt<br />
<br />
'Richtig:<br />
myInt = CInt(myDbl)<br />
myStr = myInt.ToString()</code></div></div>
<br />
Operatoren dienen nun dazu Variablen miteinander zu "verrechnen". Im einfachsten Fall kann man zwei Zahlen addieren: <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim a, b, c As Int32<br />
a = 5<br />
b = 7<br />
c = a + b&nbsp;&nbsp;'Es folgt: c = 12</code></div></div>
Wobei "+" hier den Operator darstellt.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>i *= 4</code></div></div>
ist eine Kurzschreibweise für:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>i = i * 4</code></div></div>
<br />
<span style="font-weight: bold;">(1.2.3)Arrays</span><br />
Ein Array ist eine Ansammlung von Variablen eines Datentyps. Es hat eine fest definierte Länge.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim i(2) As Double 'Länge = 3<br />
i(0) = 2.3<br />
i(1) = 7.978<br />
i(2) = i(0) / i(1)</code></div></div>
<br />
<span style="font-weight: bold;">(1.3) Strukturen</span><br />
<span style="font-weight: bold;">(1.3.1) Verzweigungen</span><br />
Verzweigungen werden verwendet, um Entscheidungen zu treffen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>If schoenesWetter = True Then<br />
&nbsp;&nbsp;MsgBox("lass uns rausgehen")<br />
Else<br />
&nbsp;&nbsp;MsgBox("Mist!")<br />
End If</code></div></div>
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Select Case hausnummer<br />
Case 666<br />
&nbsp;&nbsp;MsgBox("The Number of the Beast")<br />
Case 668<br />
&nbsp;&nbsp;MsgBox("Der Nachbar vom Biest")<br />
Case 667<br />
&nbsp;&nbsp;MsgBox("Andere Straßenseite")<br />
End Select</code></div></div>
<br />
<span style="font-weight: bold;">(1.3.2) Schleifen</span><br />
Schleifen werden verwendet, um Anweisungen öfters als einmal auszuführen.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Dim i As Int<br />
For i = 0 To 100<br />
....<br />
Next i</code></div></div>
Diese Schleife wird durchlaufen, bis i den Wert 100 erreicht hat. Nach jedem Durchlauf wird i um den Wert 1 erhöht.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>Do While myTester = True<br />
...<br />
Loop</code></div></div>
Diese Schleife wird solange ausgeführt, wie die Variable "myTester" den Wert True hat.<br />
<br />
<span style="font-weight: bold;">(1.4) Paradigmen</span><br />
<span style="font-weight: bold;">(1.4.1) Imperative Programmierung</span><br />
Das Programm besteht nur aus hintereinander ausgeführten Befehlen.  (Verzweigungen und Schleifen existieren). Soll ein Teil des Codes erneut ausgeführt werden, ist eine Sprunganweisung nötig, die die Ausführung des Programms an einer anderen Stelle fortsetzt. Selbiger Code ist extrem unleserlich und wird daher als "Spaghetti-Code" bezeichnet.<br />
<br />
<span style="font-weight: bold;">(1.4.2) Prozedurale Programmierung</span><br />
Bei der prozeduralen Programmierung werden immer wieder benötigte Programmteile in Funktionen ausgelagert. Diesen Funktionen können, bzw. müssen Variablen übergeben werden, mit denen die Funktion intern arbeitet. Subroutinen ("Subs") können keine Werte zurückgeben, Funktionen ("Function") dagegen schon.<br />
Die übergebenen Variablen, können entweder nach Wert "ByVal" oder nach Referenz "ByRef" übergeben werden. Im ersten Fall wird nur der explizite Wert an die Funktion übergeben, im Zweiten eine Zeiger auf die Variable, die so auch von der Funktion manipuliert werden kann.  <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>'Definitionen<br />
Sub q_s(ByRef i As Int32)<br />
i = i * i<br />
End Sub<br />
<br />
Function q_f(ByVal i As Int32) As Int32<br />
Dim ergebnis As Int32<br />
ergebnis = i * i<br />
Return ergebnis<br />
End Sub<br />
<br />
'So werden die Funktionen aufgerufen:<br />
Dim a As Int32 = 2<br />
Dim b As Int32 = 2<br />
<br />
q_s(a)&nbsp;&nbsp;&nbsp;&nbsp; '-&gt;a = 4<br />
b = q_f(a) '-&gt;a = 4; b = 16</code></div></div>
<br />
<span style="font-weight: bold;">(1.4.3) Objektorientierte Programmierung</span><br />
Hier werden nicht nur Funktionen als wiederkehrende Elemente eingesetzt, sondern sog. Klassen. Eine Klasse besteht aus Variablen und Funktionen ? in diesem Kontext "Methoden" genannt.<br />
Eine klasse kann beliebig oft instanziert werden. Die genauen Hintergründe würden hier den Rahmen leider sprengen, aber Wikipedia weiß Rat. <br />
Wichtig ist, dass alle Methoden und Variablen, die eine Klasse beinhaltet entweder gekapselt "Private" oder öffentlich "Public" sein können. Erstere sind nur innerhalb der Klasse zugänglich, Letzere sind von außen sichtbar.<br />
Wenn ich nun eine Klasse instanziert habe und auf öffentliche Methoden zugreifen will, benötige ich den Punkt-Operator (".").<br />
<br />
Hier ein einfaches Beispiel, dass einen Auto-Tuner simuliert.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>'die Klasse:<br />
<br />
Public Class auto<br />
'Variablen<br />
Private marke As String<br />
Private motrorleistung As Int32<br />
<br />
'Methoden<br />
Public Sub setMarke(m As String)<br />
marke = m<br />
End Sub<br />
<br />
Public Sub setLeistung(l As Int32)<br />
motorleistung = l<br />
End Sub<br />
<br />
Public Function getMarke() As String<br />
Return marke<br />
End Function<br />
<br />
Public Function getLeistung() As Int32<br />
Return motorleistung<br />
End Function<br />
<br />
Public Sub leistungVerdoppeln()<br />
leinstung *= 2<br />
End Sub<br />
<br />
End Class<br />
<br />
<br />
<br />
<br />
'mein Programm<br />
Dim astra As New auto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'der Tuner (=Instanz)<br />
Dim eKlasse As New auto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'und sein Konkurrent (=Instanz)<br />
<br />
astra.setLeistung(65)<br />
astra.setMarke("Opel")<br />
<br />
eKlasse.setLeistung(500)<br />
eKlasse.setMarke("Daimler")<br />
<br />
Do While astra.getLeistung() &lt; eKlasse.getLesitung()<br />
astra.leistungVerdoppeln() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'der Tuner schraubt am Auto rum<br />
Loop</code></div></div>
<br />
Wir arbeiten Objektorientiert.<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[RTA]]></title>
			<link>https://stromrichter.org/showthread.php?tid=3058</link>
			<pubDate>Sat, 12 Nov 2011 14:38:44 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=3058</guid>
			<description><![CDATA[<span style="font-weight: bold;"><span style="text-decoration: underline;">Einleitung</span></span><br />
Wie ich im Thread Breitbandchassis erwähnte, habe ich vor langer zeit einmal angefangen einen RealTimeAnalyzer zu programmieren. Leider landete das Projet irgendwann mangels Motivation in der Versenkung.<br />
<br />
Brauchbare Software in dieser Richtung gibt es leider nur ab 200? aufwärts.<br />
Dennoch halte ich es für sinnvoll ein solches Tool zur Hand zu haben.<br />
<br />
So kam mir also die Idee dies hier als "Software-Gemeinschfts-Projekt" vorzuschlagen.<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Wer kann sich beteiligen?</span></span><br />
Jeder!<br />
Ganz unabhängig von mathematischen / informationstechnischen Grundkenntnissen. Ich habe das Projekt extra auf vb.net (bitte keine Diskussion deswegen!) umgemodelt und in sinnvolle Klassen (audio_in, audio_out, mathe, anzeige,...) unterteilt.<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Was brauche ich?</span></span><br />
-PC unter Windows<br />
-Visual Studio ab 2008 oder <a href="http://go.microsoft.com/?linkid=9782376" target="_blank">das kostenlose VB.NET 2010 Express Edition</a> <br />
-die DirectX-for-managed-code-Binaries <a href="http://www.microsoft.com/download/en/confirmation.aspx?id=8109" target="_blank">hier enthalten</a> <br />
-Soundkarte mit LineIN (kein Mikrofoneingang!)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Funktionsweise</span></span><br />
Der enthaltene Signalgenerator liefert ein Anregungsignal, mit dem unser "prüfling" gefüttert wird. Ein Abgriff ("referenz") erfolgt nun vor dem Prüfling und ein zweiter ("signal") danach. (z.B. auch auch Messmikro möglich).<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1_1370702764_rta.jpg" border="0" alt="[Bild: 1_1370702764_rta.jpg]" /><br />
<br />
Beide Signale werden nun per FFT in den Frequenzbereich überführt und elementweise komplexwertig dividiert. Das Ergebnis ist die Übertragungsfunktion des Prüflings. In den Beträgen der komplexen werte steckt der Amplitudengang, in den Argumenten der Phasengang. Eine inverse FFT der Übertragungsfunktion liefert die Impulsantwort.<br />
Für diese Analysen wird ein rosa Rauschen verwendet.<br />
<br />
In den letzten zwei Tagen habe ich nun extra für Gucki noch eine THD-Messung implementiert (basierend auf periodischer Anregung), um "klirrende SE-Verstärker" betrachten zu können.<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Ziele</span></span><br />
-Verbesserung der Messmethoden<br />
-Implementierung neuer Messungen (Impulsantwort, Verzögerung,...)<br />
-Verbesserung der Anzeige<br />
-Algorithmenoptimierung<br />
-Daten Im/Export<br />
-...<br />
(Vielleicht wird das ja eines Tages unser interner Standard für Messungen an Lautsprechern, Verstärker, etc.)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Veröffentlichung</span></span><br />
Ich habe mir gedacht, dass es evt. interessant wäre das Tool unter der GPL auf der Startseite des Forums zu veröffentlichen - als köder für interessierte Neuuser sozusagen   <img src="https://stromrichter.org/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Hinweise</span></span><br />
(1)<br />
vb.net hat aufgrund den historischen Ursprüngen bei BASIC eine recht eigentümliche Art mit Arrays umzugehen.<br />
In BASIC war der Niedrigste Index eines Arrays immer 1, während es bei allen andern Programmiersprachen 0 war und ist.<br />
<br />
-&gt; dim i(2) as integer<br />
lieferte ein Array der Länge zwei mit den Elementen i(1) und i(2)<br />
<br />
Um nun vb.net an den Rest der Welt anzupassen hat man den "0"-ten Eintag zum Array hinzugenommen, aber an der Deklaration nichts geändert:<br />
-&gt; dim i(2) as integer<br />
liefert ein Array der Länge drei mit den Einträgen i(0), i(1), i(2)<br />
<br />
(2)<br />
Bei dem verwendetet FFT-Algorithmus sind die Frequenzen gespiegelt. D.h. während normal die negativen Frequenzen links liegen, die 0 in der Mitte und die positiven Frequenz rechts,<br />
kommen hier erst 0Hz, dann die pos. Frequenzen bis fmax und von fmax wieder absteigend die negativen Frequenzen.<br />
<br />
(3)<br />
Bitte unter "Debug"-&gt;"Exceptions" das Häckchen bei "Managed Debugging Assistants" entfernen<br />
<br />
(4)<br />
Als Zielplattform x86 wählen (anstatt "any")<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Die Sources</span></span><br />
<a href="https://stromrichter.org/d-amp/content/images/1_1370702803_rta_0v1.zip" target="_blank">gibt es hier</a> <br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Screenshot (Signal durch Mischpult)</span></span><br />
<img src="https://stromrichter.org/d-amp/content/images/1_1370702828_scr.png" border="0" alt="[Bild: 1_1370702828_scr.png]" /><br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Vorgehensweise</span></span><br />
Falls tatsächlich Interesse besteht, würde ich vorschlagen, die von mir hier hochgeladene Version als 0v1 zu bezeichnen.<br />
Wer nun Änderungen vornimmt postet ebenfalls wieder ein komplettes (funktionierendes) Projekt und ich füge von Zeit zu Zeit alle Änderungen zu einer neuen Version zusammen...]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;"><span style="text-decoration: underline;">Einleitung</span></span><br />
Wie ich im Thread Breitbandchassis erwähnte, habe ich vor langer zeit einmal angefangen einen RealTimeAnalyzer zu programmieren. Leider landete das Projet irgendwann mangels Motivation in der Versenkung.<br />
<br />
Brauchbare Software in dieser Richtung gibt es leider nur ab 200? aufwärts.<br />
Dennoch halte ich es für sinnvoll ein solches Tool zur Hand zu haben.<br />
<br />
So kam mir also die Idee dies hier als "Software-Gemeinschfts-Projekt" vorzuschlagen.<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Wer kann sich beteiligen?</span></span><br />
Jeder!<br />
Ganz unabhängig von mathematischen / informationstechnischen Grundkenntnissen. Ich habe das Projekt extra auf vb.net (bitte keine Diskussion deswegen!) umgemodelt und in sinnvolle Klassen (audio_in, audio_out, mathe, anzeige,...) unterteilt.<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Was brauche ich?</span></span><br />
-PC unter Windows<br />
-Visual Studio ab 2008 oder <a href="http://go.microsoft.com/?linkid=9782376" target="_blank">das kostenlose VB.NET 2010 Express Edition</a> <br />
-die DirectX-for-managed-code-Binaries <a href="http://www.microsoft.com/download/en/confirmation.aspx?id=8109" target="_blank">hier enthalten</a> <br />
-Soundkarte mit LineIN (kein Mikrofoneingang!)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Funktionsweise</span></span><br />
Der enthaltene Signalgenerator liefert ein Anregungsignal, mit dem unser "prüfling" gefüttert wird. Ein Abgriff ("referenz") erfolgt nun vor dem Prüfling und ein zweiter ("signal") danach. (z.B. auch auch Messmikro möglich).<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1_1370702764_rta.jpg" border="0" alt="[Bild: 1_1370702764_rta.jpg]" /><br />
<br />
Beide Signale werden nun per FFT in den Frequenzbereich überführt und elementweise komplexwertig dividiert. Das Ergebnis ist die Übertragungsfunktion des Prüflings. In den Beträgen der komplexen werte steckt der Amplitudengang, in den Argumenten der Phasengang. Eine inverse FFT der Übertragungsfunktion liefert die Impulsantwort.<br />
Für diese Analysen wird ein rosa Rauschen verwendet.<br />
<br />
In den letzten zwei Tagen habe ich nun extra für Gucki noch eine THD-Messung implementiert (basierend auf periodischer Anregung), um "klirrende SE-Verstärker" betrachten zu können.<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Ziele</span></span><br />
-Verbesserung der Messmethoden<br />
-Implementierung neuer Messungen (Impulsantwort, Verzögerung,...)<br />
-Verbesserung der Anzeige<br />
-Algorithmenoptimierung<br />
-Daten Im/Export<br />
-...<br />
(Vielleicht wird das ja eines Tages unser interner Standard für Messungen an Lautsprechern, Verstärker, etc.)<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Veröffentlichung</span></span><br />
Ich habe mir gedacht, dass es evt. interessant wäre das Tool unter der GPL auf der Startseite des Forums zu veröffentlichen - als köder für interessierte Neuuser sozusagen   <img src="https://stromrichter.org/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" /><br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Hinweise</span></span><br />
(1)<br />
vb.net hat aufgrund den historischen Ursprüngen bei BASIC eine recht eigentümliche Art mit Arrays umzugehen.<br />
In BASIC war der Niedrigste Index eines Arrays immer 1, während es bei allen andern Programmiersprachen 0 war und ist.<br />
<br />
-&gt; dim i(2) as integer<br />
lieferte ein Array der Länge zwei mit den Elementen i(1) und i(2)<br />
<br />
Um nun vb.net an den Rest der Welt anzupassen hat man den "0"-ten Eintag zum Array hinzugenommen, aber an der Deklaration nichts geändert:<br />
-&gt; dim i(2) as integer<br />
liefert ein Array der Länge drei mit den Einträgen i(0), i(1), i(2)<br />
<br />
(2)<br />
Bei dem verwendetet FFT-Algorithmus sind die Frequenzen gespiegelt. D.h. während normal die negativen Frequenzen links liegen, die 0 in der Mitte und die positiven Frequenz rechts,<br />
kommen hier erst 0Hz, dann die pos. Frequenzen bis fmax und von fmax wieder absteigend die negativen Frequenzen.<br />
<br />
(3)<br />
Bitte unter "Debug"-&gt;"Exceptions" das Häckchen bei "Managed Debugging Assistants" entfernen<br />
<br />
(4)<br />
Als Zielplattform x86 wählen (anstatt "any")<br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Die Sources</span></span><br />
<a href="https://stromrichter.org/d-amp/content/images/1_1370702803_rta_0v1.zip" target="_blank">gibt es hier</a> <br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Screenshot (Signal durch Mischpult)</span></span><br />
<img src="https://stromrichter.org/d-amp/content/images/1_1370702828_scr.png" border="0" alt="[Bild: 1_1370702828_scr.png]" /><br />
<br />
<br />
<span style="font-weight: bold;"><span style="text-decoration: underline;">Vorgehensweise</span></span><br />
Falls tatsächlich Interesse besteht, würde ich vorschlagen, die von mir hier hochgeladene Version als 0v1 zu bezeichnen.<br />
Wer nun Änderungen vornimmt postet ebenfalls wieder ein komplettes (funktionierendes) Projekt und ich füge von Zeit zu Zeit alle Änderungen zu einer neuen Version zusammen...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[DesignSpark PCB]]></title>
			<link>https://stromrichter.org/showthread.php?tid=2937</link>
			<pubDate>Sat, 14 May 2011 13:45:20 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=2937</guid>
			<description><![CDATA[..salÃ¼!<br />
<br />
hat jemand schon erfahrungen mit DesignSpark PCB gemacht?<br />
]]></description>
			<content:encoded><![CDATA[..salÃ¼!<br />
<br />
hat jemand schon erfahrungen mit DesignSpark PCB gemacht?<br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Attiny und C/C++]]></title>
			<link>https://stromrichter.org/showthread.php?tid=2795</link>
			<pubDate>Thu, 02 Sep 2010 10:45:12 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=2795</guid>
			<description><![CDATA[Irgendwie soll das ja bisher nicht gegangen sein. Nun - mit dem Studio 4 und WinAVR - scheint aber alles zu gehen.<br />
<br />
Hab daher diesen Beitrag mal umkopiert.<br />
<br />
<br />
Studio4, Tiny85, MKII vorbereitet, PORTB-Zugriff. Sieht IMHO alles soweit vielversprechend aus...<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1_avr.jpg" border="0" alt="[Bild: 1_avr.jpg]" /><br />
<br />
Jetzt frag ich mich nur, womit der 62 Byte zugeschmiert hat.  <img src="https://stromrichter.org/images/smilies/icon9.gif" alt="misstrau" title="misstrau" class="smilie smilie_25" /> <br />
<br />
Und ich frag mich, wieso der für einen Portzugriff erst ein Hilfsregister laden muss. Das bin ich vom PIC direkter gewohnt. Liegts am Compiler oder braucht der AVR das so?<br />
<br />
Ich bin zwar im Studio noch Greenhorn, aber das wird stündlich besser.]]></description>
			<content:encoded><![CDATA[Irgendwie soll das ja bisher nicht gegangen sein. Nun - mit dem Studio 4 und WinAVR - scheint aber alles zu gehen.<br />
<br />
Hab daher diesen Beitrag mal umkopiert.<br />
<br />
<br />
Studio4, Tiny85, MKII vorbereitet, PORTB-Zugriff. Sieht IMHO alles soweit vielversprechend aus...<br />
<br />
<img src="https://stromrichter.org/d-amp/content/images/1_avr.jpg" border="0" alt="[Bild: 1_avr.jpg]" /><br />
<br />
Jetzt frag ich mich nur, womit der 62 Byte zugeschmiert hat.  <img src="https://stromrichter.org/images/smilies/icon9.gif" alt="misstrau" title="misstrau" class="smilie smilie_25" /> <br />
<br />
Und ich frag mich, wieso der für einen Portzugriff erst ein Hilfsregister laden muss. Das bin ich vom PIC direkter gewohnt. Liegts am Compiler oder braucht der AVR das so?<br />
<br />
Ich bin zwar im Studio noch Greenhorn, aber das wird stündlich besser.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Software Hornsimulation.]]></title>
			<link>https://stromrichter.org/showthread.php?tid=2745</link>
			<pubDate>Sun, 02 May 2010 16:02:14 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=2745</guid>
			<description><![CDATA[Hier sollen Programme gesammelt werden, mit deren Hilfe Hornlautsprecher simuliert und berechnet werden können.<br />
<br />
Zur Simulation von Bass Reflex Systemen verwende ich WinISD und bin zu Frieden. Leider kann es keine Hörner berechnen.<br />
<br />
<br />
<span style="font-weight: bold;">Wer kennt Freeware zur Hornkalkulation?</span>]]></description>
			<content:encoded><![CDATA[Hier sollen Programme gesammelt werden, mit deren Hilfe Hornlautsprecher simuliert und berechnet werden können.<br />
<br />
Zur Simulation von Bass Reflex Systemen verwende ich WinISD und bin zu Frieden. Leider kann es keine Hörner berechnen.<br />
<br />
<br />
<span style="font-weight: bold;">Wer kennt Freeware zur Hornkalkulation?</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Atmel und Bascom]]></title>
			<link>https://stromrichter.org/showthread.php?tid=2729</link>
			<pubDate>Mon, 29 Mar 2010 06:23:19 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=2729</guid>
			<description><![CDATA[Hallo,<br />
<br />
will hier mal aufzeigen wie einfach es sein kann ATmega´s/ ATtiny´s mit Bascom zu programmieren.<br />
<br />
Vorweg ich betreibe diesen Spaß nur als Hobby, also nicht alles auf die Goldwaage legen.<br />
<br />
Ich werde jetzt mal drauf verzichten wie man eine LED blinken lassen kann, und hier versuchen aufzuzeigen wie man mit Bascom schnell kleine Programme erstellen kann.<br />
<br />
Mit der Demo-Version von Bascom kann man Programme bis 4KB erzeugen, ferner braucht man noch ein Interface für den Druckerport, da gibt es verschiedene Möglichkeiten, ich habe mich für die Version mit IC entschieden, siehe Alfsch Seite, hat den Vorteil das man nach dem Programmieren das Interface nicht trennen muss.<br />
<br />
Bascom  beinhaltet eine IDE, Simulator und man kann die Controller direkt aus Bascom programmieren, leider hat der Soft-Simulator Probleme mit machen Timern bzw. machen Controller-Typen, ist aber nicht tragisch einfach das erzeugte Hex-File ins AVR-Studio laden und simulieren.<br />
Die Programm-Beispiele beziehen sich auf eine Schaltung von mir die die folgende Funktionen hat, Controller Atmega48/88:<br />
<br />
Messen einer Frequenz (Rechteck) mit 24Bit Auflösung<br />
Ausgabe dieser Frequenz +- 62.5% einstellbar, Tastverhältnis 50/50, Phase wie Eingang.<br />
Schalten eines Portpin nach einer einstellbaren Anzahl von Ausgangsimpulsen, wobei die Anzahl mit steigender Frequenz abnimmt.<br />
Permanente Ein/Ausgabe von Seriellendaten und deren Manipulation.<br />
Einlesen von Daten über einen Soft-UART vom PC. <br />
  <br />
Ferner kann ich auch ein bisschen schreiben wie das ganze mit einem STM32 aussieht<br />
bzw. wie man ein Programm mit PureBasic schreibt um die Daten in den Controller zu<br />
bekommen.<br />
<br />
Also sagt mal ob das hier jemanden interessiert dann mache ich mal weiter.<br />
<br />
Gruß           <br />
]]></description>
			<content:encoded><![CDATA[Hallo,<br />
<br />
will hier mal aufzeigen wie einfach es sein kann ATmega´s/ ATtiny´s mit Bascom zu programmieren.<br />
<br />
Vorweg ich betreibe diesen Spaß nur als Hobby, also nicht alles auf die Goldwaage legen.<br />
<br />
Ich werde jetzt mal drauf verzichten wie man eine LED blinken lassen kann, und hier versuchen aufzuzeigen wie man mit Bascom schnell kleine Programme erstellen kann.<br />
<br />
Mit der Demo-Version von Bascom kann man Programme bis 4KB erzeugen, ferner braucht man noch ein Interface für den Druckerport, da gibt es verschiedene Möglichkeiten, ich habe mich für die Version mit IC entschieden, siehe Alfsch Seite, hat den Vorteil das man nach dem Programmieren das Interface nicht trennen muss.<br />
<br />
Bascom  beinhaltet eine IDE, Simulator und man kann die Controller direkt aus Bascom programmieren, leider hat der Soft-Simulator Probleme mit machen Timern bzw. machen Controller-Typen, ist aber nicht tragisch einfach das erzeugte Hex-File ins AVR-Studio laden und simulieren.<br />
Die Programm-Beispiele beziehen sich auf eine Schaltung von mir die die folgende Funktionen hat, Controller Atmega48/88:<br />
<br />
Messen einer Frequenz (Rechteck) mit 24Bit Auflösung<br />
Ausgabe dieser Frequenz +- 62.5% einstellbar, Tastverhältnis 50/50, Phase wie Eingang.<br />
Schalten eines Portpin nach einer einstellbaren Anzahl von Ausgangsimpulsen, wobei die Anzahl mit steigender Frequenz abnimmt.<br />
Permanente Ein/Ausgabe von Seriellendaten und deren Manipulation.<br />
Einlesen von Daten über einen Soft-UART vom PC. <br />
  <br />
Ferner kann ich auch ein bisschen schreiben wie das ganze mit einem STM32 aussieht<br />
bzw. wie man ein Programm mit PureBasic schreibt um die Daten in den Controller zu<br />
bekommen.<br />
<br />
Also sagt mal ob das hier jemanden interessiert dann mache ich mal weiter.<br />
<br />
Gruß           <br />
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Antike Computer]]></title>
			<link>https://stromrichter.org/showthread.php?tid=2725</link>
			<pubDate>Sat, 27 Mar 2010 11:18:18 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=2725</guid>
			<description><![CDATA[Dank an Holm für folgende Impressionen:<br />
<br />
<a href="http://www.tiffe.de/images/K8924-2.jpg" target="_blank">[Bild: K8924-2.jpg]</a><br />
<br />
<a href="http://www.tiffe.de/images/Disketten.jpg" target="_blank">[Bild: Disketten.jpg]</a><br />
<br />
und....<br />
<br />
<a href="http://www.tiffe.de/Robotron/K1003/" target="_blank">http://www.tiffe.de/Robotron/K1003/</a><br />
<br />
<a href="http://www.robotrontechnik.de/" target="_blank">http://www.robotrontechnik.de/</a><br />
<br />
<br />
 <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" /> ]]></description>
			<content:encoded><![CDATA[Dank an Holm für folgende Impressionen:<br />
<br />
<a href="http://www.tiffe.de/images/K8924-2.jpg" target="_blank">[Bild: K8924-2.jpg]</a><br />
<br />
<a href="http://www.tiffe.de/images/Disketten.jpg" target="_blank">[Bild: Disketten.jpg]</a><br />
<br />
und....<br />
<br />
<a href="http://www.tiffe.de/Robotron/K1003/" target="_blank">http://www.tiffe.de/Robotron/K1003/</a><br />
<br />
<a href="http://www.robotrontechnik.de/" target="_blank">http://www.robotrontechnik.de/</a><br />
<br />
<br />
 <img src="https://stromrichter.org/images/smilies/hearts.gif" alt="Heart" title="Heart" class="smilie smilie_16" /> ]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[CMS ohne Datenbank]]></title>
			<link>https://stromrichter.org/showthread.php?tid=2719</link>
			<pubDate>Wed, 24 Mar 2010 13:43:46 +0000</pubDate>
			<guid isPermaLink="false">https://stromrichter.org/showthread.php?tid=2719</guid>
			<description><![CDATA[Widerwillig muss ich zugeben, dass ein CMS auch für kleinere Webseiten sinnvoll ist. Aber ich will den Inhalt nicht in einer Datenbank versenken (kein Vertrauen zu den Dingern).<br />
<br />
Kennt ihr da etwas Passendes oder habt ihr eine Empfehlung? Gefunden habe ich bisher MoziloCMS. So richtig werde ich damit aber nicht warm.<br />
<br />
Wie arbeiten sich eigentlich die Suchmaschinen durch dieses PHP-Geraffel?]]></description>
			<content:encoded><![CDATA[Widerwillig muss ich zugeben, dass ein CMS auch für kleinere Webseiten sinnvoll ist. Aber ich will den Inhalt nicht in einer Datenbank versenken (kein Vertrauen zu den Dingern).<br />
<br />
Kennt ihr da etwas Passendes oder habt ihr eine Empfehlung? Gefunden habe ich bisher MoziloCMS. So richtig werde ich damit aber nicht warm.<br />
<br />
Wie arbeiten sich eigentlich die Suchmaschinen durch dieses PHP-Geraffel?]]></content:encoded>
		</item>
	</channel>
</rss>