Short: DFT, IDFT, DWT and FFT for A1200(HD). Author: wisecracker.bazza@gmail.com (Barry Walker) Uploader: Barry Walker Type: dev/src Version: 1.02.00 Architecture: generic; m68k-amigaos Distribution: AMINET, Public Domain, (Creative Commons CC0 licence). ============================================================================ Architectures: Classic AMIGAs, FS-UAE, OSX 10.15.7, Linux Mint 21.3. -------------------------------------------------------------------- MINIMUM Requirements Are:- -------------------------- 1) Amiga environment:- Stock AMIGA 1200 with HDD and 4MB FastRAM. (Extra memory is always useful, but not needed; it will run much faster however with more FastRAM and expansion cards). FS-UAE on OSX 10.15.7 and Linux Mint 20.3. Standard AMIGA OS_3.0.x install or better. 2) Apple OSX 10.15.7 and higher using default Python 2.7.x, 3.5.2. 3.8.x, 3.9.x and 3.10.4, and the default Perl version. 3) Linux Mint 20.3, Python 2.7.x and 3.8.x, and the default Perl version. (Not tested on Windows and/or WinUAE but they should work.) ---------------------------------------------------------------------------- History:- --------- 24-06-2023, definitely the final upload. ---------------------------------------- Vsersion 1.02.00: Added an FFT in C++, pre-c++98 issue, but still compiles on current C++ compilers as well as for the AMIGA/ADE combination and g++ of its gcc 2.95.3 suite. 13-08-2022, the final upload. ----------------------------- Version 1.01.00: Added IDFT_BWBasic.bas, DFT_CMATH.pl, DFT_MATH.pl, DFT.pl, and corrected some '.readme' files. DFT_Python_1.4.0.py is working again correctly as I commented out 'REAL_LIST' by accident. C_ASM drawer contains Assembly soruces from the two C compilers, GCC and VBCC. (Added 178 extra DLs.) 17-05-2022. ----------- Version 1.00.20: Replaces dev/src/DFT_IDFT_DWT_FFT.lha because of LHA archiving bug. LHA has date stamp errors... (Added 78 extra DLs.) 16-05-2022. ----------- Version 1.00.10. Added four Inverse Discrete Fourier Transforms. (34 extra DLs.) 21-01-2022. ----------- Version 1.00.00. Various Fourier Transforms and a very basic 1D Haar Discrete Wavelet Transform in there too. (117 Dls before new release.) ---------------------------------------------------------------------------- DFT - Discrete Fourier Transform. IDFT - Inverse Discrete Fourier Transform. DWT - Discrete (Haar) Wavelet Transform, (1 Dimension). FFT - Fast Fourier Transform - NOT Finite Fourier Transform. !!! IMPORTANT !!! ----------------- Although I use RADIX 2 for the DFTs, this is NOT strictly a requirement! RADIX 2, (power of 2), is an obsession of mine. However, the FFTs in this archive _MUST_ be of RADIX 2! The DFTs Real data lengths can be anything except the minimum; IF, Imaginary data is available also, then these _MUST_ be of equal length as the Real data available. ---------------------------------------------------------------------------- Other minimum requirements depending on what you decide to use:- ---------------------------------------------------------------- Python Version 1.4.0, absolute minimum:- http://aminet.net/package/dev/lang/Python_14 AND/OR for highly expanded AMIGAs... http://aminet.net/package/dev/lang/Python20 Perl Version 5.7.1 minimum:- http://aminet.net/package/dev/gg/perl571 ADE Version 2.95.3, (the *NIX environment) minimum:- http://aminet.net/package/dev/gcc/ADE Matching ixemul-48.0 minimum:- http://aminet.net/package/util/libs/ixemul-48.0 VBCC C Compiler, $VER: vbcc 0.810 (05.06.2006) minimum:- http://aminet.net/package/dev/c/vbcc_bin_amigaos68k http://aminet.net/package/dev/c/vbcc_target_m68k-amiga The archive below has been deleted by someone and was NOT his to delete! BWBasic Version 1.11:- http://aminet.net/package/dev/lang/bwbasic111 ---------------------------------------------------------------------------- General:- --------- A few code recipes to show how to work around the serious limitations of the AMIGA and once capable software. From these recipes you now have the building blocks to improve and modify to your hearts desire. DFT_ARexx.rexx is of absolutely no use at all practically but shows with a little thought one can get around such limitations. I try to make everything work for the AMIGA to current technology without modification and apart from the 'AMIGA_ONLY' section is successful. You would be surprised at the differences of gcc 2.95.3 to the current ones in use and Python 1.4.0 to at least 3.10.4. The 'DFT_DWT_FFT_ALL' section contains code that works for _ALL_ platforms including the AMIGA A1200(HD). IMPORTANT NOTE: I take no credit for the PERL FFT code recipe at all, read the files for more information! The 'NOT_AMIGA' section contains some of my experiments for other more modern platforms. Although I have quoted that the IDFTs and DFTs should be of length RADIX 2 this is really not the case as technically the REAL, (AND IMAGINARY), data lengths can be arbitrary so long as both are the same length each. Enjoy... Bazza... ---------------------------------------------------------------------------- This archive is issued under the Creative Commons, CC0 Licence. That is:- Public Domain. ---------------------------------------------------------------------------- IMPORTANT:- ----------- The Legal Stuff:- ----------------- This archive is CC0 licenced. The authors are not responsible for any damage to, or loss of, or failure of equipment or data caused in any way by the use of this code. There is NO warranty with the use of this software release and YOU USE IT AT YOUR OWN RISK. ---------------------------------------------------------------------------- Testing Evaluation:- -------------------- FS-UAE and Classic AMIGA test conditions were/are running standard OS 3.0.x and using standard ~topaz 8~ fonts throughout. The minimum hardware requirements ARE needed however. I have no idea what strange configuration setups will create so refer to the ~The Legal Stuff~ above. ---------------------------------------------------------------------------- Barry Walker, G0LCU. ---------------------------------------------------------------------------- A very useful HardWare related site, (C) Anthony Hoffman, for modifications, schematics, repairs and the like is:- http://amiga.serveftp.net/ ============================================================================