An Advanced Signal Processing Toolkit For JAVA App
An Advanced Signal Processing Toolkit For JAVA App
net/publication/221302980
CITATIONS READS
0 2,869
4 authors, including:
Anthony Skjellum
University of Tennessee at Chattanooga
259 PUBLICATIONS 9,121 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by N.H. Younan on 21 May 2014.
Call Method
Non -
P er Persistent
sis
ten
t Queue Type
Estimate
New PSD
Yes
Bind New
No Data
Destroy Object
<<binding>>
inApsect S pectralEstimation spectEstImp spectServ
spectEst
100 160
08
Correlogram
44
90 Correlogram
2.
7
140
15
.3
Periodogram Periodogram
94
80
120
70
Time (ms)
60 100
Time (ms)
50 80
52
40
1
60
.6
.5
41
24
96
30
7
6
.7
40
.9
36
25
44
20
52
11
.7
8
29
91
84
12
20
64
10
06
4.
2.
6.
0.
2.
0 0
Pure Java Non-Persistent Queue Persistent Queue Pure Java Non-Persistent Queue Persistent Queue
Implementation Implementation
Figure 10. Timing under Window 2000 Figure 11. Timing under SunOS 5.8
compared to pure Java. Furthermore, the creation of a spectrum
4.4 Performance Comparison analysis applet using the inAspect package shows the ease of
The inAspect package provides two types of queuing; persistent
using this toolkit for the development of various signal processing
and non-persistent. If the queue is declared as persistent, all the
applications.
required operations are queued and they remain in the queue until
the queue is destroyed or a specific command is given to remove
it. Queuing is processed using a specific function. The same set of
6. ACKNOWLEDGMENT
The authors would like to first acknowledge the National Science
operations can be performed on new data by processing the same
Foundation for their funding under NSF Phase II SBIR Grant
queue. While in the non-persistent queue, each operation is
0078563. Also special thanks go to Dr. Anthony Skjellum and
processed immediately and a specific operation is removed from
Mr. Torey Alford of MPI software Technology, Inc. for their help
the queue. In order to perform the same set of operations on new
in developing the application toolkit.
data, all the operations are required to be enqueued.
Figures 10 and 11 show the timing of two Classical Estimation
7. REFERENCES
methods, Periodogram and Correlogram, under Windows 2000
Professional (Hardware: Intel Pentium III ~500 MHz, 256 MB
[1] VSIPL Forum
http://www.vsipl.org.
RAM), SunOS 5.8 (Hardware: Sun Ultra 5/10 UPA/PCI
(UltraSPAR, C-IIi 333MHz), System clock frequency: 83 MHz, [2] SPUC C++ Library
Memory size: 256 Megabytes) operating systems respectively and http://spuc.sourceforge.net/.
Sun Microsystems’s J2SE 1.4.1 SDK. A comparison is also made
[3] MCMaster Signal Processing Library in Fortran
between the algorithms implemented in pure Java, using the Non-
ftp://nimios.eng.mcmaster.ca/pub/IEEE/software/dsp.zip.
persistent queue and persistent queue of the inAspect package. In
order to thoroughly test the performance of each implementation, [4] Douglas A. Lyon and Hayagriva V. Rao, “ Java DSP”, M &
random data is generated, a 1024 point FFT is taken, and an T Books, 1998.
average time for 1250 cycles is calculated.
[5] Java Native Interface
These figures clearly show the advantage of using the inAspect http://java.sun.com/docs/books/tutorial/native1.1/concepts/in
package with the persistent queue and native libraries (if available dex.html.
for that platform). It can be seen that the implementation using
non-persistent queuing is slower due to the extra overhead
[6] Sun Microsystems website
http://java.sun.com/
involved in transferring data from the C layer to the Java layer for
each operation. Furthermore, the pure Java version is even much [7] RMI Concept
slower due to the overhead and extra checking which Java http://www.edm2.com/0601/rmi1.html.
performs during execution. For this reason, the design of such
[8] VSI-PRO product
algorithms is essential, to maintain an acceptable level of
http://dri.mpi-softtech.com/servlet/MPI/products/vsi-pro
performance.
[9] S.L. Marple, Jr., Digital Spectral Analysis with Applications,
5. CONCLUSION Prentice Hall, Inc., Englewood Cliffs, NJ, 1987.
Various independent and customized signal processing packages [10] S.M. Kay, Modern Spectral Estimation Theory and
in Java are available, but developing a new application from these Application, Prentice Hall Signal Processing Series,
packages is limited. Hence, the development of a signal Englewood Cliffs, NJ, 1988.
processing toolkit provides more usability and better
performance. inAspectTM provides the high performance Signal [11] T. Alford, V. Shah, D. Whitcomb, A. Skjellum, N. Younan,
Processing and Image Processing toolkit in Java. A performance A. Watkins, “inAspect™ – Interfacing Java and VSIPL”,
comparison shows the advantage of the queuing function for Proceedings of the 2002 joint ACM-ISCOPE conference on
specific applications and also the advantage of using the JNI Java Grande, ACM Press, pp 148-155, 2002.