10 OpenCourseWare Sites For Free Education.

## Circuit lab, diagrams,Free circuits, Electronics periodical, e-mags: India

Filed under Uncategorized

## Circuit lab, diagrams,Free circuits, Electronics periodical, e-mags: India

Filed under Uncategorized

## DIGITAL SIGNAL PROCESSING

**Some Useful Links : PART – 3**

*~UT Austin EE 345S Real-Time DSP Lab Extra Resources~*

Ankita Kaul

**MIT OpenCourseWare:**

*****Advantages: Exceptional Lecture Notes! J The readings are more in depth than lecture material, but still quite fascinating.

*Disadvantages: The homework assignments and solutions were Advantages for practice, but many problems outside the scope of the 345S class.

** **

**UC-Berkeley DSP Class Page:**

http://www-inst.eecs.berkeley.edu/~ee123/fa09/#resources

*****Advantages: The articles and applets under ‘Resources’ are quite interesting and useful

*Disadvantages: Seemingly no actual Berkeley work actually on website, everything taken from other sources…

**Carnegie Mellon DSP Class Page:**

http://www.ece.cmu.edu/~ee791/

*****Advantages: Lectures had a lot of Matlab code for personal demonstration purposes

*Disadvantages: The lecture notes themselves are far more math-y than the context of 345S – still interesting though

**Purdue DSP Class Lecture Notes Page:**

http://cobweb.ecn.purdue.edu/~ipollak/ee438/FALL04/notes/notes.html

*Advantages: the notes are super simple and easy to understand

*Disadvantages: only covers ~first half of 345S coursework

*Doing a search on Apple’s iTunes U[niversity] for DSP provided numerous FREE lectures from MIT, UNSW, IIT, etc. for download as well.*

* *

**Youtube Video Resources:**

** **

http://www.youtube.com/watch?v=7H4sJdyDztI&feature=related

^Signal Processing Tutorial: Nyquist Sampling Theorem and Anti-Aliasing (Part 1)

*Advantages: visuals

*Disadvantages: voice was kind of annoying, a bit slow

http://www.youtube.com/watch?v=Fy9dJgGCWZI

^Sampling Rate, Nyquist Frequency, and Aliasing

*Advantages: visualization of basic concepts

*Disadvantages: very short, would have liked more explanation

http://www.youtube.com/watch?v=RJrEaTJuX_A&feature=related

^ Simple Filters Lecture, IIT-Delhi Lecture

*Advantages: explanations of going to and from magnitude/phase

*Disadvantages: watch out for lecturer’s accent

http://www.youtube.com/watch?v=Xl5bJgOkCGU&feature=channel

^FIR Filter Design, IIT-Delhi Lecture

*Advantages: significantly deeper explanations of math than in class

*Disadvantages: lecturer’s accent, video gets stuck about 30 seconds in

http://www.youtube.com/watch?v=vyNyx00DZBc

^Digital Filter Design

*Advantages: quite Advantages information – especially on design TRADEOFFs

*Disadvantages: sound quality, better off just reading slides while he lectures

http://www.engr.ucsb.edu/~niranjan/mat202.htm

Introduction to Mathematics for Digital Signal Processing

http://cnx.org/content/col10064/latest/

Signals and Systems

http://theopenacademy.com/content/digital-signal-processing

MIT – Open academy **Professor:** Alan Oppenheim

The Scientist and Engineer’s Guide to

Digital Signal Processing

Second Edition

http://cycling74.com/forums/topic/recommend-a-good-book-for-beginnercrash-course-dsp/

dsp e-learning link

1. http://elearning.vtu.ac.in/EC52.html

2. http://elearning.vtu.ac.in/06EC74.html

ss e-learning link

Filed under Signals and Processing

## Digital Signal Processing

**Some Useful Links : PART – 2**

Partial Course Notes:

Introductory DSP

http://jdsp.asu.edu/jdsp.html – Java DSP editor

http://ciips.ee.uwa.edu.au/~roberto/research/speech/sst/sron.html

http://www.bores.com/courses/intro

http://www.eeng.dcu.ie/~scaifer/dsp/index.html TI DSP

http://sepwww.stanford.edu/sep/prof/fgdp/c1/paper_html/node4.html FFT

http://www.ecn.purdue.edu/VISE/ee438/demos/Demos.html – demos

http://yehar.com/blog/?p=121 sounds & music

http://sepwww.stanford.edu/data/media/public/sep/prof/ good intro

