|
|
|
This section presents the Java [8] software application
|
|
|
|
which controls and monitors the OpenLab Signal Generator.
|
|
|
|
Furthermore, the features and functions of this measurement
|
|
|
|
tool, as well as the benefits for students, are discussed. The
|
|
|
|
main window of the signal generator with its arbitrary signal
|
|
|
|
generation function is illustrated in figure 11.
|
|
|
|
|
|
|
|
The application is able to output standard waveforms such
|
|
|
|
as sinusoidal, rectangular, saw tooth shaped, and triangular
|
|
|
|
signals. Furthermore, students are able to generate arbitrary
|
|
|
|
waveforms using the built in tool. This feature is especially
|
|
|
|
useful during courses dedicated to audio signal processing
|
|
|
|
and analog/digital signal processing. The signal generator
|
|
|
|
supports two different methods in order to output arbitrary
|
|
|
|
signals. The ”Definition Through Points and Interpolation”
|
|
|
|
method enables the user to define a signal graphically by
|
|
|
|
placing key-points on the graph. After pressing the ”Generate
|
|
|
|
Waveform” Button, the software calculates the missing steps
|
|
|
|
between the key-points, using interpolation, and displays the
|
|
|
|
final waveform. This approach is best suited for beginner
|
|
|
|
students, due to the easy-to-understand procedure. The
|
|
|
|
”Definition in Frequency Domain” method requires the user
|
|
|
|
to specify the sine components that should occur in the output
|
|
|
|
signal. Through the main menu of the user application, the
|
|
|
|
user can open the input mask for the frequency components.
|
|
|
|
In order to ensure correctness of the user input, the data is
|
|
|
|
validated by the application. Students are able to choose the
|
|
|
|
FFT Bin, the magnitude, and the angle of the harmonics.
|
|
|
|
Based on the user input a wavetable with dedicated FFT
|
|
|
|
Bins is stored and an Fast Fourier Transformation (iFFT) is
|
|
|
|
performed on this set of values. For the iFFT the Cooley-
|
|
|
|
Tukey algorithm [15] is used within the application. After the
|
|
|
|
iFFT, the real components are extracted from the complex
|
|
|
|
output and are scaled to the range of 1, in order to fit the
|
|
|
|
allowed ranged of the wavetable values. The calculated data
|
|
|
|
is displayed within the preview window of the application
|
|
|
|
and can be applied to one of the signal generator outputs.
|
|
|
|
This signal generator provides two channels which can be
|
|
|
|
controlled separately. Students are able to vary the output
|
|
|
|
frequency for each channel using the corresponding knob in
|
|
|
|
the Frequency section. The same applies for adjusting the
|
|
|
|
required signal amplitude and for adding any desired offset
|
|
|
|
value.
|
|
|
|
In order to enable further development of the OpenLab
|
|
|
|
Signal Generator, the user application is designed to support
|
|
|
|
additional signal generator hardware. This means that the
|
|
|
|
output logic is encapsulated and can be handled in a generic
|
|
|
|
way. Each signal generator solution has to inherit from a
|
|
|
|
specific class and implement all the functions to be compatible
|
|
|
|
with the user application. It can be seen as a high level device
|
|
|
|
driver that communicates with the device. As a result, students
|
|
|
|
are able to design and built their own hardware, which can be
|
|
|
|
added to the Java software using a common interface. In the
|
|
|
|
current state of development, the OpenLab Signal Generator
|
|
|
|
supports generic PC soundcard devices as signal source. To
|
|
|
|
ensure platform independence, the Java software utilizes the
|
|
|
|
open-source PortAudio [16] library. Even without the external
|
|
|
|
signal processing hardware, described in V, students are able
|
|
|
|
to perform basic measurement tasks. Therefore, in order to
|
|
|
|
demonstrate signal characteristics, only a PC running the
|
|
|
|
OpenLab software is required. |
|
|
|
\ No newline at end of file |