Gast
#1845534
Hi, weiß jemand wie man einen komplexen Teiler in VHDL schreibt? sowohl der Divident als auch der Divisor sind hierbei komplex, hat jemand zufällig sowas schon gemacht? MfG
|
Anzeige
|
komplexer teiler
Gast
#1845534
Hi, weiß jemand wie man einen komplexen Teiler in VHDL schreibt? sowohl der Divident als auch der Divisor sind hierbei komplex, hat jemand zufällig sowas schon gemacht? MfG lukas schrieb: > Hi, weiß jemand wie man einen komplexen Teiler in VHDL schreibt? sowohl > der Divident als auch der Divisor sind hierbei komplex, hat jemand > zufällig sowas schon gemacht? erste Idee meinerseits wäre es so zu machen, wie auf Papier: 1. Betrag der komplexen Zahlen bilden, "normal" dividieren. 2. Winkel der komplexen Zahlen bilden, Winkel des Nenners vom Winkel des Zählers abziehen. 3. aus Betrag (von 1.) und Winkel (von 2.) wieder die gewünschte Form bilden. mag aber durchaus sein, dass es schnellere Rechenwege gibt. viele Grüße Christian
Gast
#1845683
ja ich habe im nenner und Zähler jeweils imaginär und realteil seperat als vekktoren vorliegen ( a +jb ), ich glaube das in winkeln umzurechnen wird komplizierter.
Gast
#1845701
Komplexe Division erhält man durch Erweiterung: c = a/b = a/b * b/b = (a*b)/(b*b) d.h. man hat je Re/Im-Teil eine reelle Division. Gruss Bert
Gast
#1845762
Moin, muß man nicht mit dem konjugiert komplexen Wert von b erweitern? Dadurch erhalt man einen reellen Nenner. Siehe hier http://de.wikipedia.org/wiki/Komplexe_Zahl Also (a+ib) / (x+iy) wird zu ((a+ib) / (x+iy)) * ((x-iy) / (x-iy)) und daraus dann (a+ib) * (x-iy) / (x²+y²)
Gast
#1845787
.. oh ja, stimmt. Spart 2 Mults und 2-3 Adds ein. Auf jeden Fall aber wesentlich besser als eine Polarkoordinatentransformation. Bert
Gast
#1847925
Kommt auf die Darstellung (float / fixed) und die gewünschte Genauigkeit an. Für manche Anwendungen reicht eine Lookup-Table zur Umwandlung in Polarkoordinaten. Ansonsten steht oben ja schon einiges.
Gast
#1847958
Willst du den Code simulieren oder synthetisieren? Es gibt eine standard Lib für Kompelexe Zahlen. Diese lässt sich leider nicht synthetisieren.
In jedem Fall konjugiert komplex erweitern und multiplizieren. Teilen dauert viel zu lang.
Gast
#1848678
Division ist nach wie vor notwendig. Durch die konjugierte Erweiterung wird die Division auf die reelle Division reduziert. Sonst könnte man ja die reelle Division auf die komplexe Ebene projezieren und hat dann nur eine Multiplikation, was ja Unsinn ist. Bert uups, stimmt natürlich - eigentlich wollte ich schreiben "dauert schon viel zu lang", aber mir fällt jetzt auch auf, daß ich in der Tat eine reine Multiplikation mit dem Reziprokwert im Kopf hatte. Kommt eben drauf an, ob sich der Nenner (häufiger) ändert oder ob man nicht dessen Reziprokwert einmal berechnen kann. Ich hätte dazu nebenbei ein VHDL anzubieten - packt auf einem einem V5 30MHz Daten. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|