@F

                   Adaptive Spectral Estimator User's Guide

















                          4GAdaptive Spectral Estimator


5H               Copyright (c) 1987, Wesley Hertel and Steven Seidl









    This program may be freely distributed so long as the program, resource
    code,  documentation,   author  credits,  and  copyright  notice remain
    together.   This  program is NOT in the public domain.  GEM and AES are
    trademarks of Digital Research.  ST is a trademark of Atari Corp.

    Major   portions   of  this  program  were  developed  with  GFA  BASIC
    (distributed by Michtron)  The authors of this program highly recommend
    GFA BASIC as several functions this program executes would have been to
    difficult/slow/inaccurate to include if not for this fine language.





















                                    Page 1




                   Adaptive Spectral Estimator User's Guide




4G    Introduction


5H        Adaptive  Spectral  Estimator  (further  referred  to  as ASE) is a
    program  that  simulates  the  spectral  characteristics of a described
    signal.   This  program  will  transform  a time domain signal into the
    frequency  domain.   Unlike  time-frequency transforms such as the FFT,
    this  program does not sample a actual signal but instead generates the
    frequency  domain  characteristics from a hypothetical signal.  Signals
    are  described to the ASE in the form of signal descriptive parameters.
    You,  the  user  may  describe a signal of interest using the following
    descriptive characteristics/parameters:

        * Timebase (seconds, milliseconds, microseconds, nanoseconds)
        * Carrier (Hertz, Kilohertz, megahertz, Gigahertz)
        * Phase type (Absolute, Coherent, Differential, Random, Reference)
        * Amplitude (Volts)
        * Duration (dependent on Timebase setting)
        * Position (dependent on Timebase setting)
        * Phase (360 degrees)


        The above descriptive characteristics/parameters may be manipulated
    in  a  virtually  unrestricted manner.  Users of the FFT algorithm will
    appreciate  the  ability  to  create  the  spectrum  of  signals  at RF
    frequency  (with  virtually unlimited resolution), and users who do not
    know  anything  about  spectroscopy  may  find this program graphically
    interesting  if  nothing  else.   Version  1.0  of  the  ASE (not to be
    confused  with AES) is a complete program, several non-selectable items
    appear  on  the  main  menu  bar  but  are not necessary to operate the
    program.

        Although  this  version (1.0) suggests a infant product, in reality
    it  would probably be more like version 1.0 x 10^3 if all developmental
    stages  were  included.  Version 1.0 simply indicates how far along the
    program  was when the authors decided to share their work.  Why all the
    chatter  on  version numbers?  The answer to that question depends upon
    the  reception  of  this  program.   Wes and I have worked very hard to
    produce  a  very powerful program at a very reasonable price [VS03T free].
    If   there  appears  to  be  a  need  for  this  and  other  scientific
    applications  on  the  ST  computer,  and proper inclusion of copyright
    notice  is  maintained,  version  2.0  (just multiply by 1 thousand for
    current  developmental  version) will be released.  To give you an idea
    of  what is currently in the works, the following list of functions are
    being developed for integration to the ASE:

        * 3-D Ambiguity function
             - variable X, Y, and Z scales
             - view perspective adjustments
        * Time Domain Analysis Tools
             - Falling/Triggered Raster displays for I/O of data
             - Oscilloscope display
             - Graphic waveform manipulation



                                    Page 2




                   Adaptive Spectral Estimator User's Guide


        * High Resolution printer output
        * Log/Linear amplitude scaling (with reference amplitude lock)
        * Amplitude control enhancement for GID
        * Output compatibility with DIF and other formats
        * FFT routine (if somebody gives me a format for a digitizer file)

    Due  to  Memory  constraints,  some  of the above may be in the form of
    integrated software, not part of ASE, but compatible where feasible.


    4GRequirements

    5HFor ASE to properly function you need:

             * Atari 520/1040 ST computer
             * Depending on version of ASE, a color or monochrome monitor
             * floppy/hard disk w/MASE or CASE program and resource files
             * All desk accessories removed from memory
             * A desire to learn

    Why MASE and CASE?

        These  file  names  indicate which version of ASE you have.  Due to
    memory  constraints  inflicted  by  very  large matrix manipulations, a
    separate  color (CASE) version and monochrome (MASE) version of the ASE
    were produced.  This is also the reason for the 'no desk accessories in
    memory'  requirement.   You  are  warned that running this program with
    desk  accessories  in memory may have unpredictable side effects.  Note
    this  limitation  really  only  applies  to  520  ST  users,  1 meger's
    shouldn't  have  to  much  problem with accessories in memory, but will
    find that even if you do, they are disabled during program execution.

        Both  versions  of  the  ASE  run  exactly  the same as far as user
    interface  goes.  In some areas, the monochrome version has a advantage
    of  increased  resolution  (notably the graphic input/output routines),
    but at a price in increased processing time.




