In /usr/share/local/matlab42/toolbox/burrus

/Data

/Func-v4

/Functions

README

burruspath.m
BURRUSPATH Script to prepend the BURRUS Toolbox directories
to the MATLABPATH.

Maqbool Aliani 05-26-94
George Mason University

In /usr/share/local/matlab42/toolbox/burrus/Data

ARdata.mat
This file contains data sequences a1, y1, y2, and y3, which are used in
Exercise 1.2 of the Linear Prediction section of Chapter 11.

BLIdata.mat
This file contains data sequences data1, data2, goodfilt, ideal1, and
ideal2, which are used in Project 1 of the Band-Limited Interpolation section
of Chapter 4.

DJIAdata.mat
This file contains data sequences dow3 and num. dow3 contains all of
the DJIA weekly closing prices from 1897 to 1990. num contains the number
4862, which is one more than the number of elements in dow3(4861). This data
is used in Exercise 1.4 of the Linear Prediction section of Chapter 11.

EXPdata.mat
This file contains data sequences sigclean and signoisy, which are used
in Exercise 1.3 of the Exponential Modeling section of Chapter 11.

b3pulses.mat
This file contains data sequence sig, which consists of three bandpass
pulses(frequencies 5-8kHz, 10.5-15.5kHz, and 18-20kHz). sig is used in
Project 2 of the Narrowband Signals section of Chapter 3.

bat.mat
This file contains the speech sequence sa, which is the word "bat." sa
is used in Exercise 4.1 of the Narrowband Signals section of Chapter 3.

gdeldata.mat
This file contains the data sequences a, b, h, noise, pnd_1, pnd_2,
pulse, x1, and x2. These are filters and signals used in Project 2 of the
Group Delay section of Chapter 1.

intfere.mat
This files contains the data sequence yint, which is used in Project 2
of the Sliding Window DFT section of Chapter 3.

r100.mat
This file contains the matrix y, which is used in Project 4 of the
Radar Simulation section of Chapter 10.

s1.mat
This file contains s1, a speech sequence of a female speaker saying
"The pipe began to rust while new."

s1_0.mat - s1_24.mat
These files are 1000-point segments of the speech file s1.mat. The
sentence actually ends in s1_23.mat, followed by a null signal in s1_24.mat.
These files are used in the sections on speech in Chapters 10 and 11.

s5.mat
This file contains s5, a speech sequence of a male speaker saying "Oak
is strong and also gives shade."

s5_0.mat - s5_24.mat
These files are 1000-point segments of the speech file s5.mat.
The sentence actually ends in s5_20.mat, followed by a null signal in files
s5_21.mat through s5_24.mat. These files are used in the sections on speech
in Chapters 10 ad 11.

tonemyst.mat
This file is a 1021-data point sound. The sound, which is given the
name mystery, seems to have a cartoon-like quality. It is used in Project 2
of the Sliding Window DFT section of Chapter 3.

vowels.mat
This is a speech file in which a male speaker says, "E-I-A-I-O." This
sample has 8000 data points, with each vowels sound having its own 1600
points:
E: 1-1600
I: 1601-3200
A: 3201-4800
I: 4801-6400
O: 6401-8000

The sequence vowels is used in Exercise 1.3 of the Sliding Window DFT section
of Chapter 3.

In /usr/share/local/matlab42/toolbox/burrus/Func-v4

comb.m
COMB Plot discrete-time sequence data.
----
COMB(Y) plots the data sequence Y as stems from the x-axis
terminated with circles for the data value.
COMB(X,Y) plots the data sequence Y at the values
specfied in X.
COMB(X,Y,'-.') or COMB(Y,':').
The optional final string argument specifies
a line-type for the stems of the data sequence.

*** This is a Mathworks M-file. It has been ******
*** RENAMED TO stem( ) in MATLAB Ver 4.0 ******

genint.m
GENINT generate interference for TONE GENERATOR mystery signal
------
Usage: Y = genint(N)

N : signal length of the interference
Y : output signal which has a continuously
changing freq plus noise

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

pcross.m
PCROSS plot crosses --- used in pole-zero plots
------
INTERNAL SUPPORT file called by zplane.m

===> ASSUMES THAT PLOT is being HELD

with 3 args, it plots a circle: O
with 2 args, it makes a cross: X

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

