CompSci 267 Homework set #7

  1. Given a discrete distribution on n points and a desired number of quantization levels M, find the optimum quantization points in time O(nM log n) [or at least faster than O(n3 log M)] using dynamic programming.
    Hint: A perhaps useful reference is
    P. Brucker, ``On the complexity of clustering,'' in Optimization and Operations Research (R. Henn, B. Korte, W. Oletti, eds.), Springer Verlag, Berlin, Heidelberg, New York (1977), pp. 45-54.

  2. What is "dithering" and why is it relevant for scalar quantization?

  3. Consider a 2-state trellis which operates at a rate of one bit per sample, used for encoding uniformly distributed samples in the interval [0,1]. Each stage of this trellis has the following four edges (A, B) = (value, code) to the next stage, where A and B are states in the current and next stages, value is a quantized value, and code is the bit emitted to indicate the branch taken: and x is given to be in the range [0, 0.25].

    Now consider an n-stage trellis code obtained by replicating the above stage.

    1. Let x = 0.1 and n = 10. Write a simulator that generates a sufficient number of n-vectors of random samples from [0,1], determines the optimum trellis code for each, and calculates the average SQNR in decibels.
    2. Vary x and determine the optimum value of x so as to maximize the average SQNR.
    3. Vary n to determine approximately the asymptotic optimal value of x and the corresponding average SQNR for an arbitrarily large trellis.
    4. Determine the optimum x and the corresponding average SQNR when using an on-line (as opposed to a Viterbi) branch selection and compare the results.