Hier die FFT-Analyse der 3 Wav-Dateien: FFT_1.png FFT_2.png FFT_3.png
Wie funktioniert eigentlich die Parabel-Version?
Ich hab die FUnktion in AutoIt nachgebaut:
AutoIt
Func _Sin($fX)
Local $tUInt64 = DllStructCreate("uint64")
Local $tUInt = DllStructCreate("uint;uint", DllStructGetPtr($tUInt64))
Local $tInt = DllStructCreate("int;int", DllStructGetPtr($tUInt64))
DllStructSetData($tUInt, 1, $fX * 2 ^ 31 / $cPI)
Local $ebx = DllStructGetData($tInt, 1) ;-> Sin_1.png
DllStructSetData($tUInt, 1, 0x80000000 + $ebx * 2)
Local $eax = DllStructGetData($tInt, 1) ;-> Sin_2.png
$ebx = BitShift($ebx, 31)
DllStructSetData($tUInt64, 1, $eax * $eax)
Local $edx = DllStructGetData($tUInt, 2) ;-> Sin_3.png
DllStructSetData($tUInt, 1, 0x80000000 + $edx * 2)
$eax = DllStructGetData($tInt, 1) ;-> Sin_4.png
$eax = BitXOR($eax, $ebx) ;-> Sin_5.png
Return $eax / -2 ^ 31
EndFunc
Alles anzeigen
Bei den einzelnen Schritten kommt man nun zu diesen Outputs:
Sin_1.png Sin_2.png Sin_3.png Sin_4.png Sin_5.png
Erklärung kommt evtl später ![]()