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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №2 з курсу: «Системи запису та відтворення інформації» на тему: «Дослідження методів компресії аудіоінформації в MATLAB.» МЕТА РОБОТИ Набути вміння розробляти власні методи стиснення аудіоінформації та оцінювати їх ефективність. ЗАВДАННЯ Ознайомитись з теоретичним матеріалом. Завантажити wav-файл вказаний в завданні відповідно до свого варіанту. Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл. Оцінити степінь стиснення звукового файлу кодом Хафмена. Побудувати гістограму аудіофайлу. Написати кодер, на базі ДКП, який би компресував мовний сигнал з заданим степенем стиску. Написати декодер, який відтворює мовний сигнал. Прослухати декодований мовний сигнал та зробити висновки про якість відтвореного сигналу. Варіант Назва файлу Розмір блоку Степінь стиску  11 Lab_1_11.wav 300 6   ТЕКСТ ПРОГРАМИ [y,Fs,bits]=wavread('K:\Lab_1_11.wav'); Fs bits wavplay(y,Fs,'sync'); [Y, F, B] = wavread('K:\Lab_1_11.wav'); 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; k= bits/Nopt Y = Y * 128; % Y -- дробове; треба, щоб було ціле (Y*128) N = 300; % розмір блоку L = 143; % к-сть збережених коефіцієнтів ДКП на блок 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); % В y записуємо лише "великі" відліки 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 = (8 / -Ls) * (N / L) % CR2 -- cтепінь стиснення % Відновлений сигнал YC = Y * 0; dx = Y(1 : N) * 0; mm = 1; kk = 1; % ...*0 -- це "малі" відліки 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, 'sync'); РЕЗУЛЬТАТ ВИКОНАННЯ ПРОГРАМИ Гістограма аудіофайлу. / Степінь стиснення звукового файлу кодом Хафмена. ans = 2.5619 Степінь стиснення звукового файлу методом ДКП. CRR = 6.0051 ВИСНОВКИ Головна задача в даній лабораторній роботі була в наступному - розробити власні методи стиснення аудіоінформації за допомогою алгоритмів стиснення аудіосигналів на дискретного косинусного перетворення,яке найчастіше використовують для стиснення мовної інформації, а також оцінити їх ефективність, та ефективність алгоритмів стиснення без втрат, а саме коду Хафмена. Дослідивши ці методи, можна зробити висновок, що в методах стиснення без втрат первинний сигнал можна відновити з точністю до біту, тоді як в методах компресії з втратами відновлений сигнал не повністю відповідає первинному, але містить основну частину інформації, і у випадку мовної інформації слова є зрозумілими для користувача. В алгоритмах компресії аудіосигналів на основі ДКП стиснення досягається за рахунок того, що кодуються тільки ті коефіцієнти, які переносять суттєву інформацію, решта відкидаються. Отже, за допомогою цих двох алгоритмів можна досягнути значного стиснення, а саме на практиці досягнули степеня компресії рівного 6.0051, тоді як код Хафмена дає стиснення для цього ж сигналу лише 2.5619. Неозброєним оком видно, що степінь стиснення 6.0051 є достатньо великим, тому якість відтвореного сигналу не надто висока, проте основна мовна інформація збереглася, що в більшості випадках і є основним (степінь стиску), а не саме якість звучання аудіосигналу. kk = kk + N; end; YC = YC / 128; YC = round(YC * 128) / 128; wavplay(YC, F, 'sync'); РЕЗУЛЬТАТ ВИКОНАННЯ ПРОГРАМИ Гістограма аудіофайлу. / Степінь стиснення звукового файлу кодом Хафмена. k = 1.3866 Степінь стиснення звукового файлу методом ДКП. CRR = 6.0051
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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