Tel: 732-445-5017
e-mail: orfanidi@ece.rutgers.edu
This revised edition, first published in 2007, is an unabridged and corrected republication of the second edition of this book published by McGraw-Hill Publishing Company, New York, NY, in 1988 (ISBN 0-07-047794-9), and also published earlier by Macmillan, Inc., New York, NY, 1988 (ISBN 0-02-389380-X). All copyrights to this work reverted to Sophocles J. Orfanidis in 1996.
A newer and much expanded edition (2018) is available here.
Copyright © 1996-2007 by Sophocles J. Orfanidis, All Rights Reserved.
This book may be downloaded freely and printed for personal or educational use only, as long as the printed or photocopied pages are not altered in any way from the original PDF file posted on the book's web page.
The book's web page is www.ece.rutgers. edu/~orfanidi/osp2e, and links to this page may be placed on any web site.
No part of this book may be reproduced, altered in any way, or transmitted in any form for commercial, profit, sale, or marketing purposes.
The supplied MATLAB, C, and Fortran programs are for educational use only. They were designed to illustrate various concepts in this book. The author makes no warranties of any kind, expressed or implied, with regard to these programs or their documentation. The author shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing performance, or the use of these programs. These programs may be distributed freely, as long as they are not modified in any way.
MATLAB™ is a registered trademark of The MathWorks, Inc.
As far as possible, the MATLAB functions use the same input and output variables as the C and Fortran functions.
acext - autocorrelation sequence extension using Levinson recursion acmat - construct autocorrelation Toeplitz matrix from autocorrelation lags acsing - sinusoidal representation of singular autocorrelation matrices aicmdl - dimension of signal subspace from AIC and MDL criteria argen - generate a zero-mean segment of an AR process arsp - compute AR spectrum of a prediction-error filter bkwlev - backward Levinson recursion burg - Burg's method of linear prediction corr - sample cross-correlation Rxy of two vectors x and y dpd - dynamic predictive deconvolution dwf - sample processing algorithm of direct-form Wiener filter dwf2 - direct-form Wiener filter using circular delay-line buffer dwfilt - direct-form Wiener filtering of data dwfilt2 - circular-buffer direct-form Wiener filtering of data faest - FAEST algorithm for adaptive Wiener filter firw - FIR Wiener filter design flip - flip a column, a row, or both frwlev - forward Levinson recursion glwf - gradient lattice Wiener filter latt - sample processing algorithm of analysis lattice filter lattfilt - lattice filtering of a data vector lattsect - sample processing algorithm of a single lattice section lattsynth - sample processing algorithm of synthesis lattice filter lev - Levinson-Durbin recursion lms - LMS algorithm for adaptive Wiener filter lpf - extract linear prediction filter from matrix L lpg - extract reflection coefficients from matrix L lwf - sample processing algorithm of lattice Wiener filter lwfilt - lattice Wiener filtering of data mgs - modified Gram-Schmidt adaptive array preprocessor mgslms - modified Gram-Schmidt using LMS minorm - minimum-norm noise subspace eigenvector music - MUSIC spectrum computation rlev - reverse of Levinson's algorithm rls - RLS algorithm for adaptive linear combiner rlsl - double/direct RLS lattice adaptive Wiener filter rmusic - reduced-music eigenvector method scatt - direct scattering problem schur1 - Schur algorithm for linear prediction schur2 - Schur algorithm for Cholesky factorization snap - generate snapshot matrix for array problems spike - least-squares spiking filter design steering - construct steering matrix of multiple sinusoids/plane-waves yw - Yule-Walker method of linear prediction