http://faraday.elec.uow.edu.au/subjects/autumn/ecte401/ DSP lecs q+a

https://ccrma.stanford.edu/~jos/sasp/sasp.html inc SE & m’rate

Matlab

http://www.math.utah.edu/lab/ms/matlab/matlab.html tutorial

http://www.math.unh.edu/~mathadm/tutorial/software/matlab/ tutorial

http://www.engin.umich.edu/group/ctm/basic/basic.html ‘’

http://www.math.ufl.edu/help/matlab-tutorial/

Signal models:

http://ccollomb.free.fr/technotes/A%20tutorial%20on%20linear%20prediction%20and%20Levinson-Durbin.pdf

http://ccollomb.free.fr/technotes/A%20tutorial%20on%20Burg%27s%20method,%20algorithm%20and%20recursion.pdf

http://www.mathworks.com/access/helpdesk/help/toolbox/dspblks/ref/burgmethod.html

http://sepwww.stanford.edu/sep/prof/fgdp/c7/paper_html/node3.html Burg

http://sepwww.stanford.edu/sep/prof/fgdp/c7/paper_html/node1.html Levinson, Burg

http://sepwww.stanford.edu/theses/sep06/ Burg’s thesis

http://sepwww.stanford.edu/sep/prof/fgdp/c1/paper_html/node2.html#SECTION00110000000000000000 z-tfm

http://sepwww.stanford.edu/sep/prof/fgdp/toc_html/index.html dsp

Kalman Filters

http://www.cs.unc.edu/~tracker/ref/s2001/kalman/index.html

http://ourworld.compuserve.com/homepages/PDJoseph/kalman.htm

Spectral Estimation

www.telecomlab.oulu.fi/home/coursematerial/it_11.pdf

http://dspace.mit.edu/bitstream/1721.1/4250/1/RLE-TR-493-15597448.pdf Burg [+ extended to 2-D]

http://ieeexplore.ieee.org/iel5/5/31307/01456452.pdf?tp=&isnumber=&arnumber=1456452 good review

http://ieeexplore.ieee.org/iel6/29/26149/01163467.pdf – Burg

http://dspace.mit.edu/bitstream/handle/1721.1/4250/RLE-TR-493-15597448.pdf?sequence=1 p18-24 burg

http://www.mpi-hd.mpg.de/astrophysik/HEA/internal/Numerical_Recipes/f13-7.pdf

http://www.stanford.edu/~cover/papers/paper62.pdf burg proof

http://projecteuclid.org/DPubS/Repository/1.0/Disseminate?view=body&id=pdf_1&handle=euclid.bams/1183553670 p20/1

http://www.ncu.edu.tw/~ncu5680/deans/class/eng/1990-Chao-On%20the%20use%20of%20maximum%20entropy-autoregressive%20spectrum%20in%20harmonic%20analysis%20of%20time%20series.pdf

http://docs.google.com/viewer?a=v&q=cache:omY5giCyZEcJ:slpl.cse.nsysu.edu.tw/cpchen/courses/ita/l11_maxEnt.pdf+maximum+entropy+burg+spectral&hl=en&gl=ie&sig=AHIEtbRa9QaVMxl75YB5ZtZiBuDiKSYIQw

www.commsp.ee.ic.ac.uk/...**Spectrum**%20Estimation/3-Modern%20**Spectral**%20Estimation.ppt

http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA026626&Location=U2&doc=GetTRDoc.pdf Tutorial p1-61

http://heim.ifi.uio.no/~sverre/papers/79_OE-OceanWave.pdf

http://web.nps.navy.mil/~therrien/EC4420/ClassNotes/Model_based.pdf

http://www.dcsc.tudelft.nl/Research/PubSSC/dsis/publications/Broersen_PMT/IMdec02.pdf

http://www.faslo.com/pubs/tm.pdf

http://math.ucsd.edu/~crypto/java/ENTROPY/ Java Applet for Entropy

2-D DSP:

http://www.fulton.asu.edu/~karam/eee507/ V Good 2-D DSP Course

http://koasas.kaist.ac.kr/bitstream/10203/12276/1/25.pdf McClellan

http://inst.eecs.berkeley.edu/~ee225b/sp08/ 2d course:

http://inst.eecs.berkeley.edu/~ee225b/sp08/homework/homework4_probs-c.pdf McClellan

http://inst.eecs.berkeley.edu/~ee225b/sp08/homework/homework4_probs.pdf ”

