Моделирование квантования в MATLAB

M-функция MATLAB имеет вид:

[ind, xQ, D] = quantiz(x, partition, codebook),

где x – вектор отсчетов сигнала; partition – вектор границ интервалов P1,P2,…,PL-1; codebook – вектор C1,C2,…,CL значений кодовой книги; ind – вектор-столбец индексов (номеров) интервалов; xQ – вектор-строка квантованных значений сигнала; D – средний квадрат ошибки квантования:

 

Пример 1. Применение m-функции:

% квантование гармонического (50 Гц) сигнала единичной амплитуды

% частота дискретизации 1000 Гц

i=1:20;

x=cos(2*pi*50*i/1000);

partition=[-.75 -.25 .25 .75];

codebook=[-.825 -.5 0 .5 .825];

[ind, xQ, D] = quantiz(x, partition, codebook);

plot(i,x), hold on, stem(i,xQ)

legend('Исходный сигнал','Результат квантован.')

for n=1:4

prt(n,i)=partition(n); plot(i,prt,'k')

end

for m=1:5

cdbk(m,i)=codebook(m); plot(i,cdbk,'r-.')

end

figure

stem(i,ind), title('Индексы')

ind, xQ, D

Исходный и квантованный сигналы приведены на рис. 27, график значений индексов (отсчетов) приведен на рис. 28.

Рис.27. График исходного и квантованного сигнала

 

Рис.28. График значений индексов

 








Дата добавления: 2015-09-29; просмотров: 2978;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.029 сек.