by Martin Vetterli and Jelena Kovačević























Check the printing of the book and then go to the corresponding Errata. If your copy was

   first through fourth printing, Errata 1,2,3 lists apply,

   fifth and sixth printings, Errata 2,3 lists apply,

   seventh printing and above, Errata 3 list applies.




Errata 1
Dedication page

It should read "zvezdici" instead of "zvedzdici".

Chapter 3

Page 110:

Equation (3.2.9) should have "h_i[L-3]" instead of "[L-4]".

Page 126:

In part (b) of Theorem 3.8: The last "K" should be capital.

Page 134:

Under P(z) equation it should read "odd roots of +-1" instead of "at +-1".

Page 169:

Equation (3.4.23): Take out "B_0 B_0^T = " in both equations.

Page 199:

In Problem 3.25 (b) The second "[1 1]" should be "[1 -1]".

Chapter 4

Page 233:

Under (4.3.20) it should say "Fourier transform OF g(t)".

Page 234:

5th formula from top: The $\omega/2$ in the middle in the formula should be $\omega$.

Page 253:

Second equation of the proof: the whole sinc is at the power of N. Second line from the bottom should read: 2^{J-1} \leq |\omega| < 2^J.

Page 254:

Expression for "B_l = sup ...." should have an absolute value sign.

Page 291:

In the sentence starting with "Finally, orthogonality..." add "for $k \neq m$" after "\varphi_{j,m}$".

Page 295:

In Problem 4.6 (a) should read: "Verify that 4.3.11 is the DTFT of 4.3.12".

Chapter 7

Page 372:

Equation (7.1.1) should read: $\frac{1}{N} \sum_{i=0}^{N-1} E(|x_i - \hat{x}_i|^2)$.

Page 395:

At the end of table caption add "[146]".

Page 438:

Part (a) has a double point at the end.

Page 457:

In Problem 7.3, in both equations, $\omega$ should be with absolute value.

Page 458:

In Problem 7.5(a), $\omega$ should be with absolute value.


[100] After Gauthiers-Villars remove the colon.

[141] N.S. Jayant.

[142] N.S. Jayant, J.D. Johnston, R.J. Safranek.

[143] N.S. Jayant.



Errata 2
Chapter 2

Page 19 [JK]:

In Definition 2.2, should be "complex-valued".

Page 24 [JK]:

Last equation should have under the sum: "x_i \in S".

Page 25 [JK]:

5th line from top: "..for x in S, is attained..."

Page 25 [JK]:

In Figure 2.2, "\hat(y) = x_i".

Page 28 [AO]:

The top-right index of the matrix at the bottom of the page should be A_{1n}.

Page 30 [JM]:

(adjugate(A))_ji = cofactor of A_ij, not A_ji.

Page 31 [AO]:

2nd paragraph in 2.3.2: When there are m equations and n unknowns, the matrix has m rows and n columns, in which
case, rank(A) + Null = n, not m as is stated.

Page 33 [JK]:

8th line from top: "...allowed on the right..."

Page 41 [JRT]:

15th line: "nw_0" should be "kw_0".

Page 43 [JRT]:

Eq. (2.4.17): there should be a "+" on the RHS (that is, in (2.4.17) f(t-t_0) -> f(t+t_0)).

Page 46 [JM2]:

Eq. (2.4.28) should have \exp(+j(\omega)t) instead of \exp(-j(\omega)t).

Page 47 [JRT]:

Eq. below (2.4.29) should have "=" sign instead of "<-->".

Page 60 [UCB, AO]:

line 3: \rho^n -> \rho^{-n}.

Page 61 [AO]:

Eq. at the bottom of the page: replace z^{-1} by z^{-k} both in numerator and in denominator.

Page 69 [AO]:

The two equations on up/downsampling should be switched,
i.e. the first one corresponds to downsampling, followed by upsampling. Also, they are both missing 1/N factors in front of summations.

Page 75 [JK]:

Figure 2.11. In part (b) should be "scale doubled". In part (c) should be "scale halved".

