This is a list of commonly asked questions about SigLib.
We have spent many thousands of hours coding, testing and optimizing the SigLib functions across a range of different processors. You can use all of this knowledge in your applications and whats more, you can start your software development on your favourite development platform and then recompile it for your chosen DSP, when you need to move to a real-time environment. SigLib has a very rich functional set and allows very quick application development. Click here to find out what our customers say about us.
There are many different sources of hand optimised code available, including DSP manufacturers web sites, third party web sites and other third party libraries. SigLib has been used in conjunction with all these options. Combining the rich level of functionality in SigLib with the optimisation levels of hand coded assembly allows both quick development cycles and high performance.
Yes. Although it is written in ANSI C, SigLib has been written to be fully compatible with C++ and examples are provided to show how to compile and link C++ applications.
SigLib has been written to support floating point processors and as such, it does not support fixed point data scaling. The most common technique for supporting fixed point processors is to start with floating point data and then port the algortihm to fixed point. It is important to be aware that the scaling issues associated with using integer architectures are very dependent on the choice of algorithm and processor, they are not handled by SigLib because they are best handled by the application developer. Further information on this subject is available in an applications note.
The user interface to the SigLib library is via a "C" header file, each supported processor has a section describing the device and its environment. Changing the data types for a supported processor is simply a matter of changing one single typedef and recompiling.
Yes, the SigLib library has been written to be completely multi-thread safe. All variables are either local to each function call or are maintained but the calling thread.
Each supported processor has a section in the "C" header file, describing the device and its environment. Adding support for a new device is simply a matter of copying an existing section that closely matches your requirement, modifying the appropriate directives and recompiling the library. This technique has been used successfully by several companies who have ported SigLib to many different environments.
The SigLib documentation is in two parts - a User's Guide and a Function Reference Manual - in Adobe Acrobat (PDF) file format or printed form. The User's Guide gives an introduction to each part of the library, while the Reference Manual gives a description of every function in the library. The appropriate Adobe file readers for your operating systems can be downloaded from the Adobe web site.
Yes. As standard, the SigLib documentation is provided in electronic Adobe Acrobat (PDF) file format however printed copies are available on request.
One of the most important features of the SigLib package is the examples section, this is provided to allow users to quickly familiarise themselves with the package and also to allow them to quickly develop their applications. SigLib includes over 80 example programs, for both simulations and real-time systems. See How Easy SigLib Is To Use
Numerix has been supplying and supporting SigLib since 1992 and fully intends to support it in the future with more features, extra functionality and support for newer processors.
SigLib has been benchmarked on most floating-point DSPs, Intel Pentiums, DEC Alphas and more. Please click here to request details.
The SigLib routines have been coded with a great deal of thought going into their run-time efficiency. While we accept that there will always be routines that are more efficient to code at the assembly level, modern C compilers can produce very efficient assembly code. We follow a set of standard guide lines for coding our functions for optimum run-time efficiency and you can view them on-line.
Yes, SigLib and MatLab use interchangable delimited ASCII data files formats. SigLib is also available as a 32 bit DLL and these can be called from most programs that can call DLLs.
The libraries are coded entirely in ANSI C and so they are portable across all processors however there are a whole load of issues to consider, including :
Selecting the appropriate word length for the processor to optimise the performance and or results
Slight modifications to the algorithms to ensure that they are optimised
Rigorous testing to ensure that the compiled code really does give the correct results
Yes. Where appropriate all of the functions are designed and tested to support continuous data streams that are divided into blocks. Many of the functions (e.g. filtering) have block and sample oriented variants so that the processing can be optimised for each particular application.
The graphics functionality is designed for DOS based applications and originates from the time when there was very little in the way of available libraries. Under Windows 95/98/NT or Solaris, there are now a large number of libraries and other applications that provide this functionality and we have no intention of competing with them. As a company we use 3 main packages that provide varying levels of graphical handling capabilities, these are : Microsoft Visual C/C++, Visual Basic and Hewlett-Packard's VEE. The latter is a very very good package and you can get a free working demonstration from their web site. If you do decide to use a package like C++ then you will find, as we do, that the standard SigLib graphics libraries provide a lot of functionality that you can pull into your application.
In general, Numerix does not deal through distributors or representatives because we are able to provide a higher level of technical support by working directly with the end user.
Home Page | SigLib™ DSP Library | DFPlus™ Filter Designer
If you have
any comments or questions please email Numerix : firstname.lastname@example.org
Copyright © 2008, Indigo Consulting Ltd.. Permission is granted to create WWW pointers to this document. All other rights reserved. SigLib is a trademark of Indigo Consulting Ltd.., VEE is a registered trademark of Agilent Inc. Matlab is a registered trademark of Mathworks Inc. all other trademarks acknowledged.