http://inst.eecs.berkeley.edu/~ee225b/sp08/homework/homework1.pdf ”

http://inst.eecs.berkeley.edu/~ee225b/sp08/lectures/lec9.pdf ” handwritten [large]

http://inst.eecs.berkeley.edu/~ee225b/sp08/lectures/lec8.pdf ” ”

http://inst.eecs.berkeley.edu/~ee225b/sp08/lectures/lec7a.pdf 2d conv, dft

http://www3.interscience.wiley.com/journal/116316793/abstract?CRETRY=1&SRETRY=0 ”

https://engineering.purdue.edu/~bouman/ece637/notes/pdf/Filters.pdf 2d filters

http://inst.eecs.berkeley.edu/~ee225b/sp08/lectures/lec2b.pdf 2d intro

https://www.projectrhea.org/rhea/images/7/79/2D_Sampling_and_Scanning.pdf 2d sampling

https://www.projectrhea.org/rhea/images/4/4c/LinearShiftInvariantImagingSystems.pdf 2d LSI

http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1084236 Mc Clellan

Multirate DSP

http://www.csdmag.com/main/2000/04/0004feat4.htm polyphase filters, multistage, computation rate

http://www.ece.osu.edu/~schniter/ee700/handouts/multirate.pdf

http://cn.ece.cornell.edu/teaching/fall2002/reading/strang-ch3.ps

http://www.ece.osu.edu/~schniter/ee700/handouts/filterbanks.pdf

http://www.maxim-ic.com/appnotes.cfm/an_pk/1870 – sigma-delta ADC

http://wooster.hut.fi/kurssit/s883105/laskarit/multirate%20digital%20signal%20processing4b.ppt 2/3 sample rate convert

http://www.dspdesignline.com/207400771;jsessionid=31FI5VXXO2VZ2QSNDLPCKHSCJUNN2JVN?pgno=1 good egs

https://engineering.purdue.edu/~bouman/ece637/notes/pdf/1DRateConvertion.pdf 1d decimation

http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-03%20Transform%20View_2003.pdf v good illustration of down/up sampling

http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521.htm v good links, lecs, demos

http://home.eng.iastate.edu/~julied/classes/ee524/articles/multirate_article.pdf comprehensive

http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-09%20Two-Channel%20Filter%20Bank_2007.pdf QMF

https://ccrma.stanford.edu/~jos/sasp/Multirate_Filter_Banks.html incl MP3 FB

http://www.ensc.sfu.ca/~jiel/courses/815/pdf/02_updown.pdf basic mrate

Speech

http://www.eetkorea.com/ARTICLES/2001SEP/2001SEP05_AMD_MSD_AN1.PDF – ADM

http://www.otolith.com/otolith/olt/lpc.html – LPC

http://svr-www.eng.cam.ac.uk/~ajr/SpeechAnalysis/

http://svr-www.eng.cam.ac.uk/comp.speech/Section3/Q3.2.html

http://www-mobile.ecs.soton.ac.uk/speech_codecs/index.html

http://svr-www.eng.cam.ac.uk/~ajr/SA95/SpeechAnalysis.html

http://www-mobile.ecs.soton.ac.uk/hth97r/links/speechlink/sp_tutorial.html

http://www.ling.su.se/staff/hartmut/bark.htm Bark/Mel scales

http://www.commsdesign.com/article/printableArticle.jhtml?articleID=16501605 GSM Codecs: A Tutorial

http://www.commsdesign.com/design_corner/OEG20030711S0010 GSM, RPE, ACELP

http://www.radio-electronics.com/info/cellulartelecomms/gsm_technical/audio-codecs-vocoders-amr-celp.php http://www.ee.columbia.edu/~dpwe/e6820/lectures/ DSP & Speech

http://www.palowireless.com/bluetooth/docs/bdouglas.pdf codec comparison

http://www.tkn.tu-berlin.de/curricula/ws0001/colloquiumstexte/noll_fulltext.pdf great speech/audio codec review http://www.i3s.unice.fr/~am/Theses/Oger/These_Oger.pdf good ”

http://www.data-compression.com/speech.html LPC, CELP, ACELP

Audio Coding

http://www-ccrma.stanford.edu/~jos/bbt/Bark_Frequency_Scale.html Bark Scale

http://www.csc.ncsu.edu/faculty/rhee/export/papers/DigitalAudioCompression.pdf

http://www.dspdesignline.com/showArticle.jhtml?articleID=201000337 – codec comparison

