"Modnum" toolbox
eng - fr
Date of last update
June 28 2013
Downloads
src : source versions. win-32bits : windows binaries. lnx-32bits : linux binaries.
What is ?
- "MODulations NUMériques" contains an open source computational library
for the modelling and the simulation of communication systems.
- This toolbox include Scicos blocks, diagrams and in-line functions of base-band
PSK/QAM modulations in order to build communication chains in scientific software environment.
- Components used to build spread-spectrum communication systems,
such Pseudo Noise sequence generators (Quasi-Chaotic, PN and Gold sequence
generators) are included.
- Moreover it includes miscellaneous scopes for Scicos such Eye Diagram Scope,
Scattered Diagram Scope and Spectrum Analyzer Scope.
- Diagrams and blocks of integer and fractionnal frequency synthesizer components
(Phase/Frequency Detector, VCO, Delta-Sigma modulators,...) are provided.
- This toolbox also focus on the simulation of chaotic systems and gives diagrams of
simulation of Chua's, Rössler's, Van Der Pol's systems (and others).
News
June 6 2013 : Modnum_43 Beta
Modnum_43 Beta is available for ScicosLab and Nsp.
It includes various fixs from the latest release and comes with the complete set of "Modnum's" Scicos blocks
and diagrams for the latest Nsp that you can download here.
September 8 2011 : Modnum_422 Update
Modnum_422 is available in binary packages for ScicosLab 4.4.1. It includes minor fixs from the latest release.
December 20 2009 : Modnum_422
Modnum_422 is available. It includes minor fixs from the latest release and works with ScicosLab4.4 :
- ScicosLab/Scicos builder script : improvement of the ScicosLab/Scicos version checking.
- Scicos block Symbol integrator : major bug fix.
- Scicos Sinks palette : the size of the scopes can be now informed via the Scicos GUI.
- ScicosLab simulation script 'qpsk_teb_sim' : minor bug fix.
July 10 2009 : Modnum_421
Modnum_421 is available. It includes :
- Major fixs for many Scicos blocks
It mainly concerns good calling sequences for flag 1 and flag 2 in the computational functions, to
respect the Scicos formalism for the simulation of discrete sub-systems.
Some fixs have also been done for linkage problems related to the use of the Scicos Code Generator.
For the next release, the Scicos-Modnum interfaces will be tested with the 'Scicos Test Center'.
- Minor fixs for interfaces of ScicosLab
Linux binaries have also been fixed to use Modnum both with x11 or gtk interfaces of ScicosLab.
- Palette reorganization
A new palette called 'Signal' appears in Modnum.
It is dedicated to the Digital Signal Processing. Most of blocks that currently
are in the 'Signal' palette are based on the C. Bunk's Scilab Signal Digital Processing toolbox.
- New Scicos blocks
Three new Scicos blocks have been added for that release :
- Dec2Bin
That block is an integer to bit converter.
It is in the Integer palette.
- Bin2Dec
That block is the pair block of the Dec2Bin block.
It is in the Integer palette.
- Correlation
That block can be used to do some processing with discrete signal.
It is provided in the Signal palette.
- Extension of the GPL license for all C source files of the toolbox.
The extension of the GPL license will be done for all other files as soon
as possible to make it possible to include Modnum in GPL projetcs or to include
GPL projects in Modnum.
- Possibility to use the GPL software FFTW.
It is provided with the configure script (source version only): by default the script look at for the FFTW
library. If the library is found on the system where 'Modnum' is compiled, then the
Modnum blocks FFT, Convolution and the Spectrum Analyzer Scope will use FFTW instead of the standard
fft libraries of ScicosLab.
Note that for that release, binaries package of Modnum still use the ScicosLab fft routines.
- A new set of interfacing functions for the GPL software Nsp.
That is in current development.
For that time being, the following functions have been successfully interfaced with Nsp :
genint, genrayl, upsmpl, downsmpl, modpsk, demodpsk, modqam, demodqam, gengold, genpn,
spread, despread, nfilter, awgn, intsym, calc_fft. To build and link Modnum with Nsp,
two methods are provided. Use the configure script like that :
./configure -with-nspsrc=DIRNSP -with-gtk2
or use the builder_nsp.sce script inside Nsp provided at the root directory of the
toolbox.
- Possibility to compile the toolbox with the cross-compiler MinGW.
All the C source files of the toolbox can be cross-compiled with MinGW32 to have the dlls.
For i.e. with a linux Debian distribution one can try :
./configure -host=i586-mingw32msvc
- Documentation update
December 15 2008 : Modnum_42 Release
Modnum_42 is available. This release includes :
- Scicos 4.3 integration
- Code Generation
External libraries of Modnum are now internally informed in Scicos.
One can use then Modnum toolbox with Scicos Code Generation : libraries are automatically
linked and informed in the standalone Makefile.
- Palettes
Modnum palettes are fully integrated in the 'Pal tree' viewer of Scicos.
They are now put in a single main palette 'Modnum' which contains all other
block set of Modnum (Communication, Filter, Integer, NonLinear, Pll, Sinks, Sources, Tools)
- Documentation and Demos
They are now integrated in the 'Help' menu of Scicos.
- New Scicos blocks
Three new Scicos blocks are included in that release :
- Digital Adder
That block is a digital adder with a carry output. With that block, one can
build digital accumulators traditionally used in implementation of Delta-Sigma modulator.
It is in the Modnum Integer palette.
- Phase error of digital frequency divider
To compute phase noise samples at the output of a fractional frequency divider modulated by
a Delta-Sigma modulator.
Provided in the Pll palette.
- Noisy phase oscillator
That block uses Scicos continuous zero crossing method to generate events corresponding to
a noisy phase oscillator.
This method should improve the computation of output spectra of the synthesizer models.
Provided in the Sources palette with the gui name PEVTDLY_c (Phase modulator).
- Rewritten Scicos block
- Random Integer block
New options have been added to set the range (minimun and maximum) of the generated integer numbers.
(Modnum Sources Palette)
- Internal handling
Modnum internal source files have been totally rearranged. Modnum contains now an independant computational
library with a set of interfacing functions for different environments like Scilab and Scicos.
Two sets of interfacing functions are now available and is able to be used independently :
- Modnum toolbox for Scilab : interfacing functions for Scilab (in-line functions)
- Modnum toolbox for Scicos : interfacing blocks for Scicos
See the files README to have a description of directories of Modnum.
- GNU Autotools building process
Modnum can be build now with a './configure' script generated by the GNU autoconf package.
Whitout options, the makefile system only build the main library of computational functions.
To build interfacing functions of Scilab/Scicos, one can use the option '-with-scisrc=PREFIX' to
set the source directory of Scilab. Note that for that time, it only works with scilab 4.x familly.
Building process with scilab 5.x will be done in a next release. Some other functions like
'-with-gtk2', '-with-fftw',.. are also available. Use './configure -help' to see more.
- Bugs fixs
- Documentation update
A new version of "Modnum" is available. RC42
It fixs and replaces the previous version and works for the
Scicos versions >= 4.2.1.
The toolbox have been rearranged to give the autonomy of the low-level computational
routines library from the scilab environment.
"Modnum_42" will become an official version when it will be fully tested under
GNU Linux and Windows.
Decembre 06 2007 : Modnum_412 update
"modnum_412" fixs and replaces "modnum_41".
So that version becomes the supported version for bugs fix and
for the windows/linux installation.
This version have been realized for the new version of scicos : scicos 4.2.
That version includes :
- Interfacing scilab functions/"modnumlib" library
- New set of scilab functions have been implemented from some low-level routine of the
modnum library. You can find now basic functions to build base-band DS spread spectrum
communication systems. See for exemple the scilab simulation script
CDMA_sim.
- Some new functions appears in modnum library, such embedded awgn channel, Rayleigh noise
generator (both scilab function and scicos block), discrete autocorrelation...
- Windows installer
- This have been done from the software "Inno Setup" : an executable file
is then now available for windows binary version of the toolbox.
- Documentation update
- The "modnum" documentation look follows the scicos 4.2 documentation.
- Blocks icons for the new "pal tree" of scicos 4.2 have been implemented.
- Bugs fix
- Reviewed compilation process for users of linux version of scilab
that uses the feature "make install".
- The toolbox embeds some scilab header files (.h) to disable some compilation
errors that occurs for features of the new graphics (NG).
- Reviewed computational functions concerning C functions that use dynamic allocation :
allocations are now always done in the flag 4 and unallocation is always used in
flag 5. That disable leak of memory for intensive use of "modnum" block sets in scicos.
- Reviewed use of "stacksize" scilab function when buildind and loading "modnum"
in scilab : that allow to use the toolbox on low memory ressource computer.
For more informations concerning development and maintenance of "modnum", you
can display now the file Version.txt that you can find at the root directory of the
toolbox.
May 26 2007 : Modnum_41 update
Since "modnum_3", Modnum has been rewieved and the archive has
been renamed to "modnum_41".
(the version number of the archive follows the version number of Scicos).
Deep modifications has occurred in the building process of the toolbox and
in the routines of scopes to allow its future "life" in next versions of
Scilab/Scicos (versions >=5).
This update have been done close to the current development
of scilab/scicos @ INRIA in the METALAU
project.
The main news of this updated version are :
- New blocks
- Spectrum analyzer scope
That "brick wall" scope is based on the autocorrelation
method detailled in the scilab macro "pspect" (from
C. Bunk's Scilab Signal library).
- Generic symbol modulator/demodulator blocks
This blocks enable use of arbitrary constellations.
- Gaussian/Square Raised Root Cosine/Raised Cosine Filter blocks
They have been duplicated from the "generic RIF filter block"
for user facilities.
A new palette (Filter palette) appears in Modnum. This palette is
dedicated to the digital signal filtering.
- Rewritten blocks
- Analog to Digital and Digital to Analog Convertor blocks
Old blocks (CAN_f/CNA_f) written in fortran have been
redesigned in C language and includes some static non-linear mistmaches.
- Discrete Voltage Controlled Oscillator block
Some digital computational errors have been detected in
VCO blocks concerning edge dates computation.
- Discrete and Event discrete buffer blocks
This blocks have been totally rewritten for user facilities.
One can now use scilab global variables to export Scicos results
in the Scilab workspace.
- Scope blocks
All scopes dedicated to the analysis of the simulated results of communication
systems have been rewritten using the New Graphics (NG) low-level functions of Scilab.
- Eye diagram scope
- Vector scope
- Trajectory/scattered diagram scope
- Reviewed blocks and bugs fix
- Up-sample block
- Random Generator block
- Phase Shift Keying, Quadrature Amplitude Modulation modulator/demodulator blocks
- Low-level routines library "modnumlib" is now under GPL license
- Functions of documentation generator has been removed
Modnum is only now dedicated to communication systems.
For people which have succed to use embedded documentation generator
of modnum_3, please contact alan.layec@cermics.enpc.fr
to have a standalone
linux version of the documentation generator.
- Scilab html documentation is up to date
Most of blocks and diagrams are now documented both in french and english.
(it still stays many things to do concerning this point but work is in great progress)
- Building process via builder script and windows compilation of routines have been reviewed
This enables good compilation with
tools included in scilab (i.e ilib_for_link).
With that, appropriate DLLs can be generated with the
builder script and binary version of Modnum for windows
can be downloaded from this web site.
Contents
Figure 1:
Toolbox internal organization
|
This toolbox contains several elements :
- A low-level computational routines library (in C language) including common
functions of base band communication and tri-state PFD.
- A set of Scicos palettes including blocks with C language computational functions
and extented interfacing functions :
- Communication palette for PSK/QAM transmissions,
- Filter palette for digital signal filtering,
- Integer palette to handle integer numbers,
- Non-linear palette with common non-linearities encountered in digital processor.
- Phase Locked Loop palette for the design and simulation
of integer and fractional frequency synthesizers,
- Signal palette for digital signal processing,
- Sinks palette to display frame-based signal,
- Sources palette to compute random process (and others).
- Many examples of Scicos diagrams and ScicosLab simulation scripts.
Install
- On linux platform, builder script use gcc/g77 to build the toolbox.
- On windows platform, builder script is able to use :
- MSVC to build the toolbox
or
- lcc-win32 (see scicoslab-x.x/lcc/Readme_LCC.txt for instructions of installation).
- Future improvement of builder script should also build the toolbox for Solaris/HP-Unix platform.
The instructions of installation are given in the README file in the root directory of the toolbox.
With the improvement of the building process, support for the installation
of source versions for linux and windows platforms is now provided.
Documentation
Source versions and binary versions of the toolbox
include a ScicosLab html documentation.
Two languages are supported : english and french.
You can view the interfaces documentation with this following links :
- Toolbox ScicosLab
- Toolbox Scicos
Screenshots
alan
2013-06-27