Aim & Objective
freeSP - platform-independent solutions
for online-signal-processing applications
The developers of signal-processing systems
often face the dilemma of
an early decision requirement, determining the hardware or operating system
for their project, in order to be able to make a reasonable calculation.
Usually, performance requirements are estimated prior, and the actual
selection happens under cost-minimizing pressure.
In case the original estimation lies a bit aside, and the chosen hardware
is insufficient, the calculation wavers.
The cost risk of working in new development systems tendencially
results in development with dated, but well known hardware. Manufacturers
of microcontrollers and digital signal processors (DSPs) are navigating
against by offering development tools for their products which have a
high abstraction degree and a low work-in-time. Alas these tools are bound
to a narrow product pallet, and the applications built with them are almost
not portable to other platforms.
Tools like MatLab and LabVIEW take a line
over the simulation of the target-application, followed by a step of code generation.
Although most solutions created this way are widely platform-independent,
they suffer from a large system overhead that makes the produces code
inefficient for use in final products. Not finally, these tools are very
expensive.
In order to develop tailor-made solutions with few overhead,
the programming in C, C++ or assembler is required. The biggest obstacle porting
finalized programs or parts of programs is the fact, that the platform-differences
condense at many places in the source code. Developers have to explicitly
respond to I/O interfaces, organize memory allocations and develop a strategy
for program scheduling.
With freeSP ("free signal-processing"), a new
way is chosen. On the one hand, one can develop platform-independently
at source-code level, on the other hand, development of signal-processing
systems itself is vitally simplified. In the center there is an instant
concept for processing "flowing" signals: the freeSP core. Flowing
signals are designated as sensor data and derived informations that appear
equi-distantly in time and that can be modelled as data streams. To the
freeSP core belongs a workframe for declarative formulation of applications
as well as an extensible stock of elementary signal-processing algorithms.
These components are completely
platform-independent and rely on a module "system" that contains
all platform specific reliences and that is simply exchanged on demand.
Tools for signal visualization and test signal generation are completing
freeSP to a handy infrastructure for development of signal-processing
systems. |