Return to main tools page

AnalogModulation is a bundling of a Java-language program TF32JMod, its supporting Java and native library modules, the Java runtime (OpenJDK) along with the Eclipse IDE (integrated development environment). Eclipse and the Java JDK are redistributed under the terms of their respective licenses. The TF32J and TF32JMod Java programs along with Java plug-in modules for analog modulation and their supporting libraries contained in the below .zip file are made available here for free download for academic or non-commercial use. The TF32J Javadocs is a resource in making changes to TF32JMod.

This revision of AnalogModulationCDT, now with Windows and MacOS versions, divides the Java project into myjava as done earlier and the new runjava project. Upon starting TF32JMod from the runjava project, it is possible to change and recompile signal filters in myjava and see the changes in the running instance of TF32JMod. It is important when editing a filter Java source code to manually save the changes because this will not happen automatically as when launching a Java program. Build the myjava project and the changes should be available to the active TF32JMod application through use of the Java Class Loader feature. It was necessary to make myjava and runjava separate directories because runjava containing TF32JMod.java and its compiled classes needs to be on a classpath, and myjava needs to be not on this classpath for the "hot updating" of filters to work.

AnalogModulationCDT.zip In Windows, unzipping this file creates the subdirectory AnalogModulationCDT in your destination directory. If your computer is configured for a language with an extended character set, it may be necessary to make your destination directory as close as possible in your directory hierarchy to the root directory of the drive where you extract it -- this action prevents problems with overly long file path names. You can also use this file for Linux, but you will need to install Eclipse for Java and its CDT extension along with the required Java runtime (JDK) separately and manually configure the Eclipse projects.

The Windows version of the AnalogModulation software bundle uses the non-restricted OpenJDK 10 (supplied by Azul Systems, Inc. https://www.azul.com/) in place of the Oracle JDK that has new use restrictions starting in 2019. This version of the bundle also extends Eclipse with the C/C++ Development Toolbench (CDT) and adds the open-source mingw64 (minimum GNU tools for Windows 64-bit) package containing the gcc C/C++ compiler invoked by this configuration of Eclipse CDT. The pre-configured Eclipse project vocfilt allows compiling the supplied native-code filters -- after a successful "build", invoke replaceDLL.bat from the AnalogModulationCDT directory to copy vocfilt.dll from its location within the Eclipse workspace for the vocfilt project to the TF32lib subdirectory of AnalogModulationCDT from where these filters are invoked.

Run the file eclipseCDT.bat within that subdirectory, either from a command window or using a desktop shortcut, to modify or run the TF32JMod program hosting the modulation and demodulation menu commands within the TF32J Time-frequency analysis for Java waveform and spectrum visualization program.

AnalogModulationCDTMacOS.zip This MacOS version of the software bundle has been tested successfully in Fall 2021 on a computer with the new M1 non-Intel processor.

Downloading this file places the folder AnalogModulationCDT in Downloads. Move this folder to your Home folder. On the Eclipse.org download site, do not select the "Eclipse Installer", rather, click on the link "Download packages" to select the .DMG file. The "packages" for MacOS and the other operating systems are located at

https://www.eclipse.org/downloads/packages/

Also select the 64-bit Intel (X64) version of Eclipse, even if installing on an M1 (ARM processor) Mac. This is required to be compatible with the native-code modules in AnalogModulationCDT compiled for 64-bit Intel (X64), and the emulation of this processor by the newer M1 chip is proven to be effective, performant and reliable.

Move the Eclipse app from the DMG to your newly downloaded AnalogModulationCDT folder. This version of Eclipse for MacOS already comes with the Java runtime so whether or not your system already has Java, you do not need another installation step. Double click on Eclipse in that folder and enter the eclipse-workspace subfolder within AnalogModulationCDT into the dialog asking for the Eclipse Workspace -- if you do not see that dialog, you can change this setting from the Eclipse menu with File, Switch Workspace (it is towards the bottom). You can make your AnalogModulationCDT folder "portable" by specifying ../../../eclipse-workspace (meaning three levels up from the Eclipse executable module, which isthat many levels deep inside the Eclipse app folder). to your user directory.

To modify and rebuild the pre-configured vocfilt project offering native-code digital filters, instructions for adding the C/C++ Development Toolbench (CDT) to your existing Eclipse installation are found here (I include this link rather than direct you to search for it because it is hard to locate -- you may need to search for the correct link in at a later date)

https://github.com/eclipse-cdt/cdt/blob/main/Downloads.md

This involves copying one of the links supplied at that Web site, starting Eclipse on your computer, selecting from the menu Help, Install New Software, and pasting the link you selected into the dialog. On pressing Enter, you need to select the parts of CDT you want to install -- selecting the first entry appears to be good enough, but you can repeat this process to install the remaining entries later. Once you have clicked through to finish, you need to wait for completion that takes some time, after which you will be prompted to restart Eclipse. When you select the vocfilt project and attempt to build it, you may be prompted that you need the XCode command-line tools. Ignore the "App store" button and press the blue "Install" button to get the express download of only the items you need. You may or may not need a login for an Apple Account -- creating this account asks for your e-mail, your choice of a password and a phone number.

AnalogModulationCDTLinux.zip Use this download to configure AnalogModulationCDT for Linux. Extracting the .zip file to a directory creates the AnalogModulationCDT subdirectory. Within AnalogModulationCDT, you may place a "package" version of Eclipse, which includes the Java runtime. On starting Eclipse for the first time, specify ../eclipse-workspace as the workspace location.

The default size of the main Java window and its text on Linux is too small on the prevalent high-resolution displays. This condition has been corrected by adding the string -Dsun.java2d.uiScale=2.0 to the Run-Run configurations menu selection, Arguments tab, VM arguments text box. Windows already scales for a high-resolution scale, so it may be necessary to reduce this to uiScale=1.0. Or you can set the uiScale to whatever value you prefer.

TF32J.zip Use this download to upgrade a Windows version of AnalogModulationCDT downloaded in 2021 or earlier, a MacOS version from 2022 or earlier.

Unzip this file to replace TF32J.jar in the runjava\lib directory (runjava/lib folder under MacOS) of AnalogModulationCDT. This adds new features to the time-slice spectrum display.

This revision adds new numeric readouts to the time-slice spectrum measuring peak spectrum amplitude, spectrum ripple and the amount of power on each side of the spectrum cursor. These readouts are useful in charactering the passband ripple and stopband attenuation of digital filters as well as calculating the in-band power in relation to the total power of an FM or other modulated signal.