striplot.m
STRIPLOT plot long signal in horizontal strips
------- ( good for multi-line speech wfms )

Usage: HP = striplot(X, FS, N)

plots waveform X with N pts/line. ALL traces
are auto-scaled to the max signal value

FS : sampling rate (Hertz); used only for labeling
HP : the graphics handle for the plot.

striplot(X, FS, N, NTICK)
puts markers every NTICK samples
striplot(X, FS, N, NT, XMAX)
uses XMAX as the value for scaling

NOTE: the x-axis is always labeled with (time) indices.
the y-axis labels are NOT AMPLITUDE, rather they
are the INDEX OFFSET to the start of each row.

see also STRIPS in Sig Proc Toolbox version 3

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

tonegen.m
TONEGEN generate "mystery" signal containing tones
-------
Usage: [Y, C] = tonegen(D, S, Xint)

D : vector of digits for a 5-element code
if length(D)<5, the function will pick random digits
S : scale factor that multiplies the interference signal
Xint : interference signal
Y : output signal
C : output code actually used

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

welch.m
WELCH Power Spectrum Estimation by Welch's method
-----
Usage: [P,c] = welch(x,N,M,wintype,nplot)

P : power spectrum by Welch's method
c : correlation function = inverse of Welch power spectrum
x : input signal vector
N : FFT length
M : window length
wintype = 'r' for rectangular
otherwise, Hamming window is used
nplot = omitting this argument suppresses plotting

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

zzplane.m
ZZPLANE plot zeros (O) and poles (X) in z-plane
-------
Usage: zzplane( Zeros, Poles, RadiusMax )

Zeros : vector of zeros
Poles : vector of poles (OPTIONAL)
(can be [], if 3rd arg is needed)
RadiusMax : size of plot for scaling (OPTIONAL)
(disables auto scaling calculations)

NOTE: used the name ZZPLANE to avoid conflict with
ZPLANE in version 3 of Sig Proc Toolbox

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

In /usr/share/local/matlab42/toolbox/burrus/Functions
AtoV.m
AtoV find reflection coefficients & system function
---- denominator for lossless tube models.
Usage: [r, D, G] = AtoV(A, rN)

rN : reflection coefficient at lips (abs value < 1)
A : array of areas
D : array of denominator coefficients
G : numerator of transfer function
r : corresponding reflection coefficients

NOTE: assumes no losses at the glottis end (rG=1).

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

acf.m
ACF compute autocorrelation function at m lags
--- via Rader's method based on the FFT.
==> works for complex-valued signals

Usage: [ak, lags] = acf(x, m [,w])

x : input signal
m : number of lags (also = FFT length, if even)
w : Hann window applied to acf, if there are 3 args
ak : autocorrelation function
lags : vector of lags [-m/2:m/2] for the output ACF

see also CCF

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

acimp.m
ACIMP Calculate autocorrrelation sequence of an impulse
----- response given the coefficients of H(z) = B(z)/A(z).

Usage: p = acimp(b, a, N);

p : autocorrelation sequence of the impulse response
b,a : coefficients of H(z) = B(z)/A(z)
N : time index from 0 to N will be calculated.

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

asinc.m
ASINC compute sin(Lx/2)/sin(x/2) (for matrix x)
-----
Usage: y = asinc(x, L)

x : argument of asinc function
L : length of corresponding rectangular pulse

NOTE: the argument "x" is NOT multiplied by PI

see also DIRIC in version 3.0 Sig Proc Toolbox

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

atok.m
ATOK converts AR polynomial to reflection coefficients
----
Usage: K = atok(A)
where each column of A contains polynomial coeffs
and " " of K contains PARCOR coeffs

If A is matrix, each column is processed separately.
see also KTOA

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

autolpc.m
AUTOLPC Autocorrelation Method for LPC
-------
Usage: [A, G, r, a] = autolpc(x, p)

x : vector of input samples
p : LPC model order
A : prediction error filter, (A = [1; -a])
(NOTE: minus in definition of a_k)
G : rms prediction error
r : autocorrelation coefficients: lags = 0:p
a : predictor coefficients (without minus sign)

--- see also ATOK, KTOA

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

ccf.m
CCF compute cross-correlation function at a few lags
--- in frequency domain via Ch.M. Rader's algorithm.

