![]() |
AW: Circular spectrum visualizer
Zitat:
Danke noch für die Info dann scheinen die werte Window(n) identisch zu sein oder nur der eine? gruss |
AW: Circular spectrum visualizer
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Anhang 50888 Zitat:
|
AW: Circular spectrum visualizer
Zitat:
Zitat:
Und genau das kann schon der unterschied sein bei der Visuellen Darstellung. Zitat:
Deshalb bin ich froh das hier einige Helfen um von mir überprüfte Datentypen und Ergebnisse zu bestätigen so das ich sicher sein kann das sie stimmen. Besonders Michael II Daumen Hoch. :thumb: Hmmm..bekomme die Rings nicht ans laufen. Aber wird schon irgendwann. gruss |
AW: Circular spectrum visualizer
Q.e.d.
Das passiert, wenn jemand ohne grundlegende (nix mit höhere) mathematische Kenntnisse versucht, Sachen umzusetzen, ohne sich im geringsten freiwillig fortbilden zu wollen. Das ist ja nun alles kein Hexenwerk. Nimm dir zwei, drei Stunden, um dich per Wikipedia und Nachhilfeseiten über die wichtigsten Stichwörter schlau zu machen, sonst wird das hier nur eine Farce. Exponentialschreibweise...Herr im Himmel.:shock: |
AW: Circular spectrum visualizer
Zitat:
Außer das ich Zeit in mein Hobby investiere. Wenn du doch so über schlau bist im Gegensatz zu mir dann helfe doch bitte hier mit und gut ist. Eventuell können dann andere etwas davon lernen. 60% deiner Beiträge sind nur darauf aus hier rumzusticheln wieso kannst du es einfach nicht mal lassen? Mache es doch so wie Michael II der zieht auch nicht über mich her. PS: Ach so vergessen.. Am ende zählt das Ergebnis. gruss |
AW: Circular spectrum visualizer
Hoi EWeiss
eventuell solltest du deine FFT Funktion testen. Ich meine damit: Du hast ja die VB Version (ich habe VB nicht installiert) und die Delphi Version. Du könntest mal deiner FFT Funktion und der VB Version den gleichen Array of Complex "füttern" und abspeichern was die beiden FFT Funktionen zurück liefern. Hier findest du ein Onlinetool, mit welchem du deine FFT auch direkt überprüfen kannst: ![]() Du kannst deiner FFT auch einen kurzen Array von Länge 8 füttern. Zu FFT: Eine sehr gute Einführung findest du hier: ![]() ![]() Jene, welche schreiben, dass FFT für sie zu einfach ist, sollen doch entweder dir helfen oder aber etwas auf ihrem Mathematik Niveau lesen. Ich empfehle hier Artins wunderbares kleines Büchlein zur Galois Theorie oder vielleicht etwas Neueres; zum Beispiel aus dem Gebiet der Algebraischen Topologie, Andrew Wiles Beweis zum grossen Satz von Fermat. Viel Spass. |
AW: Circular spectrum visualizer
Zitat:
Ich bin wenigstens noch so ehrlich und gebe zu das ich es nicht beherrsche und versuche hier nicht den Klugscheißer herauszulassen. Sorry für das harte Wort. Dabei habe ich ein paar seiten vorher noch geschrieben das ich mit meinen 61 Jahren keinen Bock mehr darauf habe mich in solcher Materie einzuarbeiten Destotrotz hindert es mich nicht daran es in irgendeiner weise umzusetzen. Tut mir leid das ich kein Mathegenie bin Herr TiGü wie auch immer. Zitat:
gruss |
AW: Circular spectrum visualizer
Unbedingt korrigieren:
Delphi-Quellcode:
(Weil var fehlte rechnete FFT für die Katz ;-) und dein Programm stellte die gemessenen Stützpunkte der Tonkurve dar und nicht wie gewollt das Spektrum.)
procedure TSpectrum.FFT( [B]var[/B] Dat: array of TComplex );
Deine FFT Prozedur könntest du so testen:
Delphi-Quellcode:
procedure TSpectrum.FFT(Dat: array of TComplex);
var i, j, n, K , io, ie, in_, nn: Integer; u, tp, tq, w: TComplex; sr: Single; begin if not FFTInit then begin InitFFT; FFTInit := True; end; // zum Beispiel durch Überschreiben von Dat durch cos(x) for i := 0 to FFFTSize -1 do begin h[i].r := cos(i/FFFTSize*2*pi); h[i].i := 0; end; Setze einen Breakpoint am Ende von FFT. Prüfe, ob FFT Dat[1].r = Date[FFFTSize-1].r = 0.5 und Dat[]=0 für alle anderen Werte. |
AW: Circular spectrum visualizer
Zitat:
EDIT: Hat aber ein sehr seltsames verhalten. Hast du das mal selbst versucht? Verstehe jetzt nicht wie du das meinst einfach
Delphi-Quellcode:
einfügen und dann normal durchlaufen lassen?
for i := 0 to FFFTSize -1 do
begin Dat[i].r := cos(i/FFFTSize*2*pi); Dat[i].i := 0; end; Oder dahinter ein Exit um aus der Funktion zu springen. gruss |
AW: Circular spectrum visualizer
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Bzw. bei Zitat:
Das die ersten 10 Werte bei Delphi in der Ausgabe als 1 erscheinen, liegt daran, dass sie sich erst ab der vierten Nachkommastelle unterscheiden. Die vierte und folgende Nachkommastellen werden bei der Ausgabe aber auf drei Nachkommastellen gerundet. Diese Rundung führt dazu, dass die Werte nicht mehr unterscheidbar sind. Bei derartigen Zahlen, die sich nur marginal unterscheiden, führt die Ausgabe häufig zu einer fehlerhaften Anzeige der Werte. Die tatsächlichen Werte in den Variabeln sind jedoch korrekt. Hier mal ein Pascalscript und seine Ausgabe. Hier wird recht gut deutlich, was mit Zitat:
Delphi-Quellcode:
Ein Auszug aus dem Ergebnis, das sich vollstänig in der anhängenden Datei befindet:
program Test;
const pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912; var i : Integer; x : Double; n : Double; FFFTSize : Integer; sl : TStringList; begin sl := TStringList.Create; FFFTSize := 2048; for i := 0 to 10 do begin n := i; x := 0.53836 - 0.46164 * Cos(6.28318530717959 * n / (FFFTSize - 1)); sl.Add(Format('%1.18f - %1.3f',[x,x])); end; sl.Add(''); for i := 0 to FFFTSize -1 do begin n := i; x := cos(n / FFFTSize * 2.0 * pi); sl.Add(Format('%.4d - %1.18f - %1.3f - %1.18f - %1.3f',[i,x,x, pi,pi])); end; sl.SaveToFile('String_Anzeige-Problem.txt'); sl.Free; end.
Code:
0,076719999999999949 - 0,077
0,076722174688946714 - 0,077 0,076728698735298086 - 0,077 0,076739572077587136 - 0,077 0,076754794613369869 - 0,077 0,076774366199225946 - 0,077 0,076798286650760166 - 0,077 0,076826555742603994 - 0,077 0,076859173208418010 - 0,077 0,076896138740894182 - 0,077 0,076937451991758771 - 0,077 0000 - 1,000000000000000000 - 1,000 - 3,141592653589793280 - 3,142 0001 - 0,999995293809576192 - 1,000 - 3,141592653589793280 - 3,142 0002 - 0,999981175282601088 - 1,000 - 3,141592653589793280 - 3,142 0003 - 0,999957644551963904 - 1,000 - 3,141592653589793280 - 3,142 0004 - 0,999924701839144448 - 1,000 - 3,141592653589793280 - 3,142 0005 - 0,999882347454212608 - 1,000 - 3,141592653589793280 - 3,142 0006 - 0,999830581795823360 - 1,000 - 3,141592653589793280 - 3,142 0007 - 0,999769405351215232 - 1,000 - 3,141592653589793280 - 3,142 0008 - 0,999698818696204288 - 1,000 - 3,141592653589793280 - 3,142 0009 - 0,999618822495178624 - 1,000 - 3,141592653589793280 - 3,142 0010 - 0,999529417501093120 - 1,000 - 3,141592653589793280 - 3,142 0011 - 0,999430604555461760 - 0,999 - 3,141592653589793280 - 3,142 0012 - 0,999322384588349568 - 0,999 - 3,141592653589793280 - 3,142 0013 - 0,999204758618363904 - 0,999 - 3,141592653589793280 - 3,142 0014 - 0,999077727752645376 - 0,999 - 3,141592653589793280 - 3,142 0015 - 0,998941293186856832 - 0,999 - 3,141592653589793280 - 3,142 0016 - 0,998795456205172352 - 0,999 - 3,141592653589793280 - 3,142 0017 - 0,998640218180265216 - 0,999 - 3,141592653589793280 - 3,142 0018 - 0,998475580573294720 - 0,998 - 3,141592653589793280 - 3,142 0019 - 0,998301544933892864 - 0,998 - 3,141592653589793280 - 3,142 0020 - 0,998118112900149120 - 0,998 - 3,141592653589793280 - 3,142 0021 - 0,997925286198595968 - 0,998 - 3,141592653589793280 - 3,142 0022 - 0,997723066644191616 - 0,998 - 3,141592653589793280 - 3,142 0023 - 0,997511456140303488 - 0,998 - 3,141592653589793280 - 3,142 0024 - 0,997290456678690176 - 0,997 - 3,141592653589793280 - 3,142 0025 - 0,997060070339483008 - 0,997 - 3,141592653589793280 - 3,142 ... 1525 - -0,033741171851377760 - -0,034 - 3,141592653589793280 - 3,142 1526 - -0,030674803176636486 - -0,031 - 3,141592653589793280 - 3,142 1527 - -0,027608145778966163 - -0,028 - 3,141592653589793280 - 3,142 1528 - -0,024541228522912387 - -0,025 - 3,141592653589793280 - 3,142 1529 - -0,021474080275469286 - -0,021 - 3,141592653589793280 - 3,142 1530 - -0,018406729905805165 - -0,018 - 3,141592653589793280 - 3,142 1531 - -0,015339206284988122 - -0,015 - 3,141592653589793280 - 3,142 1532 - -0,012271538285719624 - -0,012 - 3,141592653589793280 - 3,142 1533 - -0,009203754782060083 - -0,009 - 3,141592653589793280 - 3,142 1534 - -0,006135884649154417 - -0,006 - 3,141592653589793280 - 3,142 1535 - -0,003067956762965594 - -0,003 - 3,141592653589793280 - 3,142 1536 - -0,000000000000000184 - 0,000 - 3,141592653589793280 - 3,142 1537 - 0,003067956762966115 - 0,003 - 3,141592653589793280 - 3,142 1538 - 0,006135884649154048 - 0,006 - 3,141592653589793280 - 3,142 1539 - 0,009203754782059716 - 0,009 - 3,141592653589793280 - 3,142 1540 - 0,012271538285720144 - 0,012 - 3,141592653589793280 - 3,142 1541 - 0,015339206284987754 - 0,015 - 3,141592653589793280 - 3,142 1542 - 0,018406729905804797 - 0,018 - 3,141592653589793280 - 3,142 1543 - 0,021474080275469805 - 0,021 - 3,141592653589793280 - 3,142 1544 - 0,024541228522912022 - 0,025 - 3,141592653589793280 - 3,142 1545 - 0,027608145778965795 - 0,028 - 3,141592653589793280 - 3,142 1546 - 0,030674803176637005 - 0,031 - 3,141592653589793280 - 3,142 1547 - 0,033741171851377402 - 0,034 - 3,141592653589793280 - 3,142 ... 2022 - 0,996820299291165824 - 0,997 - 3,141592653589793280 - 3,142 2023 - 0,997060070339483008 - 0,997 - 3,141592653589793280 - 3,142 2024 - 0,997290456678690176 - 0,997 - 3,141592653589793280 - 3,142 2025 - 0,997511456140303488 - 0,998 - 3,141592653589793280 - 3,142 2026 - 0,997723066644191616 - 0,998 - 3,141592653589793280 - 3,142 2027 - 0,997925286198595968 - 0,998 - 3,141592653589793280 - 3,142 2028 - 0,998118112900149120 - 0,998 - 3,141592653589793280 - 3,142 2029 - 0,998301544933892736 - 0,998 - 3,141592653589793280 - 3,142 2030 - 0,998475580573294720 - 0,998 - 3,141592653589793280 - 3,142 2031 - 0,998640218180265216 - 0,999 - 3,141592653589793280 - 3,142 2032 - 0,998795456205172352 - 0,999 - 3,141592653589793280 - 3,142 2033 - 0,998941293186856832 - 0,999 - 3,141592653589793280 - 3,142 2034 - 0,999077727752645376 - 0,999 - 3,141592653589793280 - 3,142 2035 - 0,999204758618363904 - 0,999 - 3,141592653589793280 - 3,142 2036 - 0,999322384588349568 - 0,999 - 3,141592653589793280 - 3,142 2037 - 0,999430604555461760 - 0,999 - 3,141592653589793280 - 3,142 2038 - 0,999529417501093120 - 1,000 - 3,141592653589793280 - 3,142 2039 - 0,999618822495178624 - 1,000 - 3,141592653589793280 - 3,142 2040 - 0,999698818696204288 - 1,000 - 3,141592653589793280 - 3,142 2041 - 0,999769405351215232 - 1,000 - 3,141592653589793280 - 3,142 2042 - 0,999830581795823360 - 1,000 - 3,141592653589793280 - 3,142 2043 - 0,999882347454212608 - 1,000 - 3,141592653589793280 - 3,142 2044 - 0,999924701839144448 - 1,000 - 3,141592653589793280 - 3,142 2045 - 0,999957644551963904 - 1,000 - 3,141592653589793280 - 3,142 2046 - 0,999981175282601088 - 1,000 - 3,141592653589793280 - 3,142 2047 - 0,999995293809576192 - 1,000 - 3,141592653589793280 - 3,142 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz