---------------- SIGNALS ---------------------- A PROGRAM TO ILLUSTRATE THE CONCEPTS OF LINEAR SYSTEMS, DIGITAL SIGNAL PROCESSING, AND COMPLEX NUMBERS. copyright 1994 Dr. Roger L. Easton, Jr. ------------------------------------------------------------------- *Starting SIGNALS* SIGNALS checks for CGA, EGA, and VGA graphics and uses the highest resolution available. To run on CGA, EGA, or VGA COLOR systems, type: SIGNALS/C. On CGA, EGA, or VGA MONOCHROME systems, type: SIGNALS/M. If color/monochrome switch is not used, the program asks whether the system has a color or monochrome monitor. To run SIGNALS with a HERCULES graphics card, the HERCULES graphics driver 'msherc.com' must be loaded first. The color/monochrome switch is not needed on HERCULES. On my own system, I renamed SIGNALS.EXE to SIGNALS1.EXE and wrote a short batch program SIGNALS.BAT which loads the program with the proper switch. Sample batch programs are: for HERCULES graphics: \path1\MSHERC.COM \path2\SIGNALS1.EXE where: \path1\ specifies subdirectory where MSHERC.COM is stored \path2\ specifies subdirectory for SIGNALS1.EXE for CGA, EGA, or VGA color systems: \path2\SIGNALS1.EXE/C for CGA, EGA, or VGA monochrome systems: \path2\SIGNALS1.EXE/M ---------------------------------------------------------------------- *RUNNING SIGNALS* SIGNALS is built around four menus (FUNCTION, OPERATIONS, ARITHMETIC, PLOTTING) that return to the MAIN menu via the ESCAPE key. Up to two complex arrays are loaded from the FUNCTION menu and processed with the OPERATIONS and ARITHMETIC menus. The results can be viewed with the PLOT menu. Hardcopy is possible via a 'Print Screen' dump or by saving the data in a tad-delimited format readable by spreadsheets. The program can be run under Windows if SIGNALS.PIF is created and the graphics memory is increased. Graphic plots can be captured to the Windows clipboard by typing 'ALT + Print Screen', and the plots may be manipulated in a graphics program such as Adobe PhotoShop(TM) or Aldus PhotoStyler(TM) or included in graphics presentation programs such as MicroSoft PowerPoint(TM). The data arrays may be indexed over either the interval [0, N-1] or over [-N/2, N/2-1] (default) (e.g. over [0,255] or [-128,127] if N = 256. The choice is made in the MAIN menu ("I" option) and transforms are computed differently in the two cases according to the index convention. Load data into ARRAYS f1 or f2 from the FUNCTION MENU. Functions are loaded in the order: 1. REAL PART (or MAGNITUDE) 2. Modulation of Real Part 3. IMAGINARY PART (or Phase) 4. Modulation of Imaginary part. Any of these steps may be bypassed by typing a carriage return , and the loading procedure may be completed at any point by typing the ESCAPE key to return to the MAIN Menu. Please note that all operations assume that the arrays are in REAL/IMAGINARY format; if you have loaded arrays in MAGNITUDE/PHASE format, you should immediately convert them via option "R" in the OPERATIONS menu. Arrays in SIGNALS are be saved to ("S" option in the OPERATIONS menu) , and loaded from disk ("L" option in the OPERATIONS menu in the following ASCII format: Data element 1 number of samples N (integer - power of 2) Elements 2 through N+1 real array (N floating point values) Elements N+2 through 2N+1 imaginary array (N floating point values) Data from other applications can be loaded into SIGNALS if it is edited accordingly. Arrays can also be loaded and saved in a generic spreadsheet format which contains three columns separated by tabs: the sample index, the real floating point value, and the imaginary floating point value. OPERATIONS are performed on a single array; they include FFT, DFT, Hartley Transform, Walsh-Hadamard transform, complex conjugate, etc. The ARITHMETIC menu combines the two arrays, e.g. sum, product, difference ratio, convolution etc. The PLOT menu is used to display the data as REAL/IMAGINARY parts, as MAGNITUDE/PHASE, POWER (squared magnitude), Power in Decibels, or as ARGAND diagrams (Imaginary part vs. Real Part). The VALUES of the data arrays may also be displayed, and the VALUES display may be magnified via the ZOOM option. *REGISTRATION* If you find SIGNALS to be useful and use it regularly, please register your copy by sending your name, address, and $20 (check or money order) to the address below. You will receive a copy of a user manual, and will be informed of any updates. SIGNALS was developed for use in graduate classroom instruction over a period of several years. Many long hours went into refining this program for public release. Your registration fee will be greatly appreciated and will expedite the release of future versions. This program may be freely copied or posted on a BBS provided that all three files are included in their original form with the copyright and registration notices. Please send the registration fee and any comments or suggestions to: Dr. Roger L. Easton, Jr. Center for Imaging Science Rochester Institute of Technology Rochester, NY 14623 (716) 475-5969 (office) (716) 475-5988 (FAX) email -- in%"rlepci@rit.edu"