SigLib FAQ |
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.
Most microprocessor and DSP manufacturers supply hand optimized functions for low level operations such as FFTs etc. If you need other functions optimized for your particular target proccessor then please do contact us and we will be more than happy to try to help.
Yes, Numerix is proud that the following companies use our products: /customers.html.
The full SigLib library source code and documentation is available on: GitHub.
Refer to the User's Guide for installation instructions for your chosen
compiler (located in the folder: siglib/docs/Users.pdf). Then navigate
to the Examples folder siglib/Examples/CExamples. We also provide an
introductory video.
Not at all. The SigLib math library
functions are just macros that call the functions provided by your
compiler. The reason why these macros are used is because some DSP
compilers use variations of the standard functions to support processor
architectures with different word lengths.
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 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.
Yes. As standard, the SigLib documentation is provided in electronic 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.
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.
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, Sigma Numerix does not deal through distributors or representatives because we are able to provide a higher level of technical support by working directly with our customers.
|
Copyright© 2022 Sigma Numerix Ltd..
Permission is granted to create WWW pointers to this document. |