Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
Кафедра ЗІ
/
ЗВІТ
До лабораторної роботи №2
Дослідження методів компресії аудіоінформації в Matlab
Львів – 2013
/
/
/
Текст програми
[Y, F, B] = wavread('F:\навчання\Лабораторні роботи СЗіВІ\Аудіосигнали\Lab_1_8');
F
B
Nb=length(y)*F;
% wavplay(Y, F, 'sync');
hist(Y*128, -128:127);
P=hist(Y*128, -128:127) / length(Y);
Nopt = 0;
for ii=1:256
if(P(ii) > 0)
Nopt = Nopt - P(ii)*log2(P(ii));
end;
end;
Y = Y * 128;
N = 250;
L = 124;
nn = fix(length(Y)/N);
mm = 1;
kk = 1;
for ii = 1 : nn-1
x = dct( Y(kk : kk + N-1) );
y(mm : mm + L-1) = x(1 : L);
mm = mm + L;
kk = kk + N;
end;
y = round(y);
[A, X] = hist(y, min(y) : max(y));
NN = length(y);
Ls = 0;
for ii = 1 : length(A)
if(A(ii) > 0)
Ls = Ls + (A(ii)/NN) * log2(A(ii)/NN);
end;
end;
disp('-Ls = '); -Ls
CR2 = (10 / -Ls) * (N / L)
YC = Y * 0;
dx = Y(1 : N) * 0;
mm = 1;
kk = 1;
for ii = 1 : nn - 1
dx(1 : L) = y(mm : mm + L-1);
x1 = idct( dx );
YC(kk : kk + N-1) = x1;
dx = dx * 0;
mm = mm + L;
kk = kk + N;
end;
YC = YC / 128;
YC = round(YC * 128) / 128;
wavplay(YC, F, 'async');
Графік гістограми Степінь стиснення
//
Висновок
При виконанні ціє\ лабораторної роботи я ознайомився з трьома алгоритмами стистенння іформації. Код Хафмена самостійно не використовується оскільки він має коефіцієнт стиснення 1.5 -4. Для обмеження спектру сигналу використовують дискретне перетворення Фур’є, але через комплексі коефіцієнти не використовується в алгоритмах стиснення аудіо інформації. Найчастіше використовують дискретне косинусне перетворення .