Page 76: [UCB]:

In T 2.7: "If f(t) is differentiable and vanishes faster than 1/sqrt{|t|} ..."

Page 90 [UCB]:

Prob. 2.17, "<\alpha_i,\beta_i> -> <\alpha_i,\beta_j>".

Chapter 3

Page 92 [JK]:

4th line from top: "Thus, given an arbitrary sequence.." should be "Thus, given an arbitrary sequence from l_2(Z)...".

Page 104 [GH]:

Equation (3.1.23) should have [-pi/2,pi/2], not [pi/2,pi/2].

Page 104 [JK]:

Add +/- in front of g_1[n].

Page 104 [HL]:

Sentence before (3.1.24): "... choose a modulated version of g_0[n] with a time reversal and a shift by one". After (3.1.24) substitute the paragraph "While the time ... square-summable sequences" with the following: "While the time reversal and odd shift are necessary when the filter is FIR (see Proposition 3.20), in this particular case, both are immaterial (that is, g_1[n] +/- (-1)^n g_o[n] will work as well).

Page 105 [JM]:

Figure 3.2: Caption should state "using ideal half-band filters".

Page 106 [JK]:

After Proposition 3.3: "Therefore,..." add "if certain frequency locality is desired" at the end of that sentence.

Page 108,109 [JK]:

Matrices T_a and T_s should be extended to infinity on the right and left as well.

Page 125 [JK]:

Add +/- in front of both G_1(z) and g_1[n].

Page 126 [JK]:

Add +/- in front of G_1(z) in Theorem 3.8(b).

Page 127 [ED]:

In (c) of Corollary 3.9: +/- z^{-2K+1} G_0(-z^{-1}).

Page 131 [JK]:

Add +/- in front of G_1(z) before (3.2.60).

Page 135 [JK]:

In the proof: "..filters are of even length." Add at the end of this sentence "by Corollary 3.9".

Page 137 [UCB]:

Eq. below (3.2.72) should read "P(z) = 1/256 (-1 + 9z^{-2} + 16..)".

Page 137 [JK]:

"that is, the same P(z) as in Example 3.2". Add "within sign and multiplication by z^3".

Page 139 [AO]:

Top line, "z^2" should be "z^{-2}".

Page 140 [UCB]:

In eq. above (3.2.79), denominator is "10z^4 + 120z^2 + ..." (not "z^3").

Page 149 [JK]:

In the proof of Proposition 3.14, the last equation (and the one before that) should have "+" instead of "-" in front of m.

Page 152 [JK]:

Fourth line from top should have "g_1[n] in V_0".
In the paragraph beginning with "In Figure 3.7(b)... W_j, j=1,...,J". put j instead of i to be consistent.

Page 155 [AO]:

In (3.3.24), "G_2^(2)(z)" should be "G_1(z)G_1(z^2)", and "G_3^(2)(z)" should be "G_1(z)G_0(z^2)".

Page 156 [AO]:

Figure 3.12(c): Assuming the lower branch is the lowpass filter, the top two bands in the figure should be switched
(the one narrower in time should not be at the highest frequency).

Page 162 [AO]:

Last equation, the vector should be "(1 z^{-1} z^{-2} ...)".

Page 163 [ED]:

Before (3.4.10), K's should be k's. Add also, k \in Z.

Page 172 [UCB]:

(3.5.3) "||x|| = 1/2 ( ||y_0||^2 + ...)" (instead of 2 times).

Page 197 [HL]:

Problem 3.2 is not correct. The shift by one is not necessary. In the solutions, the limit function does not exist. Substitute current Problem 3.2 with: "With the aid of downsampling and upsampling formulas (2.5.13) and (2.5.17), reconstruct Figure 3.2. What happens is the filters have support larger than allowed by the sampling theorem? Draw and example."

Page 198 [DP]:

In Problem 3.16 (a), G_i0 should be only G_i.

Chapter 4

Page 217 [JM]:

Equation near bottom: should be "G0(1)=sqrt(2)", i.e. no absolute values.

Page 224 [JM]:

Line 8 from end: ideal sinc case (not ideal - sinc case).

Page 227 [JM]:

We use two different conjugation signs. One is * and the other one is bar. Then, in the sentence "Then, for any k..."
say first "Then, for any $k \neq 0$ EQUATION, because $\Phi(\omega + 2k\pi) = 0$, while for $k = 0$, EQUATION."

Page 227 [UCB]:

In the last equation, remove "1/Sqrt(2)", and "(4k+1)" should read "(4k+2)".

Page 233 [ED]:

LHS of (4.3.23) is missing "[n]".

Page 236 [UCB]:

Factor "1/120" in (4.3.27).

Page 251,252 [AO]:

"g_0^{i}[2n] = g_0^{i-1}[n]" and it tends to "\varphi(t)" as i tends to "\infty". Change all "\varphi(2t)" into "\varphi(t)" in the proof of Prop. 4.6.

Page 254 [W], [NKB]:

The first line in the paragraph following the proof "(1 + e^jw)", should not be squared.

Page 258 [UCB]:

Table 4.2, list is for R(z)R(z^{-1}) (not R(z)).

Page 269 [W]:

Third line in paragraph below (4.5.10). It should read "l=2n+k" not "l=2n-k".

Page 270 [UCB]:

The last line of the three-line equation should read "g1[2n-l]" instead of "g1(2n-l)".

Page 274 [ED]:

In (4.6.8) it should be upper-case "Psi".

Page 276 [ED]:

It should be upper-case "Psi".

Page 295 [CW]:

Problem 4.1(a): The range for t should be [0,1).

Problem 4.2(b): "g_0[n] = sqrt(2) ".

Problem 4.3(a): Limit of summation should be lowercase "n".

Problem 4.6(b): Lower limit of integral should be "-infinity".

Chapter 6

Page 345 [JK]:

Caption of Figure 6.4(b) should have "H_e".

Page 347 [UCB]:

In the second equation, matrices should be "[(1,1),(1,-1)]" twice, instead of "[(1,-1),(1,-1)]".

Chapter 7

Page 425 [EL]:

The LH2 coefficient -9 in Table 7.9 is a positive 9 in table 7.8.

Page 454 [W]:

(7.A.9) on bottom of page: It should read:

S_{XY}(e^{jw}) = H(e^{-jw}) S_X(e^{jw}).


[151] A.A.C.M. Kalker.

[157] M.R.K. Khansari.

[160] There should be accents on JK's name.
The title of the paper should read: "Perfect reconstruction filter banks with rational sampling factors".

[211] Should be Schaffer.

[294] [MU] It should be: M. Unser, "On the Approximation of the Discrete Karhunen-Loeve Transform for Stationary Processes," Signal Processing, vol. 7, no. 3, pp. 231-249, December 1984.


Errata 3
Chapter 2

Page 43 [NKB]:

Equation (2.4.17) should end with "= f(-t_0).".

Page 70 [NKB]:

Equation should have "1/N" on both sides.

Page 89:

Problem 2.14 should be as follows:
(a) Assume \omega_s=3\pi. Give the expression for $h_2(t)$, and verify that it decays as $1/t^2$.
(b) Assume \omega_s=4\pi. Give the expression for $h_3(t)$, and verify that it decays as $1/t^3$. Show that $H_3(\w)$ has a continuous derivative.
(c) Assume \omega_s=(i+1)\pi. Generalize the construction above. Give the expression for $h_i(t)$, and verify that it decays as $1/t^i$. Show that $H_i(\w)$ has a continuous (i-2)nd derivative. (The filters involved become spread out in time, and the result is only interesting asymptotically.)

Page 90:

Problem 2.15(d), typo, should be "pulses".

Chapter 3

Page 119 [NKB]:

In the proof of Proposition 3.5, G_p(z) should be "adjugate(H_p(z))" not "cofactor(H_p(z))".

Page 120 [NKB]:

In the proof of Proposition 3.6:
1. G_p(z) = adjugate(H_p(z)).
2. Substitute the following for "Since the synthesis has to be FIR ... possibly at the origin or \infty).":
"By assumption, H_p is FIR, and thus det(H_p) has only zeros (except possibly poles at the origin or \infty). Since the synthesis is FIR as well, the same is true for det(G_p), that is, det(G_p) can have only zeros (except possibly poles at the origin or \infty). However, since det(T_p) = det(H_p) det(G_p), det(H_p) cannot have any zeros (since there are no poles in det(G_p) to cancel them) and thus det(H_p) has to be a pure delay."

Page 131 [NKB]:

In (3.2.60), square brackets should open after the product sign, not before.

Page 133:

Both (3.2.65) and (3.2.66) should have a "+/-" on the right-hand side of the equations.

Page 134 [NKB]:

The expression for P(z) should read as follows:
P(z) = p_j z^{-j} (1 +- z^{-(2N-1-2j)).

Page 135:

Proof of Proposition 3.12: The polyphase decomposition of H(z) should be in reverse as in the equation after (3.2.22).
Thus H(z) = H_00(z^2) + z H_01(z^2). Consequently, in the series of equations before (3.2.68), the following should be changed:
first line - z^{-1} -> z,
second line - the last z -> z^{-1}
third line - z^{-L+2} -> z^{-L}, z^{-1} -> z, z^{-L+2} -> z^{-L}.
Moreover, in (3.2.68), both z^{-L/2+1} -> z^{-L/2}.

Page 136 [NKB]:

In (3.2.70), square brackets should open after the product sign, not before.

Page 168:

8th line below (3.4.18) should have a minus sign in front of h_k[3N/2+l].

Page 181:

First equation should have determinant in front (det H_p).

Page 195:

In the second equation: (D^t)^{-i}) ->(D^t)^{-1}) .

Page 198:

Problem 3.14:
(a) "... in order for \hat{x}[n]..."
(b) "...in Section 3.2.4."
(c) "...give shortest such filters, ..."

Page 199:

Problem 3.23:
(a) Add at the end of the sentence: "Hint: Use the relationship between H_m(z) and H_p(z)."
(c) Instead of what is written, write "Express det(H_m(z)) in terms of det(H_p(z^3))."

Page 199:

Problem 3.24:
(a) Prove that (3.4.5)-(3.4.6) ... At the end of part (a), add the following: "Assume N is even."

Page 199:

Problem 3.27: It should be "(3.6.4)-(3.6.5)".

Page 198:

Problem 3.16: Add the following at the end of (c):
", that is, =\delta_{i-j}\delta_k, k \in Z, assuming real coefficients."

Chapter 4

Page 212:

5th line below (4.1.13) should have: "(|f_0^(m_1)|2^{m_1/2})".

Page 219:

Number second equation above (4.2.18) as (eq1). Then, right before the sentence "We can choose .." that starts (4.2.18) add the following:
"What can we say about $\lambda(e^{j\omega})$? We know that
$$ \lambda(e^{j(\omega+\pi)}) \ = \ -\lambda(e^{j\omega}), $$
or, with substitution $\Omega = e^{j\omega}$
$$ \lambda(-\Omega) \ = \ -\Lambda(\Omega), $$
which means that $\Lambda(e^{j\omega})$ is an odd function on the unit circle. This further means that it can be expressed as
$$ \lambda(\Omega) \ = \ \Omega \nu(\Omega^2), $$
or, $$ \lambda(e^{j\omega}) \ = \ e^{j\omega} \nu(e^{j2\omega}), $$
where $\nu(e^{j\omega})$ is a $2\pi$-periodic function. Thus, using (\ref{eq1}), we can write
$$ G_1(e^{j\omega}) \ = \ e^{j\omega} \nu(e^{j2\omega}) G_0^*(e^{j(\omega+\pi)}). $$
The wavelet can then be obtained as:
$$ \Psi(\omega) \ = \ \frac{1}{\sqrt{2}} e^{j\omega/2} \nu(e^{j\omega}) G_0^*(e^{j(\omega/2+\pi)}) \Phi(\omega/2). $$
We have freedom in choosing the wavelet. Suppose $\Psi(\omega)$ is a valid wavelet. Then, so is
$$ \Psi'(\omega) \ = \ \frac{\nu'(e^{j\omega})}{\nu(e^{j\omega})} \Psi(\omega) \ = \ \rho(e^{j\omega}) \Psi(\omega), $$
where $\rho(e^{j\omega})$ is a $2\pi$-periodic function and $|\rho(e^{j\omega})| = 1$.
Let us look at two possible choices.
Assume first $\nu(e^{j\omega}) = -e^{-j\omega}$, or"