4G    Specifications


5H    Accuracy:         Better then 1 part per million
    Frequency range:  DC to Light
    Amplitude range:  0 to 9999999 Volts
    Phase Deviation:  0 to 360 Degrees
    Duration range:   0 to 9999999 Seconds
    Position range:   0 to 9999999 Seconds


4G    Limitations


5H    Maximum number of signal descriptive segments:  512



                                    Page 3




                   Adaptive Spectral Estimator User's Guide


    Maximum number of plotted graphic data points:  400
    Maximum number of calculated data points:       512



4G    Signal input/output device types


5H    Input Devices

    A)  Graphic signal input                  (G_Input)
    B)  Keyboard signal input                 (Input Data)
    C)  Disk file signal input                (Load Data)

    Output Devices

    A)  Graphic Signal Display                (Graph)
        1.  Frequency vs Amplitude            (Frequency)
        2.  Frequency vs Time                 (Discriminator)
        3.  Frequency vs Phase                (Phase)
        4.  Tag (works with 1 and 2)          (Tag)
        5.  Recalc (works with 1)             (Recalc)
    B)  Display Signal Data                   (Display)
    C)  Print Signal Data                     (Print)
    D)  Scaled Frequency vs Amplitude plot    (Hardcopy)

        Note the commands for the above I/O routines are stated in brackets
    to  the  right  of  each  I/O type.  For more details see the reference
    section  of  this  text.   Currently  the  printer  output  (Print  and
    Hardcopy)  work  only  with  Epson  compatible  type printers.  If your
    printer  can handle a regular screen dump from your ST, then you do not
    have  any  problem.   Disk  files  created and read by this program are
    currently  in  ASCII  format,  this  was  originally for the purpose of
    debugging the source code of this program.  You, however, may find them
    interesting  to  see how your Data Segments are seen by the calculation
    routines,  and also may want to modify your signals with any ASCII mode
    word-processor.   A  complete  guide to the format of these ASCII files
    will be uploaded as a appendix at a later time.




















                                    Page 4




                   Adaptive Spectral Estimator User's Guide



4G    Getting Started


