DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ Звіт до лабораторної роботи №2 з курсу: «Системи запису та відтворення інформації» на тему: «Дослідження методів компресії аудіоінформації в MATLAB.» Варіант 15 Мета роботи – набути вміння розробляти власні методи стиснення аудіоінформації та оцінювати їх ефективність. Завдання Ознайомитись з теоретичним матеріалом. Завантажити wav-файл вказаний в завданні відповідно до свого варіанту. Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл. Оцінити степінь стиснення звукового файлу кодом Хафмена. Побудувати гістограму аудіофайлу. Написати кодер, на базі ДКП, який би компресував мовний сигнал з заданим степенем стиску. Написати декодер, який відтворює мовний сигнал. Прослухати декодований мовний сигнал та зробити висновки про якість відтвореного сигналу. Варіант Назва файлу Розмір блоку Степінь стиску  15 Lab_1_15.wav 500 11   Текст програми clc; clear all; [Y, F, B] = wavread('C:\Users\vasya\Desktop\Lab_1_15.wav'); Y = Y * 128; figure(1); hist(Y, -128:127); % Розмір блоку NN = 500; % Кількість збережених коефіцієнтів ДКП на блок L = 80; 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; CR=B/Nopt; CR % Кількість блоків 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))) CR = d/(-Ls); CR2 = d/(-Ls)* NN/L; sprintf('Коефіцієнт стиснення методом Хафмена CR=%f',CR) 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'); Результат виконання програми Основна інформацію про файл / Гістограма аудіофайлу. / 3.Коефіцієнт стиснення методом Хафмена CR= 1.765064 4. Коефіцієнт стиснення ДКП CR2= 11.031649 Висновок Виконуючи дану лабораторну роботу, ми навчилися розробляти власні методи стиснення аудіоінформації за допомогою алгоритмів стиснення аудіосигналів на основі ортогональних перетворень, а також оцінили їх ефективність, та ефективність алгоритмів стиснення без втрат, а саме коду Хафмена. Отже, за допомогою цих двох алгоритмів можна досягнути значного стиснення, а саме на практиці досягнули степеня компресії рівного 9.0299, тоді як код Хафмена дає стиснення для цього ж сигналу лише 1.5531.
Антиботан аватар за замовчуванням

29.03.2016 08:15

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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