Information about this Applet
Abstract
Function:
Features:
Specifications:
Appearance:
Description on Each Control
As the diagram shown above, the interface consists of 4 divisions:
Let's see the detail information on each of the panels.
Screen Panel: this panel serves as the graphical display. Whenever the user asserts an action, the screen will present the result in a two dimension plot. The x-axis is in radians, and the y-axis is the amplitude of the function. When the applet starts, the screen displays a straight line that represents a constant of zero. The top portion of the screen is labeled with the maximum and minimum values of the function. The bottom portion of the screen is labeled with the x-axis in radians which ranges from 0 to 2p. Each plot is centered on the screen.
Function Panel: this panel consists of the fields that
characterize a trigonometric function such as a sine function
or a cosine function. The first field is the sign field that determines
the polarity. The second field is the amplitude field that determines
the amplitude. The third field is the frequency field that determines
the frequency of the function. The fourth field is the waveform
field that determines the type of function. The fifth field of
the panel is the power field that determine the coefficient of
power to that function. The next row has five buttons. Each button
serves as an action to the function appearing on the screen. The
"+" button does addition, The "-" button does
subtraction, the "*" button does multiplication, the
"/" button does division, and the button "CLEAR"
resets the function in the buffer to a constant of zero. The logic
flow of this is illustrated as the following diagram.
[ single memory machine ]
Filter Panel: this panel consists of the fields that specifies the characteristics of a pulse filter. The first field is the amplitude field that determines the amplitude of the filter. The second field is the bandwidth field that determines the width of the filter. The third field is the frequency field that determines the position of a filter in the frequency domain. The last field is the type field that determines the types of filter.
Note: when the LowPass is selected in the type field in this panel, the frequency field is disabled. The frequency field is enabled only when the BandPass is selected in the type field. The reason is that the lowpass filter always centers at zero hertz in the frequency, and the bandpass filter always centers at higher frequency.
Button Panel: this panel consists of buttons that are useful in
practising AM communication system and Fourier Series. Starting
from the first row, the first three buttons are labeled M, C,
and X; they represent the message, the carrier, and the transmitted
signal in the AM communication system respectively. The next three
buttons are "Save as M", "Save as C" and "Save
as X". They are used to store the message, the carrier, and
the transmitted signal for later use. I will explain how to use
them later. The next set of buttons are "Filter", "Encode",
and "Decode". They are used to filter, send, and recover
the signal respectively. The next set of buttons are Listen and
Stop Listen. They are used to hear and stop hearing the sound
of the function. Once the Listen button is pressed the sound of
the function on the screen will be played constantly until Stop
Listen is pressed. The last button is "Quit". When the
button is pressed, the web browser will go to our EE department
home page.
Performance
Java is usually an inefficient language since its speed is slow compared to your local applications. In my opinion, it is not fast enough for serious multimedia applications such as video conferencing. Since the Java interpreter handles graphics slowly, the performance can be improved with better hardware. For example, the applet can run near instantly on a Pentium 120. However, the applet running on a Sparc 20 would take double the time to plot a waveform as if it was on the Pentium. The video graphic card is a major key on affecting the performance as well as the computational power of the microprocessor.
Possible Bugs
These are the bugs found on the applet:
Classes
Packages
Source Codes
This is the list of files containing the source codes for this applet:
Algorithm