5H        Here   is   where   the   tutorial  for  this  program  will  go!!
    Unfortunately  Wes  and  myself are so involved with the development of
    this  program  that setting aside time to write a good tutorial on it's
    use  has  so  far  been nearly impossible.  What follows is a couple of
    examples  of  how to operate the program sufficiently enough to get you
    experimenting.   So  boot  your  ASE  in  gear  and follow these simple
    examples:

    1.  THE SPECTRUM OF A 1 USEC, 1 VOLT PULSE WITH A CARRIER OF 10 MHZ

    A.  Select FREQ GLOBALS from the PARAMETER menu.
    B.  Select MHZ for Frequency base, MICROSECOND for time base and
        COHERENT for Phase type.
    C.  Select INPUT DATA from the OPTIONS menu.
    D.  Enter '1' at the 'ENTER NUMBER OF SEGMENTS:' prompt.
    E.  Select CONTIGUOUS from alert prompt.
    F.  Enter '1' at the 'AMPLITUDE' prompt.
    G.  Enter '1' at the 'DURATION' prompt.
    H.  Enter '10' at the 'FREQUENCY' prompt.
    I.  Select CALCULATE from the OPTIONS menu.
    J.  Enter '200' at the 'ENTER NUMBER OF DATA POINTS' prompt.
    K.  Enter '7' at the 'ENTER MINIMUM FREQUENCY' prompt.
    L.  Enter '13' at the 'ENTER MAXIMUM FREQUENCY' prompt.
    M.  Select 'GRAPH' from the OPTIONS menu.
    N.  Select 'FREQUENCY' From the options box on the screens right side.
    O.  Select 'TAG' from options box, move around screen, to quit tag
        mode press right mouse button.
    P.  Select 'RECALC' from options box.
    Q.  Select GRAPHIC CURSOR from alert prompt.
    R.  Move cursor about 1 inch from left side of data display and press
        the left mouse button.
    S.  Move cursor about 1 inch from right side of data display and press
        the left mouse button.
    T.  Observe the bandwidth has now been narrowed (like a zoom
        function).
    U.  Select 'PHASE' from the options box.
    V.  Select 'DISCRIMINATOR' from the options box (note that with no
        frequency deviation, this will display a straight line).
    W.  Select 'MAIN MENU'
    X.  Select 'DISPLAY' from the OPTIONS menu.
    Y.  Enter several keystrokes to scroll thru data.
    Z.  Now wasn't that simple (I'm out of letters, or it would have been
        longer).











                                    Page 5




                   Adaptive Spectral Estimator User's Guide



4G    Using the Graphics Input Device (GID)


5H        Basically  the GID will releave the user of entering steps C thru H
    listed  above.   What  this  routine  adds  in  ease of use, it equally
    decreases  in the flexibility and accuracy of signal descriptions.  All
    segments  are  assumed  to  have  a  amplitude  of 1 volt in this mode,
    frequencies  are  only accurate to 1/128th the total bandwidth for CASE
    and  1/256th  the bandwidth for MASE.  Phase specification is also lost
    in  this  mode,  GID  defaults  all phase deviations as 0 degrees, this
    applies to REFERENCE, DIFFERENTIAL, AND ABSOLUTE phase types.  COHERENT
    and  RANDOM  are of course not effected.  Upon selection of G_Input the
    user  is  given  several  prompts.  Before choosing this option, please
    think  about  your signal of interest as once you reply to the prompts,
    the  only  way  to  reset  them is to exit and then reenter the G_Input
    routine.   With  all  that  said and done, you might ask why use GID if
    it's such a beasty.  Well, try to enter 512 segments describing a chirp
    (Low  to  High  linear  frequency  modulation)  with  the keyboard!  To
    describe the chirp signal would take thousands of keystrokes, with GID,
    the same signal is a few mouse clicks away (draw a diagonal line).

                                     G I D

                     +----------------------------------+ <- Freq max
                     |                 /\               |
                 Y   |                 | B              |
                     |                 | A              |
                 A   |                 | N              |
                 X   |                 | D              |
                 I   |                 | W              |
                 S   |                 | I              |
                     |                 | D              |
                     |                 | T              |
                     |                 | H              |
                     |                 \/               |
                     +----------------------------------+ <- Freq min
                      <---- X axis (total duration) --->
                                 (in timebase units)


        The  above  crude  drawing  should  give  you  a  idea  of  how the
    parameters  that  you  give GID effect your signal.  Before I go into a
    simple  example  of  GID,  several  statements  should be made.  First,
    remember  that  GID  has  to obey the 512 segment rule too (Use Segment
    Sample  mode!),  we decided to keep linear sample mode in for the users
    who  want  the  capability  to  analyze  detailed  complex signals in a
    minimum  time.   First  time users please avoid this option.  Secondly,
    keep  the number of tick-marks on the X axis less then 10 until you get
    a feel for how it works.








                                    Page 6




                   Adaptive Spectral Estimator User's Guide


        This  version  of ASE does NOT protect the user from him/herself in
    the  GID  mode!   GID  is meant as a powerful time saver, we know of no
    other program that lets you "draw" a signal.  If you try to use it like
    a  drawing program (ala DEGAS) you will soon find that your in trouble.
    (DEGAS  is  a  trademark of Batteries Included (I think), Great Job Tom
    Hudson and thanks for DElite)  I don't claim to know proper legalize so
    please  consider  several  proper  names  in this text as trademarks of
    somebody.



