💾 Archived View for cugi.ie › aminet › 1729211364.gmi captured on 2024-12-17 at 11:14:56. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Recursive FFT_All_Math.py.

   Author:       wisecracker.bazza at gmail.com (Barry Walker)
   Uploader:     Barry Walker
   Type:         dev/src
   Version:      1.00.00
   Architecture: generic; m68k-amigaos
   Date:         2024-10-17
   Readme:       http://aminet.net/dev/src/FFT_All_Math_py.readme
   Downloads:    3

http://aminet.net/dev/src/FFT_All_Math_py.zip

Distribution: AMINET, Public Domain, CC0 licence.

============================================================================

Architectures: Classic AMIGAs, FS-UAE, OSX 10.15.7, Linux Mint 21.3.

--------------------------------------------------------------------

MINIMUM Requirements Are:-

--------------------------

1) Amiga environment:-

Stock AMIGA A1200(HD).

(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, Linux Mint 20.3, and Mint 21.3.

Standard AMIGA OS_3.0.x install or better.

Python Version 1.4.0 for a STOCK A1200(HD), the "python_020_ieee" one.

2) Apple OSX 10.15.7 and higher using default Python 2.7.x, 3.5.2. 3.8.x,

3.9.x, 3.10.1, 3.12.2, and 3.13.0...

3) Linux Mint 20.3, and 21.3, Python 2.7.x, 3.8.x, 3.9.x, and 3.10.x...

(Not tested on Windows, WinUAE, or CygWin but they should work.)

----------------------------------------------------------------------------

History:-

---------

17-10-2024.

-----------

Version 1.00.00: Probably the only upload of this code recipe.

----------------------------------------------------------------------------

About:-

-------

FFT - Fast Fourier Transform, (NOT Finite Fourier Transform.)

This DEMO code is an exercise in futility to create a recursive Fast

Fourier Transform using ONLY the builtin 'math' module, that will run on

ANY Python Version from 1.4.0 for a STOCK AMIGA A1200(HD) to 3.13.0 on

OSX 10.15.7, as of 17-10-2024, WITHOUT ANY MODIFICATION AT ALL.

I always try to include the classic AMIGA A1200(HD) in my code recipes,

this is no exception.

!!!Remember!!! The AMIGA does NOT have the luxuries of numpy, or scipy,

so a RADIX 2, recursive version is about the simplist to accomplish.

It is difficult to take in all of the differences between all of these

versions and get a working model, but here it is.

A few examples:

There are NO list comprehensions before version 2.0.x.

( My universal cmath module FFT for Version 2.0.1 uses list comprehensions:

http://aminet.net/package/dev/src/FFT_AMIGA.py )

The print statement changed to a function in version 3.0.x.

There is no STEP facility using lists until AFAIK around version 2.2.x.

These are but a few that one has to think about, but the challenge is what

I like most of all.

Once downloaded just extract the Python script from the drawer and

run the code snippet as you would normally with ANY Python Version.

----------------------------------------------------------------------------

IMPOTANT!

---------

There is a limit to the number of RADIX 2 elements, 16 in the DEMO, one

can use with a stock AMIGA A1200(HD), probably 1024, but highly expanded

versions of AMIGAs can take many, many more elements, to at least 65536.

----------------------------------------------------------------------------

Other AMIGA requirements depending on what you decide to use:-

--------------------------------------------------------------

Python Version 1.4.0 minimum, the default:-

http://aminet.net/package/dev/lang/Python_14

Other Python versions for various AMIGAs:-

------------------------------------------

Classic expanded and lots of RAM, OS3.0x to OS3.1x:

http://aminet.net/package/dev/lang/Python152

http://aminet.net/package/dev/lang/Python16

http://aminet.net/package/dev/lang/Python20

AROS:

http://aminet.net/package/dev/lang/pyaros-0.1r3-i386

http://aminet.net/package/dev/lang/python-2.5.2.ppc-aros

MorphOS:

http://aminet.net/package/dev/lang/Python_2

NOTE, unusable:-

----------------

http://aminet.net/package/dev/gg/python2.4-m68k-amigaos <- No math library.

http://aminet.net/package/dev/lang/SlimPython <- Literally stripped down.

UNTESTED, not downloaded so untried:-

-------------------------------------

http://aminet.net/package/dev/misc/AmigaMicropython

----------------------------------------------------------------------------

General:-

---------

Enjoy...

Bazza...

----------------------------------------------------------------------------

This archive is issued under the Creative Commons, CC0 Licence.

That is:- Public Domain. You may do with it as you please.

----------------------------------------------------------------------------

IMPORTANT:-

-----------

The Legal Stuff:-

-----------------

This archive is CC0 licenced.

The author[s] 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/

============================================================================

Contents of dev/src/FFT_All_Math_py.zip

Archive:  /home/aminet/aminet_root/doc//dev/src/FFT_All_Math_py.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 2024-10-17 12:24 00000000  FFT_All_Math_py/
   82809  Defl:N    74981  10% 2024-10-17 12:22 ef37745e  FFT_All_Math_py/FFT_All_Math.png
    5895  Defl:N     1774  70% 2024-10-16 21:50 15ab9cf9  FFT_All_Math_py/FFT_All_Math.py
    5893  Defl:N     2158  63% 2024-10-17 12:03 a2a7c631  FFT_All_Math_py/FFT_All_Math_py.readme
       0  Stored        0   0% 2024-10-17 12:01 00000000  FFT_All_Math_py/Linux_Bonus/
    1669  Defl:N      831  50% 2024-10-17 12:01 9c46c765  FFT_All_Math_py/Linux_Bonus/BEFORE_RUNNING_READ_THIS.txt
   54887  Defl:N    47160  14% 2024-10-16 23:14 8d82a354  FFT_All_Math_py/Linux_Bonus/SpecAn_100Hz.png
    7503  Defl:N     1481  80% 2024-10-17 12:00 ffddbfc8  FFT_All_Math_py/Linux_Bonus/SpecAn_100Hz.py
--------          -------  ---                            -------
  158656           128385  19%                            8 files

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminet aminet net>