DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Дослідження методів компресії аудіоінформації в MATLAB

Оригінальна назва роботи

ДОСЛІДЖЕННЯ МУТОДІВ КОМПРЕСІЇ ФУДІОІНФОРМАЦІЇ В MATLAB

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Факультет комп’ютерних наук
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт
Предмет:
Системи запису та відтворення інформації
Група:
ЗІ-31
Коротко про документ

Про що ця робота

Цей документ є звітом до лабораторної роботи з дослідження методів стиснення аудіоінформації за допомогою середовища MATLAB. У роботі розроблено кодер та декодер на основі дискретного косинусного перетворення і проведено оцінку ефективності компресії.

У роботі розглядаються

  • Компресія аудіоінформації
  • Дискретне косинусне перетворення
  • Кодування Хаффмана
  • Обробка сигналів у MATLAB
  • Стиснення з втратами
  • Гістограма аудіофайлу

Зміст і розділи

  1. Мета роботи
  2. Повний текст завдання
  3. Лістинг програми
  4. Графік гістограми
  5. Висновок
Для кого:Студенти технічних спеціальностей, викладачі та дослідники у галузі захисту інформації та обробки сигналів.
Викладачі:Совин Я. Р.

Ключові поняття

компресія аудіоMATLABдискретне косинусне перетвореннякод Хаффманачастота дискретизаціїстепінь стискуквантуваннямовний сигналвідновлений сигналамплітудна гістограма

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ КАФЕДРА”ЗАХИСТ ІНФОРМАЦІЇ” Звіт до лабораторної роботи № 2 з курсу: "Системи запису та відтворення інформації" на тему: “ ДОСЛІДЖЕННЯ МУТОДІВ КОМПРЕСІЇ ФУДІОІНФОРМАЦІЇ В MATLAB ” Мета роботи: Набути вміння розробляти власні методи стиснення аудіоінформації та оцінювати їх ефективність. Повний текст завдання: Ознайомитись з теоретичним матеріалом. Завантажити wav-файл вказаний в завданні відповідно до свого варіанту. Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл. Оцінити степінь стиснення звукового файлу кодом Хафмена. Побудувати гістограму аудіофайлу. Написати кодер, на базі ДКП, який би компресував мовний сигнал з заданим степенем стиску. Написати декодер, який відтворює мовний сигнал. Прослухати декодований мовний сигнал та зробити висновки про якість відтвореного сигналу. Варіант  Назва файлу  Розмір блоку  Степінь стиску   15  Lab_1_15.wav  500  11   Лістинг програми: clear all; [Y, Fs, bits] = wavread('D:\Lab_1_15.wav'); % виводимо основну інформацію про файл Fs % частота дискретизації bits % біт \ вибірку %wavplay( Y, Fs, 'sync'); % відтворюємо файл в синхронному режимі % будуємо гістограму hist(Y*128, -128:127); % % оскільки сигнал Y представлений 8-и бітними вибірками, то -128..127 % обчислюєм ймовірність появи відліків P = hist(Y*128, -128:127) / length(Y); % оцінюємо досяжну кількість біт на вибірку n(опт) Nopt = 0; for ii = 1 : 256 if(P(ii)>0) Nopt = Nopt - P(ii)*log2(P(ii)); end; end; K = bits / Nopt; K Y = Y * 128; N = 500; % розмір блоку L = 56; % к-сть збережених коефіцієнтів ДКП на блок 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) % cтепінь стиснення % Відновлений сигнал 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, Fs, 'sync'); Графік гістограми:  Степінь стиснення кодом Хафмена: K = 1.3866 Степінь стиснення ДКП: CR2 = 13.1223 Висновок: Виконуючи дану лабораторну роботу, ми навчилися розробляти власні методи стиснення аудіоінформації за допомогою алгоритмів стиснення аудіосигналів на основі ортогональних перетворень, а також оцінили їх ефективність, та ефективність алгоритмів стиснення без втрат, а саме коду Хафмена. В методах стиснення без втрат первинний сигнал можна відновити з точністю до біту, тоді як в методах компресії з втратами відновлений сигнал не повністю відповідає первинному, але містить основну частину інформації. В алгоритмах компресії аудіосигналів на основі ортогональних перетворень стиснення досягається за рахунок того, що кодуються тільки ті коефіцієнти,які переносять суттєву інформацію, решта відкидаються. Ми побачили, що за допомогою цих алгоритмів можна досягнути значного стиснення, і на практиці досягнули степеня компресії рівного 13.1223,тоді як код Хафмена дає стиснення для цього ж сигналу лише 1,3866. Оскільки степінь стиснення 13.1223 є досить великим, то якість відтвореного сигналу не надто висока, проте основна мовна інформація збереглася, що в деяких випадках і є основним (степінь стиску), а не якість звучання аудіосигналу.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!