Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
Кафедра ЗІ
/
ЗВІТ
До лабораторної роботи №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. Для обмеження спектру сигналу використовують дискретне перетворення Фур’є, але через комплексі коефіцієнти не використовується в алгоритмах стиснення аудіо інформації. Найчастіше використовують дискретне косинусне перетворення .
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!