Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра Захист інформації
З В І Т
До лабораторної роботи №2
з курсу: „Системи запису і відтворення інформації”
на тему: „ Дослідження методів компресії аудіоінформації в MATLAB ”
Варіант – 11
Львів 2015
Мета роботи: Набути вміння розробляти власні методи стиснення аудіоінформації та оцінювати їх ефективність.
Завдання
Ознайомитись з теоретичним матеріалом.
Завантажити wav-файл вказаний в завданні відповідно до свого варіанту.
Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл.
Оцінити степінь стиснення звукового файлу кодом Хафмена.
Побудувати гістограму аудіофайлу.
Написати кодер, на базі ДКП, який би компресував мовний сигнал з заданим степенем стиску.
Написати декодер, який відтворює мовний сигнал.
Прослухати декодований мовний сигнал та зробити висновки про якість відтвореного сигналу.
Варіант
Назва файлу
Розмір блоку
Степінь стиску
11
Lab_1_11.wav
300
6
Лістинг програми
clc;
clear all;
[Y, F, B] = wavread('D:\Системи_запису_і_відтворення_інформації-2015-09-17\Системи запису і відтворення інформації\Файли для лабораторних робіт з СЗіВІ\Аудіосигнали\Lab_1_11.wav');
Y = Y * 128;
figure(1);
hist(Y, -128:127);
% Розмір блоку
NN = 300;
% Кількість збережених коефіцієнтів ДКП на блок
L = 92;
% Кількість блоків
nn = fix(length(Y)/NN);
mm = 1;
kk = 1;
% КомпресіЯ
for ii = 1 : nn - 1
x = dct( Y(kk : kk + NN - 1) );
y(mm : mm + L - 1) = x(1 : L);
mm = mm + L;
kk = kk + NN;
end;
% Квантування
y = round(y);
[A, X] = hist(y, min(y):max(y));
N = length(y);
Ls = 0;
for ii = 1 : length(A)
if(A(ii) > 0)
Ls = Ls + (A(ii)/N) * log2(A(ii)/N);
end;
end;
disp('-Ls = ')
-Ls
d=ceil(log2(max(y)-min(y)))
CR1 = d/(-Ls);
CR2 = d/(-Ls)* NN/L;
sprintf('Коефіцієнт стиснення методом Хафмена CR1=%f',CR1)
sprintf('Коефіцієнт стиснення ДКП CR2=%f',CR2)
% Відновлений сигнал
YC = Y * 0;
dx = Y(1 : NN) * 0;
mm = 1;
kk = 1;
for ii = 1 : nn - 1
dx(1:L) = y(mm : mm + L - 1);
x1 = idct( dx );
YC (kk : kk + NN - 1) = x1;
dx = dx * 0;
mm = mm + L;
kk = kk + NN;
end;
%YC = YC / 128;
%YC = round(YC * 128) / 128;
wavplay(YC, F, 'sync');
Результат виконання програми
1) Гістограма аудіофайлу
/
2) Коефіцієнт стиснення методом Хафмена
CR1=1.840674
3) Коефіцієнт стиснення ДКП
CR2=6.002197
Висновок
Протягом виконання даної лабораторної роботи ми набули вмінь у використанні методів стиснення аудіоінформації і досідили їх ефективність. Були отримані степені стиснення кодом Хафмена і методом ДКП ,що відповідно дорівнюють K = 1.3866 та CR2 = 6.0010.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!