Main Content


Encode using differential pulse code modulation


indx = dpcmenco(sig,codebook,partition,predictor)
[indx,quants] = dpcmenco(sig,codebook,partition,predictor)


indx = dpcmenco(sig,codebook,partition,predictor) implements differential pulse code modulation to encode the vector sig. partition is a vector whose entries give the endpoints of the partition intervals. codebook, a vector whose length exceeds the length of partition by one, prescribes a value for each partition in the quantization. predictor specifies the predictive transfer function. If the transfer function has predictive order M, predictor has length M+1 and an initial entry of 0. The output vector indx is the quantization index.

See Differential Pulse Code Modulation for more about the format of predictor. See Represent Partitions, Represent Partitions, or the reference page for quantiz in this chapter, for a description of the formats of partition and codebook.

[indx,quants] = dpcmenco(sig,codebook,partition,predictor) is the same as the syntax above, except that quants contains the quantization of sig based on the quantization parameters. quants is a vector of the same size as sig.


If predictor is an order-one transfer function, the modulation is called a delta modulation.


See Example: DPCM Encoding and Decoding and Example: Comparing Optimized and Nonoptimized DPCM Parameters for examples that use dpcmenco.


[1] Kondoz, A. M., Digital Speech, Chichester, England, John Wiley & Sons, 1994.

Version History

Introduced before R2006a