ccf = SUM{ x[n+lag] y*[n] } may be complex-valued

Usage: [kk, lags] = ccf(x, y, m [,w]);

kk : cross-correlation function
lags : index vector for cross-correlation values
x : input signal 1
y : input signal 2
m : desired length of ccf ( = length of FFT used)
w : if present, a Hann window is applied to ccf

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

chirp.m
CHIRP generate a sampled chirp signal
----- exp(j(W/T)pi*t^2) -T/2 <= t < +T/2

Usage: X = chirp( T, W,

)

X : N=pTW samples of a "chirp" signal
T : time duration from -T/2 to +T/2
W : swept bandwidth from -W/2 to +W/2

optional (default is P = 1)
P : samples at P times the Nyquist rate (W)
i.e., sampling interval is 1/(PW)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
--------------------------------------------------------------

chop.m
CHOP break a long speech file into several smaller files
----
Usage: chop( 'fname', L )

'fname' : name of input file
(ASSUMES 'fname.mat' has a variable called fname)
output files will be called:
fname_1.mat, fname_2.mat, fname_3.mat, etc.
L : length of output files (default = 1000)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

comb.m
COMB Plot discrete-time sequence data.
----
COMB(Y) plots the data sequence Y as stems from the x-axis
terminated with circles for the data value.
COMB(X,Y) plots the data sequence Y at the values
specfied in X.
COMB(X,Y,'-.') or COMB(Y,':').
The optional final string argument specifies
a line-type for the stems of the data sequence.

*** This is a Mathworks M-file. It has been ******
*** RENAMED TO stem( ) in MATLAB Ver 4.0 ******

convolm.m
CONVOLM Make convolution matrix, optionally padded with zeros
-------
Usage: H = convolm(X, P, <'pad'>)

H : convolution matrix with P columns
H = [ h(i,j) ], where h(i,j) = x(p+i-j)
<'pad'> : 3rd arg is OPTIONAL string argument:
'<' : pad with p-1 zeros at the beginning of x
'>' : pad with p-1 zeros at the end of x
'<>' : pad both ends of the signal x with p-1 zeros

see also HANKEL, CIRCULANT, CONVMTX

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

db.m
DB convert an array to decibels
--
Usage: Y = dB( X, dbRANGE, dbMAX )

will compute 20 Log(X)
and then scale or clip the result so that
the minimum dB level is dbMAX-dbRANGE.
ex: db(X, 80, 0) gives the range 0 to -80 dB

Y = dB( X, dbRANGE ) defaults to dBmax = 0

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

dtft.m
DTFT calculate DTFT at N equally spaced frequencies
----
Usage: [H, W] = dtft(h, N)

h : finite-length input vector, whose length is L
N : number of frequencies for evaluation over [-pi,pi)
==> constraint: N >= L
H : DTFT values (complex)
W : (2nd output) vector of freqs where DTFT is computed

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

factorit.m
FACTORIT factor an integer
--------
Usage: factors = factorit(n)

n : integer to factor
factors : vector containing all the factors

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

flipdtft.m
FLIPDTFT flip the DTFT: G(w) = H(-w)
--------
Usage: [G, Wflipped] = flipDTFT(H, W)

H : DTFT values (complex)
W : frequency samples
G : DTFT values
Wflipped : flipped frequency domain
lies within [-pi,pi)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

fplot.m
FPLOT Plot Fourier Transform (Mag) of "ANALOG" signal
-----
Usage: fplot( xa, dt )

xa : "ANALOG" signal
dt : sampling interval for the simulation of xa(t)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
--------------------------------------------------------------

fxquant.m
FXQUANT simulated fixed-point arithmetic
-------
Usage: X = fxquant( S, BIT, RMODE, LMODE )

returns the input signal S reduced to a word-length
of BIT bits and limited to the range [-1,1). The type of
word-length reduction and limitation may be chosen with
RMODE: 'round' rounding to nearest level
'trunc' 2's complement truncation
'magn' magnitude truncation
LMODE: 'sat' saturation limiter
'overfl' 2's complement overflow
'triang' triangle limiter
'none' no limiter

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

gdel.m
GDEL compute the group delay of x[n]
----
Usage: [gd, w] = gdel( x, n, Lfft )