http://www.digitalradiotech.co.uk/dab/dab_vs_dab+.htm – DAB [mp2] v DAB+ [aac+]

http://www.tonmeister.ca/main/textbook/node1.html acoustics, DSP

http://www.sfu.ca/sonic-studio/handbook/index.html acoustics

MPEG Audio

http://www.mpeg.org/MPEG/audio.html#audio-overview

http://www.mp3-tech.org/aac.html aac

http://www.cs.berkeley.edu/~lazzaro/sa/index.html SA

http://www2.hsu-hh.de/ant/dafx2002/papers/DAFX02_Maso_Trestino_Mian_MPEG4_speech.pdf -HVXC

http://www.dspdesignline.com/showArticle.jhtml?articleID=202803950 – MP1/2/3, AAC

http://ieeexplore.ieee.org/iel5/10690/33750/01607273.pdf?arnumber=1607273 TWIN-VQ, critical bands

http://www.embedded.com/columns/specialreports/164300682?_requestid=60812 modern M4 audio

http://140.130.175.70/html/mpeg4/sound.media.mit.edu/mpeg4/audio/general/index.html#aes108 M4, M7

http://140.130.175.70/html/mpeg4/sound.media.mit.edu/mpeg4/audio/general/aes108_1-Overview.pdf good m4 figs

http://140.130.175.70/html/mpeg4/sound.media.mit.edu/mpeg4/audio/general/aes108_3-BSAC.pdf good bsac fig

http://www.visagetechnologies.com/products_sdk_base.html FBA

http://www.ece.cmu.edu/~ee899/handouts.htm m’media

GSM/MP3/AC3/AAC

http://www.iis.fhg.de/amm/techinf/layer3/

http://www.iis.fhg.de/amm/techinf/aac/index.html

http://www.firstpr.com.au/audiocomp/aac-mp3-vq.html

http://www.tml.tkk.fi/Opinnot/T-111.550/Mobileaudioformats2004-10-26.pdf

MPEG-7

http://www.chiariglione.org/mpeg/standards/mpeg-7/mpeg-7.htm

http://www.elec.qmul.ac.uk/dafx03/pdfs/MPEG-7_Tools_3.pdf

http://www-sipl.technion.ac.il/Info/new/Archive/Annual_Proj_Pres/sipl2007/Posterspdfs/MPEG7.pdf

http://mpeg7.doc.gold.ac.uk/ MPEG-7 Audio Standard

http://140.130.175.70/html/mpeg4/sound.media.mit.edu/mpeg4/audio/general/index.html – mpeg 4& 7 audio

http://www.eurasip.org/Proceedings/Eusipco/Eusipco2007/Papers/c3l-d03.pdf m7

http://adsabs.harvard.edu/abs/2006SPIE.6312E..29G m7

http://www.merl.com/papers/docs/TR2003-138.pdf av ind components

http://prestospace.org/training/images/jukm.pdf :

## Digital Signal Processing

**Digital signal processing** (**DSP**) is the mathematical manipulation of an information signal to modify or improve it in some way. It is characterized by the representation of discrete time, discrete frequency, or other discrete domain signals by a sequence of numbers or symbols and the processing of these signals.

The goal of DSP is usually to measure, filter and/or compress continuous real-world analog signals. The first step is usually to convert the signal from an analog to a digital form, by sampling and then digitizing it using an analog-to-digital converter (ADC), which turns the analog signal into a stream of numbers. However, often, the required output signal is another analog output signal, which requires a digital-to-analog converter (DAC). Even if this process is more complex than analog processing and has a discrete value range, the application of computational power to digital signal processing allows for many advantages over analog processing in many applications, such as error detection and correction in transmission as well as data compression.^{}

**Some Useful Links: PART – 1 **

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:

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

To obtain:

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://svr-ftp.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:
- August 1992 IEEE Trans. on Signal Processing: METEOR FIR filter design program.
- DFiltFIR and DFiltInt FIR filter design program.
- Netlib IIR filter design.
- IEEE Press “Programs for Digital Signal Processing”.
- Tod Schuck’s near-optimal Kaiser-Bessel program.
- Brian Evans’ and Niranjan Damera-Venkata’s packages for Matlab and Mathematica.
- ScopeFIR.
- FilterExpress.
- Charles Poynton’s filter design resource page.
- Juhana Kouhia’s hotlist.
- 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. SchuckLockheed 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:

- 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.harmony-central.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.

[Steve Horne, steve@lurking.demon.co.uk]

Filed under Signals and Processing