Page 219:

Right before "To prove that this wavelet...", insert the following:
"Another possibility is to choose $\rho(e^{j\omega}) = -e^{-jN\omega}$, leading to $\nu(e^{j\omega}) = e^{-j\omega(1+N)}$ and eventually $\lambda(e^{j\omega}) = e^{-j\omega(1+2N)}$. Then,
$$ G_1(e^{j\omega}) \ = \ e^{-j\omega(1+2N)} G_0^*(e^{j(\omega+\pi)}), $$
or, in time domain
$$ g_1[n] \ = \ (-1)^{n-1} g_0^*[-n+2N+1]. $$
Finally, the wavelet is obtained as
$$ \Psi(\omega) \ = \ \frac{1}{\sqrt{2}} e^{j\omega(1+2N)/2} G_0^*(e^{j(\omega/2+\pi)}) \Phi(\omega/2),
\psi(t) \ = \ \sqrt{2} \sum_n (-1)^{n-1} g_0^*[-n+2N+1] \varphi(2t-n). $$
We have, of course, many other choices, parameterized by $\rho(e^{j\omega})$. However, in practice, the previous two are used.
Let us return to the wavelet given in (4.2.19)."

Page 221 [NKB]:

4th equation from the top should have G^*_0.

Page 243:

(4.4.10) and (4.4.11) should have "n/2^i" in fraction mode.

Page 246:

Assumption (d) should have "g_1[n] = (-1)^n g_0[L-1-n]".
Proposition 4.4.(b) should read "..translates at a given scale".
In the 3rd line of the proof, it should read "\delta[l]".

Page 247:

Second equation should have "g_0[m-2l]" instead of "g_0[2l+m]" twice.

Page 251:

After (4.4.27), add the following:
"We can now express g_0^{(i)}[2n] and g_0^{(i-1)}[n] in terms of the graphical functions as:
g_0^{(i)}[2n] = 2^{-i/2} \varphi^{(i)}(t),
g_0^{(i-1)}[n] = 2^{-(i-1)/2} \varphi^{(i-1)}(t),
both for 2n/2^i \leq t < (2n+1)/2^i."

Page 254 [W], [NKB]:

The first line in the paragraph following the proof "(1 + e^jw)", should not be squared.

Page 296:

Problem 4.12(b): It should have "G_0(e^j\omega)" twice.

Chapter 7

Page 373:

Line below (7.1.8) should have: "\Lambda_{ii} = \lambda_i = E(y_i^2) = \sigma_i^2, i=0, \ldots, N-1$, where $\sigma_i^2$ is the variance of the $i$th transform coefficient.



Comments from:

ZC : Zoran Cvetkovic

NKB: Nirmal K. Bose

ED: Eric Dubois

GH: Garrick Harmon

JK : Jelena Kovacevic

EL : Edouard Lamboray

HL : Henri Landau

JM : Jim Mazo

JM2: Jarno Mielikainen

TTN: Thao Nguyen

AO : Antonio Ortega

DP: Dragan Petrovic

SS : Shep Siegel

UCB: Students at UC Berkeley

KR : Kannan Ramchandran

JRT: Jaan-Rong Tsay

MU : Michael Unser

W : Walter

CW : Chip Webb