x : Signal x[n] at the times (n)
n : Vector of time indices
Lfft : Length of the FFT used
gd : Group Delay values on [-pi,pi)
w : List of frequencies over [-pi,pi)

NOTE: group delay of B(z)/A(z) = gdel(B) - gdel(A)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

genint.m
GENINT generate interference for TONE GENERATOR mystery signal
------
Usage: Y = genint(N)

N : signal length of the interference
Y : output signal which has a continuously
changing freq plus noise

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

ktoa.m
KTOA converts reflection coefficients to AR polynomial
----
Usage: A = ktoa(K)

where each column of A contains polynomial coefficients
and " " of K contains PARCOR coefficients

see also ATOK

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

mod.m
MOD Compute (x mod N) and x can be
--- either positive or negative.

Usage: y = mod(x,N);

y : remainder of (x/N)
x : the input number(s)
N : the divider

see also REM

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

mulaw.m
MULAW mu-law compression for signals with
----- assumed maximum value of 32767

Usage: y = mulaw(x, mu);

x : input signal, column vector with max value 32767
mu : compression parameter (mu=255 used for telephony)

see also MULAWINV

--------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

pcross.m
PCROSS plot crosses --- used in pole-zero plots
------
INTERNAL SUPPORT file called by zplane.m

===> ASSUMES THAT PLOT is being HELD

with 3 args, it plots a circle: O
with 2 args, it makes a cross: X

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

pkpicker.m
PKPICKER pick out the peaks in a vector
--------
Usage: [peaks,locs] = pkpicker( x, thresh, number, sortem )

peaks : peak values
locs : location of peaks (index within a column)
x : input data (if complex, operate on mag)
thresh : reject peaks below this level
number : max number of peaks to return
sortem : 'sort' will return list sorted by peak height,
instead of by index # (the default)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

pronysyn.m
PRONYSYN synthesize a sum of exponentials
--------
Usage: ss = pronysyn( lam, c, nn )

lam = vector of EXPONENTS
c = vector of weights
nn = vector of time indices
ss = output signal

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
--------------------------------------------------------------

pseudinv.m
PSEUDINV Pseudo-inverse of rank r.
--------
Usage: Ainv = PINV(A, r)

produces the rank-r inverse of A, from the SVD of A.
Only r singular values are retained for the inverse
with the exception that singular values less than
MAX(SIZE(A)) * S(1) * EPS are discarded.
Ainv = PINV(A) uses all possible singular values.

See also SVD and PINV

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

qplot.m
QPLOT for plotting dependence of signal-to-noise ratio
----- on decreasing signal level

Usage: qplot(s, nbits, mu, ncases)

s : input test signal
nbits : number of bits in quantizer
mu : mu-law compression parameter
ncases : number of cases to plot

NOTE: assumes ROUNDING for quantizer
and requires user-written MULINV and SNR

see also MULAW and FXQUANT

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

radar.m
RADAR simulate radar returns from a single pulse
-----
Usage:
R = radar( X, Fs, T_0, G, T_out, T_ref, Fc, R, A, V )

X: input pulse (vector containing one pulse for burst)
Fs: sampling frequency of input pulse(s) [in MHz]
T_0: start time(s) of input pulse(s) [microsec]
G: complex gains; # pulses = length(g)
T_out: 2-vector [T_min,T_max] defines output
window delay times w.r.t. start of pulse
T_ref: system "reference" time, needed to simulate
burst returns. THIS IS THE "t=0" TIME !!!
Fc: center freq. of the radar. [in MHz]
R: vector of ranges to target(s) [kilometers]
A: (complex) vector of target amplitudes
V: vector of target velocities (optional) [in m/sec]

note(1): VELOCITY in meters/sec !!!
distances in km, times in microsec, BW in MegaHz.

note(2): assumes each pulse is constant (complex) amplitude
note(3): will accommodate up to quadratic phase pulses
note(4): vector of ranges, R, allows DISTRIBUTED targets

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

speccomp.m
SPECCOMP Plots spectra with different window lengths
-------- all centered at the same place.

Usage: speccomp(x, ncenter, win, nfft, pltinc)

x : input signal vector
ncenter : sample number that windows are centered on
win : vector of windows to use;
should use odd lengths, e.g. [401,201,101]
nfft : FFT size
pltinc : offset of plots (in dB)

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

