Está en la página 1de 8

Prof.

Brian Evans: Real-time DSP course online at


http://www.ece.utexas.edu/~bevans/courses/realtime/.
TechOnLine (http://www.techonline.com/): Courses on various topics.
Engineering Productivity Tools Ltd. (http://www.eptools.com/tn/index.htm):
Technical notes on various topics (FFT, Sensor arrays, etc.).
BORES Signal Processing DSP course.
(http://www.bores.com/courses/intro/index.htm): Introduction courses to DSP.
TI has a centralized training site where DSP designers can access all of TI's
training webcasts, workshops and seminars. It can be found at
www.dspvillage.ti.com/trainingpr2. It covers TI DSP, tools, software and
applications. Analog training is also included.
TI also has a site designed to help new DSP users (primarily new TI DSP users)
get started with their designs: http://www.dspvillage.ti.com/cocostu.

3: Where can I get free software for general DSP?


Updated 05/06/02

The packages listed below are mostly not oriented for use with a specific DSP
processor. See the later sections in the FAQ for software relevant to a particular
programmable DSP chip.

Q1.3.1: DSP Packages for MATLAB


Updated 05/06/02

FOR STUDENTS IN THE US AND CANADA: The MATLAB Student Version,


available from The MathWorks, is a full-featured version of MATLAB and

includes Simulink (with model sizes up to 300 blocks) and the Symbolic Math
toolbox. It is available for Windows and Linux. See
http://www.mathworks.com/products/studentversion/.
MATLAB user's group public domain extensions to MATLAB
Description:
The MATLAB Digest is issued at irregular intervals based on the number of
questions and software items contributed by users. To subscribe to the newsletter,
send mail to subscribe@mathworks.com. To make submissions to the digest,
please send to hwilson@ua1vm.ua.edu with a subject: "DIG" and description.
To obtain:
Some MATLAB tools are available on the web at http://www.mathworks.com, or
via anonymous ftp at ftp://ftp.mathworks.com/.
Wavelet Tools
Description:
There is a set of Wavelet Tools available for MATLAB, see Section 2.9 of this
FAQ.
Communications Toolbox
Description:
We have developed a "Communications Toolbox" based on the MATLAB code
for classroom use. It is used by students taking a 4th year communications course
where the emphasis is on digital coding of waveforms and on digital data
transmission systems. The MATLAB code that constitutes this toolbox has been
in use for over two years.
There are close to 100 "M-files" that implement various functions. Some of them
are quite simple and are based on existing MATLAB M-files. But a great many of
them has been created from scratch. We also prepared a lab manual (in TEX
format) for the 7 simulations which the students perform as the lab component of
this course. The topics of these simulations are:

To obtain:

Probability Theory
Random Processes
Quantization
Binary Signalling Formats
Detection
Digital Modulation
Digital Communication

M-files (MATLAB 4.2) is available in:


ftp://ftp.mathworks.com/pub/contrib/v4/misc/comm_tbx/
The complete manual in Postscript format is available at
ftp://ftp.mathworks.com/pub/contrib/v4/misc/comm_tbx/comm_tbx.manual.ps.
[Mehmet Zeytinoglu, mzeytin@ee.ryerson.ca]

Digital Filter Package (DFP)


Description:
The Digital Filter Package is a GUI front-end to digital filter design with
MATLAB. DFP extends the basic digital filter design functionality of MATLAB
in two important ways:
Filter coefficients can be quantized. This feature is important if the filter is
to be implemented on a fixed-point DSP processor.
DFP generates assembly-language code for the designed digital filter. In
the current release of DFP, this option is only available for the Motorola
DSP56xxx family.
For more information:
http://www.ee.ryerson.ca:8080/~mzeytin/dfp/index.html. [Mehmet Zeytinoglu,
mzeytin@ee.ryerson.ca]

Implementations of the CELP Federal Standard 1016 Speech Coder and LPC-10e
Speech Coder
To obtain:
http://www.cysip.com/dsplinks.html. [Andreas Spanias, spanias@asu.edu]
GSM Routines
Description:
Chris Stratford has placed GSM-related MATLAB code online, including routines
for GMSK modulation and Viterbi equalization.
To obtain:
http://www.stratfordc.free-online.co.uk.

Q1.3.5: Text to Speech Conversion Software


Updated 1/7/97

Free (but not public domain) text to speech conversion software is available via
anonymous ftp from wilma.cs.brown.edu in the pub directory as speak.tar.Z. It
will compile and run on a SPARC's built-in audio after modifying speak.c with
the path of your libaudio.h (e.g., /usr/demo/SOUND/libaudio.h). It's a simple
phoneme concatenation system with commensurate synthesized speech quality (a
directory of phoneme audio files is included). [Joe Campbell,
jpcampb@afterlife.ncsc.mil]

A public domain version of the same Naval Research Lab text to phoneme rules
can be obtained from:
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/syntheses/english2phoneme.tar.gz
The comp.speech FTP site includes a speech synthesis directory at ftp://svrftp.eng.cam.ac.uk/pub/comp.speech/synthesis. The main package is "rsynth"
which is a complete text to speech synthesis system. Several component packages
are also present. "textnorm" converts non-words such as digit strings into words
(e.g. 1000 to ONE THOUSAND). "english2phoneme" does some of the same but
its main functionality is to guess an appropriate phoneme sequence for each word.
"klatt" takes a parametric form that describes each phoneme and converts it to a
waveform. Other packages exist in the same directory to edit and visualise the
klatt parameters. [Tony Robinson, ajr@softsound.com]

Q1.3.6: Filter Design Software


Updated Sep 9 2004
There are

many filter design programs available via anonymous FTP or by HTTP.


The following are summarized here and discussed in greater detail below:
o August 1992 IEEE Trans. on Signal Processing: METEOR FIR filter
design program.
o DFiltFIR and DFiltInt FIR filter design program.
o Netlib IIR filter design.
o IEEE Press "Programs for Digital Signal Processing".
o Tod Schuck's near-optimal Kaiser-Bessel program.
o Brian Evans' and Niranjan Damera-Venkata's packages for Matlab and
Mathematica.
o ScopeFIR.
o FilterExpress.
o Charles Poynton's filter design resource page.
o Juhana Kouhia's hotlist.
o Alex Matulich's recipes for compiling 2-pole digital filters.

The August 92 issue of IEEE Transactions on Signal Processing includes a paper


entitled "METEOR: A Constraint-Based FIR Filter Design Program" by Kenneth
Steiglitz, Thomas W. Parks and James F. Kaiser. The authors describe an FIR
design program which allows specification of the target frequency response
characteristics in a fairly generalized and flexible way. As well as designing
filters, the program can optimize filter lengths and push band limits.
The source for the programs (meteor.p, form.p, meteor.c, and form.c) and the
METEOR paper as a postscript file may be found at http://www.
music.Princeton.edu/classes/class.html. The programs were originally written in

Pascal and then evidentally run through p2c to produce the C versions; all the
necessary Pascal library stuff is included in the C code and they built error-free
out of the box for me on an SGI machine.
There is no manual. The paper includes instructions on running the programs.
[Steve Clift, clift@mail.anacapa.net]

Weimin Liu has created a Windows 95 interface to the Meteor program, which
can be downloaded from http://www.nyx.net/~wliu/filter.html.

Other free filter design packages are DFiltFIR and DFiltInt. DFiltFIR designs
minimax approximation FIR filters. It uses the algorithm developed by
McClelland and Parks and incorporates constraints on the response as proposed
by Grenez. DFiltInt designs minimum mean-square error FIR interpolating filters.
The design specification is in terms of a tabulated power spectrum model for the
input signal.
The packages are available from
http://www.tsp.ece.mcgill.ca/Docs/Software/FilterDesign/FilterDesign.html or
directly via anonymous ftp from ftp://ftp.tsp.ece.mcgill.ca/TSP/FilterDesign/.
Another package, libtsp, is a library of C-language routines for signal processing.
The package is available from
http://www.tsp.ece.mcgill.ca/reports/Software/libtsp/libtsp.html or directly via
anonymous ftp from ftp://ftp.tsp.ece.mcgill.ca/pub/libtsp/ [Peter Kabal,
kabal@ECE.McGill.CA]

Another source is netlib: "A free program to design IIR Butterworth, Chebyshev,
and Cauer (elliptic) filters, in any of lowpass, bandpass, band reject, and high pass
configurations, is available in netlib (e.g., netlib.bell-labs.com) as the file
netlib/cephes/ellf.shar.Z. By email to netlib@netlib.bell-labs.com the request
message text is `send ellf from cephes'. The URL is http://www.netlib.org. [Stephen
Moshier, moshier@world.std.com]

The Fortran source code from the IEEE Press book "Programs For Digital Signal
Processing" is available by anonymous ftp from
ftp://soma.crl.mcmaster.ca/pub/IEEE/software/dsp.zip or
ftp://soma.crl.mcmaster.ca/pub/IEEE/software/dsp.tar.gz. It includes FIR and IIR
filter design software, FFT subroutines, interpolation programs, a coherence and
cross-spectral estimation program, linear prediction analysis programs, and a
frequency domain filtering program. There is also a C/C++ version of the
McClellan-Parks-Rabiner FIR filter design program available from
ftp://ftp.uu.net/usenet/comp.sources.misc/volume22/fir/part01.Z
This program was created and tested using Borland C++ 2.0. This requires a
pretty reasonable C++ compiler - it is reported that QuickC (not C++) won't do it.

[Witold Waldman, from Charles Owen at mgcbo@uxa.ecn.bgu.au; also Andrew Ukrainec,


ukrainec@InfoUkes.com]

I have developed a MATLAB (vers 4.0 for Windows) program that allows for the
frequency domain design of the "near optimal" Kaiser-Bessel window. The
program is based upon the three closed form equations developed by Kaiser and
Schafer in 1981 that allow for the specification of the time domain window
length, and the frequency domain mainlobe width and relative sidelobe amplitude.
For signal processing applications where the spectral content of the windowing
function is critical so as not to mask adjacent spectra such as radar signal
processing applications where a weak target return adjacent to a strong target
return could be easily masked by a windowing function that resolves poorly in
frequency; this program allows complete frequency domain specification of the
spectral characteristics of the windowing function. The current version of this
program allows for the user to specify the two frequency domain parameters of
mainlobe width and relative sidelobe amplitude and lets the window length fall
out as the dependent variable. The program is easily modified to allow for any
two parameters to be selected and allowing the third to be determined as a result.
This program will output to an ASCII file the window coefficients that can be
easily dumped to an EPROM or included in a program. It also generates both time
and frequency domain graphs so that the user can visually verify the widow
record length and spectral content. I will gladly provide any interested parties
with my MATLAB code.

Tod M. Schuck
Lockheed Martin NE&SS
Moorestown, NJ 08060
e-mail: tod.m.schuck@lmco.com
Filter Optimization Packages for Matlab and Mathematica, version 1.1 by Brian
L. Evans and Niranjan Damera-Venkata, Dept. of ECE, The University of Texas at
Austin. Available from
http://www.ece.utexas.edu/~bevans/projects/filters/syn_filter_software.html .
We have released a set of Matlab packages to optimize the following
characteristics of analog filter designs simultaneously:
1.
2.
3.
4.

magnitude response
linear phase in the passband
peak overshoot in the step response
quality factors (Q)

subject to constraints on the same characteristics. The Matlab packages take about
10 seconds for fourth-order filters and 3 minutes for eighth-order filters to run on
a 167-MHz Sun Ultra-2 workstation.

We use the symbolic mathematics environment Mathematica to describe the


constrained non-linear optimization problem formally, derive the gradients of the
cost function and constraints, and synthesize the Matlab code to perform the
optimization. In the public release, we provide the Matlab to optimize analog IIR
filters of fourth, sixth, and eighth orders. Using the Mathematica formulation,
designers can add new measures and constraints, such as capacitance spread for
integrated circuit layout, and regenerate the Matlab code.
We describe the framework in [1]. An earlier version of the framework is
described in [2]. We plan to extend this framework to digital IIR filters.
[1] N. Damera-Venkata, B. L. Evans, M. D. Lutovac, and D. V. Tosic, Joint
Optimization of Multiple Behavioral and Implementation Properties of Analog
Filter Designs, Proc. IEEE Int. Sym. on Circuits and Systems, Monterey, CA,
May 31 - Jun. 3, 1998, vol. 6, pp. 286-289.
http://www.ece.utexas.edu/~bevans/papers/1998/filter_optimization/.
[2] B. L. Evans, D. R. Firth, K. D. White, and E. A. Lee, Automatic Generation of
Programs That Jointly Optimize Characteristics of Analog Filter Designs, Proc.
of European Conf. on Circuit Theory and Design, Istanbul, Turkey, August 27-31,
1995, pp. 1047-1050.
http://ptolemy.eecs.berkeley.edu/publications/papers/95/filter_design_ecctd95/
[Brian Evans, bevans@combo.ece.utexas.edu]

ScopeFIR is a FIR filter design tool for Windows 95/NT which designs complex
FIR filters using the Parks-McClellan algorithm or windowing. It can then mix,
scale, quantize, and edit the FIR coefficients. It creates a wide variety of impulse
and frequency response plots, and supports many data file formats, including TI
assembly and ADI PM. Shareware with a 60-day trial period, available from
http://www.iowegian.com/scopefir.htm.
[Grant Griffin, grant.griffin@iowegian.com]

FilterExpress is a free filter synthesis tool for Windows. It supports the design and
analysis of IIR, FIR and multirate FIR filters. It is available for download from
http://www.systolix.co.uk/swdownload.htm.

DSP Design Performance provides Java applets generating different filters. The
applets can be found at http://www.nauticom.net/www/jdtaft.

Charles Poynton has an extensive list of hot-links to filter design resources on the
web at http://www.inforamp.net/~poynton/Poynton-dsp.html.

Juhana Kouhia has an extensive list of links at


http://www.funet.fi/~kouhia/hotlist-dsp.html.

Alex Matulich has compiled recipes (step by step instructions) for coding three
kinds of 2-pole digital filters, both low-pass and high-pass, complete with
correction factors to ensure that the 3 dB cutoff frequency stays where you put it
when you cascade filters of the same type together.
Alex has made these recipes available here:
http://unicorn.us.com/alex/2polefilters.html
The recipes cover Butterworth, Critically-Damped, and Bessel filters. Alex also
includes test results; i.e., plots of actual frequency response and step-function
temporal response for each filter.

Q1.3.7: Audio effects


Updated 2/11/02

Harmony Central
Harmony Central publishes some of the source code for its synthesis and audio
processing program at http://www.harmonycentral.com/Computer/Programming/. The code may be used in public releases,
but Harmony Central asks you to credit the author and possibly make the product
available for free or publish any modified code.
Music-DSP Source Code Archive
Musicdsp.org is a collection of data gathered for the music dsp community. It
includes code for wavetable synthesis, dithering, guitar feedback, and many other
effects and algorithms.
http://www.musicdsp.org/
[Steve Horne, steve@lurking.demon.co.uk]

También podría gustarte