Произведите индекс квантования и квантованное выходное значение
index = quantiz(sig,partition)
[index,quants] = quantiz(sig,partition,codebook)
[index,quants,distor] = quantiz(sig,partition,codebook)
index = quantiz(sig,partition) возвращается уровни квантования в векторе действительных чисел сигнализируют о sig использование параметра partitionраздел вектор действительных чисел, записи которого находятся в строго порядке по возрастанию. Если partition имеет длину n, index вектор, kth запись которого
0, если sig(k) ≤ partition(1)
m, если partition(m) <sig(k) ≤ partition(m+1)
n, если partition(n) <sigK
[index,quants] = quantiz(sig,partition,codebook) совпадает с синтаксисом выше, за исключением того, что codebook предписывает значение для каждого раздела в квантовании и quants содержит квантование sig на основе уровней квантования и заданных значений. codebook вектор, длина которого превышает длину partition одним. quants вектор-строка, длина которого совпадает с длиной sig. quants связан с codebook и index
quants(ii) = codebook(index(ii)+1);
где ii целое число между 1 и length(sig).
[index,quants,distor] = quantiz(sig,partition,codebook) совпадает с синтаксисом выше, за исключением того, что distor оценивает среднеквадратическое искажение этого набора данных квантования.
Команда ниже округляет несколько чисел между 1 и 100 до самого близкого кратного 10. quants содержит округленные числа и index говорит, в каком уровне квантования каждый номер находится.
[index,quants] = quantiz([3 34 84 40 23],10:10:90,10:10:100)
Выход ниже.
index =
0 3 8 3 2
quants =
10 40 90 40 30