srexpand.c
SREXPAND zero fills with L-1 zeros between each sample
--------
Usage: Y = srexpand(X, L)

insert L-1 zeros between each sample of the sequence X.
The output sequence Y has length equal to length(x)*L.

see also ZEROFILL

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

striplot.m
STRIPLOT plot long signal in horizontal strips
------- ( good for multi-line speech wfms )

Usage: striplot(X, FS, N)

plots waveform X with N pts/line. ALL traces
are auto-scaled to the max signal value

FS = sampling rate (Hertz); used only for labeling

striplot(X, FS, N, NTICK)
puts markers every NTICK samples
striplot(X, FS, N, NT, XMAX)
uses XMAX as the value for scaling

NOTE: the x-axis is always labeled with (time) indices.
the y-axis labels are NOT AMPLITUDE, rather they
are the INDEX OFFSET to the start of each row.

see also STRIPS in Sig Proc Toolbox version 3

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

test_rad.m
TEST_RAD.M EXAMPLE of calling the function radar()
---------- make one radar return for a burst of LFM pulses

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

tonegen.m
TONEGEN generate "mystery" signal containing tones
-------
Usage: [Y, C] = tonegen(D, S, Xint)

D : vector of digits for a 5-element code
if length(D)<5, the function will pick random digits
S : scale factor that multiplies the interference signal
Xint : interference signal
Y : output signal
C : output code actually used

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

waterf.m
WATERF "Waterfall" Plot
------
Usage: waterf(X)

plots the waveforms in X(time,rcvr) vs. "time"
Each trace is auto scaled so that the peak-to-peak value
is at most 1.0; then each trace is offset by 1 unit.

NOTE: a scaling of 13 is applied to bunch the plots together.

waterf(x, A) uses a scale factor of A ==> peak-to-peak will be < A.
ex: wp(x, 11.0) will bunch the wfms even closer together.

NOTE: the hidden line method used in this function is only approximate.
It looks OK when the number of time points is >30; otherwise,
it is obvious where the mistakes are being made.

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

welch.m
WELCH Power Spectrum Estimation by Welch's method
-----
Usage: [P,c] = welch(x,N,M,wintype,nplot)

P : power spectrum by Welch's method
c : correlation function = inverse of Welch power spectrum
x : input signal vector
N : FFT length
M : window length
wintype = 'r' for rectangular
otherwise, Hamming window is used
nplot = omitting this argument suppresses plotting

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

wp.m
WP multi-channel waveform plotter
--
usage: wp(X)

plots the waveforms in the signal matrix X(time,rcvr) vs. "time"
Each trace is auto scaled so that the peak-to-peak value
is at most 1.0; then each trace is offset by 1 unit.
Optional: wp will return computed peak-to-peak scaling

wp(X, A) uses a scale factor of A ==> peak-to-peak will be < A.
ex: wp(X,3.0) will bunch the wfms closer together like an image.

NOTE: x-axis is always labeled with (time) indices.

see also WATERF

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

zerofill.m
ZFILL is the "expander" operation used in multi-rate filters
-----
/ x(n/L), for n = 0 modulo L
y(n) = <
\ 0, otherwise

Usage: y = zfill(x, L)

x : input signal vector
L : fill with L-1 zeros between each sample.
y : output signal vector ==> Length(y) = L*Length(x)

NOTE: if x is a matrix, zfill is applied to each column

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

zplane.m
ZPLANE plot zeros (O) and poles (X) in z-plane
------
Usage: zplane( Zeros, Poles, RadiusMax )

Zeros : vector of zeros
Poles : vector of poles (OPTIONAL)
(can be [], if 3rd arg is needed)
RadiusMax : size of plot for scaling (OPTIONAL)
(disables auto scaling calculations)

see also ZPLANE in version 3 of Sig Proc Toolbox

---------------------------------------------------------------
copyright 1994, by C.S. Burrus, J.H. McClellan, A.V. Oppenheim,
T.W. Parks, R.W. Schafer, & H.W. Schussler. For use with the book
"Computer-Based Exercises for Signal Processing Using MATLAB"
(Prentice-Hall, 1994).
---------------------------------------------------------------

Compiled by Jerod M. Parker(jparker@bass.gmu.edu)

June 1994