4G    A GID Walk-Thru



5H        Lets  use  the  same  simple signal as we did with keyboard input a
    page  or  two  back.  If you have not changed the global parameters you
    can   omit   steps   A   and   B   (reference  the  previous  walk-thru
    instructions).

    A.  Select G_INPUT from the options menu.
    B.  Enter 20 for Maximum Frequency.
    C.  Enter 0 for Minimum Frequency.  (that gives you a 20 MHz BW with
        the carrier centered)
    D.  Enter '1' for X-axis window (a 1 usec pulse remember).
    E.  Enter '1' for number of X-axis tick marks (1 segment).
    F.  Enter '4' for number of Y-axis tick marks (for your
        reference only)
    G.  Select 'Line' from alert box for type of drawing.
    H.  Select 'Draw' from options box.
    I.  Point and click at far left and center of GID display.
    J.  Point and click at far right and center of GID display.
    K.  Note a horizontal line, and press right mouse button to exit.
    L.  Select Create.
    M.  Select SEGEMENT sample mode (USE THIS MODE ALWAYS UNTIL YOU ARE
        FAMILIAR WITH THIS PROGRAM!!!)
    N.  Select Exit
    O.  Repeat steps I thru Z as mentioned earlier.


        Seem  like  alot  of  effort for something that is supposed to make
    things easier?  In the above case your exactly right!  Now lets use GID
    for something a little more complicated (the signal that is, GID dosn't
    get  any  more  difficult).   Reenter  G_Input  again  and  lets make a
    multi-segment signal.

    A   Repeat steps A thru C the same as before.
    B.  Enter '10' instead of '1' for steps D and E.
    C.  Repeat steps F thru H the same as before.
    D.  Point and Click at the far left and UPPER corner of GID display.
    E.  Point and Click at the far right and LOWER corner of GID Display.
    F.  Note a Diagional line, press right mouse button to exit.
    G.  Repeat steps L thru O as above.





                                    Page 7




                   Adaptive Spectral Estimator User's Guide


        What you have just created is a 10 segment pulse, sampled at 1 usec
    intervals.   Each  Sample  should  be  a  different  frequency, and the
    spectrum  should be totally different then previous examples which were
    virtually  identical.   Sampling takes place at the center of each tick
    mark  with the starting position of each segment at the location of the
    tick mark.  The far left area of GID is always Time=0

        The  other  functions  of  GID  displayed in the option box (CLEAR,
    ERASE,  and EXIT are self explanatory.  Notice so far that we have only
    used  LINE  type  signal  drawing,  this is because of the segment type
    sampling.   To see the effect of pixel drawing and linear sampling just
    plot  a  couple  of dots on the screen (no more then 512) and make sure
    when  you  calculate  the  spectrum  that  your  described bandwidth is
    adequate  to  include the majority of the spectral power distribution.
    Linear sampling will take considerably longer time to CREATE the signal
    file,  this is a result of having to evaluate and calculate every point
    on  the  GID display.  Remember, the more data samples you input to the
    calculation routine, the longer it will take to calculate.

        The  last  topic concerning GID is the time and frequency displays,
    and  the  segment counter.  In the upper right corner of the GID window
    you  will  notice  two  labels (Time (timebase):, and Freq (freqbase):)
    these  displays  will  indicate the values that will be assigned to any
    particular  pixel  point  if  it  is  sampled.   The segment counter is
    located  in  the  lower  right corner of the GID window, and is used to
    indicate to the user how many segments were created during a sample.

        As  Mentioned in the opening portion of this text, use the keyboard
    method to enter simple signal types.  GID functions best as a "What If"
    type  device  for  complicated signals where a general idea of what the
    spectral characteristics should be suffice.



4G    On Your Own With ASE


5H        The  above  text  on  ASE  should  not  be  considered a definitive
    tutorial  on  the  operation of ASE.  This program is very flexible and
    can  be  used  to  describe signal types such as RTZ, Barker Code, FSK,
    PSK,  AM, and just about any other signal modulation type you dream up.
    The ASE works with negative as well as positive frequencies, The output
    is as accurate at 1,000,000 Hertz as it is at 1 Hertz.















                                    Page 8



                   Adaptive Spectral Estimator User's Guide
4G                               Reference Section


5H    DESK MENU


    About Spectrum

    This  option  will  indicate  the  current version number, authors, and
    copyright notice of ASE


    FILE MENU


    Load Data

    This  option  will load a signal descriptive file (SDF) from disk.  You
    can proceed directly to the calculate function after loading a SDF.

    Save Data

    This  option  will save a signal descriptive file from memory for later
    use.

    Print Data

    This option will print the calculated spectral data of a signal.  A SDF
    must have first been calculated before using this option.

    Quit Program

    This option will return you to the GEM desktop.



    OPTIONS MENU



    Data Input

    This  option  allows  the  user  to  enter  a  SDF  thru the use of the
    keyboard, and is the preferred method of data entry.  See also NOTES ON
    DATA ENTRY

    Calculate

    This  option  will calculate n data points derived from the SDF between
    two frequencies (f1 and f2).  Where n <= 400, and f1 < f2.

    Display

    This  option will display data derived from the calculate function.  To
    scroll  thru  the  signal  data  simply  hit a key.  Upon completion of
    viewing data you will be returned to the main menu bar.





                                    Page 9



                   Adaptive Spectral Estimator User's Guide
4G                               Reference Section


5H    Graph

    This   option  presents  a  multi-function  graphics  display  device.
    Available   to  the  user  are:  Frequency,  Discriminator,  and  Phase
    displays.   The user may also manipulate the data in several ways while
    in  this  mode;  Recalculate  the  spectral  Bandwidth,  number of data
    points,  tag  values,  display  reference grid-lines, and several other
    forms  of  manipulation.   Use  this mode to setup your display for the
    hardcopy   routine.    This   mode  will  become  second  nature  after
    experimentation.

    G_Input

    This  option display the GID and associated prompts used in the graphic
    entry of signal data.  Experiment to get a feel for it's use.

    Hardcopy

    This  option  will  scale  and print the Frequency vs Amplitude data of
    your SDF within the confines established in the calculate function.



    PARAMETERS


    Freq Globals

    This  option  will display a dialog box with several options.  The user
    should  choose  a  Time  Base, Frequency Base, and a Phase Type.  These
    choices will drastically effect your data.  The time base and Frequency
    base  parameters should not need any further explanation (they are used
    simply  as  a  factor in all numerical input/output and calculations).
    Phase  type  is  a  bit  more complicated and will effect not only your
    signal  data, but the amount of data you have to enter to describe your
    signal.  See Notes on Data entry for details.






















                                    Page 10



                   Adaptive Spectral Estimator User's Guide
4G                               Reference Section




    Notes About Data entry



5H    Time and Frequency Base

        The  Time  Base  selected reflects the unit of measurement of which
    all  data  entered is proportional to.  For instance, if a time base of
    microseconds  (usec)  is  selected, when you enter the number 2.94, you
    are  actually  entering  2.94x10S0-6T,  or  0.00000294.   Likewise,  if  a
    frequency  base of Kilohertz is selected, and you enter 75.014, you are
    actually  entering  75.014x10S03T,  or  75,014.   The  numbers  above mean
    nothing  except  to illustrate the effect of time and frequency bases.
    The  following  is  a  chart to assist you in what the various units of
    measurement mean:


    TIME:           NAME                ENG. NOTATION         DECIMAL BASE

                  SECONDS (sec)         1X10S01T              1.0
             MICROSECONDS (msec)        1x10S0-3T              .001
             MICROSECONDS (usec)        1x10S0-6T              .000001
              NANOSECONDS (nsec)        1x10S0-9T              .000000001


    FREQUENCY       NAME                ENG. NOTATION         DECIMAL BASE

                  HERTZ   (Hz)          1x10S01T                      1.0
              KILOHERTZ   (KHz)         1x10S03T                   1000.0
              MEGAHERTZ   (MHz)         1x10S06T                1000000.0
              GIGAHERTZ   (GHz)         1x10S09T             1000000000.0



    PHASE TYPES

        The selection of phase type is a bit more involved then that of the
    time  and  frequency  base.  The following descriptions should help you
    establish  which  phase  type  you  should  select  for proper spectral
    output.

    Coherent

        Signal  phase  is generated from a single RF source whose frequency
    is  the  same as the pulse (data segment).  Initial phase is 0 at t=0.
    This  type of phase is calculated without user intervention, and is the
    default for the program.

    Differential

        Signal  phase  is  specified  by  the user in degrees (0-360).  The
    entered  amount  of  phase  is the deviation from the previous segments
    ending  phase.   This  selection  is  useful  in simulating Phase Shift



                                    Page 11



                   Adaptive Spectral Estimator User's Guide
4G                               Reference Section


5H    Keying (PSK) signals.

    Absolute

        Signal  phase  is  expressed  in absolute terms irrespective of any
    other reference or segment (what you enter is what you get (GIGO)).

    Random

        Signal phase is generated +/- 180 degrees randomly at start of each
    segment.  No user intervention is necessary or possible.

    Reference

        Signal  phase  is +/- amount specified with respect to an RF source
    whose  frequency  is  the  same  as the pulse segment and whose initial
    phase is 0 at t=0.



    COMMENTS ON ASE


        The  authors  of  this  program  feel that the ASE is a step in the
    right  direction for making the Atari ST computers presence felt in the
    scientific  community.   Future  versions of ASE and other applications
    will  be  released at no cost to the public (although some may still be
    copyrighted)  only  if  there  appears  to  be  a need for this type of
    application.   How will we know this?  The answer to that question must
    be  answered by you, the user.  If you like this program, or would like
    to  make  suggestions/comments for implementation into future versions,
    LET   US   KNOW!.    We  believe  that  there  has  to  be  some  other
    Engineers/Technicians/Teachers/Whatever   out   there   whom  in  their
    infinite  wisdom,  selected  the  ST  for  it's power/price performance
    ratio.  Lets get together and make some serious scientific applications
    for  this  computer.   The  fact  is that scientific/technical programs
    (e.g. MathCadS0TMT, and the like) will probably never be published for the
    ST  because  of the relatively small user base (compared to big blue).
    That  leaves the development of these type applications to us, so far I
    have  yet  to  see  anything  more  technical then fractals (pretty and
    interesting,  but  no real application) for the ST.  Lets see some good
    applications  on  subjects  like  Electronics,  Astronomy, Photography,
    ect... .

        Please  send  your  comments  to  the  authors  of this program via
    E-Mail.  My UID on CIS is 72467,1242 or for GENIE <SE.SEIDL>.

    P.S.   IF  SOMEBODY  OUT  THERE  HAS A USER ACCOUNT ON BYTE-NET OR BIX,
    PLEASE  UPLOAD A VERSION OF ASE (MASE AND/OR CASE).  WE REQUEST THIS AS
    BYTE  CARRIES  ARTICLES  ON FFT/SPECTAL ANALYSIS FROM TIME TO TIME, AND
    PROBABLY  HAVE A FEW EXPERTS IN SPECTROSCOPY THERE TO TEST THIS PROGRAM
    FOR ANY PROBLEMS THAT WE MAY HAVE MISSED.






                                    Page 12


