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

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

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

Рік:
2024
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Цифрова обробка сигналів та зображень

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра «Захист інформації»  Звіт про виконання лабораторної роботи №3 з курсу: «ЦИФРОВА ОБРОБКА СИГНАЛІВ ТА ЗОБРАЖЕНЬ» «Застосування хвилькового перетворення для обробки сигналів» Варіант №17 Мета роботи: ознайомитися зі змістом хвилькового перетворення, основними можливостями хвилькової обробки реалізованими в програмному пакеті MatLab, отримати навики розрахунку дискретного хвилькового перетворення, декомпозиції сигналу на апроксимуючі та деталізуючі складові, хвилькове очищення сигналів від шумів. Завдання 1. Ознайомитись з теоретичним матеріалом. 2. Скласти програму в середовищі MatLab згідно завдання. 2.1. Провести очищення сигналу від шуму з використанням хвилькового перетворення відповідно до завдання у табл. 1. № Тип вейвлету Рівень розкладу Поріг Тип порогу Масштабування Сигнал  17. Добеші 3-го порядку 3 rigrsure жорсткий Тип 1 Lab_3_1.mat   Лістинг програми в середовищі MatLab load Lab_3_1; % Завантаження сигналу tn = (0 : length(signal)-1); % вісь часу w_name = 'db3'; % тип вейвлету Lev = 3; % рівень розкладу type = 'rigrsure'; % поріг [Lo_D, Hi_D, Lo_R, Hi_R] = wfilters(w_name); % розрах-к фільтрів декомпозиції і реконструкції % розрахунок АЧХ фільтрів [h_D, f] = freqz(Lo_D, 1, 0:0.001:1, 2); h1_D = freqz(Hi_D, 1, 0:0.001:1, 2); [h_R, f] = freqz(Lo_R, 1, 0:0.001:1, 2); h1_R = freqz(Hi_R, 1, 0:0.001:1, 2); figure(1); plot(f, abs(h_D), f, abs(h1_D)); grid on; % графік АЧХ фільтрів декомпозиції figure(2); plot(f, abs(h_R), f, abs(h1_R)); grid on; % графік АЧХ фільтрів реконструкції [C, L] = wavedec(signal, Lev, w_name); % хвильковий розклад сигналу cA3 = appcoef(C, L, w_name, Lev); % добування коефіцієнтів апроксимації сА3 [cD3 cD2 cD1] = detcoef(C, L, [3 2 1]); % добування коефіцієнтів деталізації сD3, cD2, cD1 % Побудова графіків коефіцієнтів розкладу figure(3); subplot(411); plot(cA3); grid on; xlim([0 L(1)-1]); ylabel('cA3'); subplot(412); plot(cD3); grid on; xlim([0 L(2)-1]); ylabel('cD3'); subplot(413); plot(cD2); grid on; xlim([0 L(3)-1]); ylabel('cD2'); subplot(414); plot(cD1); grid on; xlim([0 L(4)-1]); ylabel('cD1'); A3 = wrcoef('a', C, L, w_name, 3); % Обчислення апроксимуючої складової А3 D3 = wrcoef('d', C, L, w_name, 3); % Обчислення деталізуючої складової D3 D2 = wrcoef('d', C, L, w_name, 2); % Обчислення деталізуючої складової D2 D1 = wrcoef('d', C, L, w_name, 1); % Обчислення деталізуючої складової D1 L_sig = length(signal); % Розмірність сигналу % Побудова графіків сигналу та його часових складових figure(4); subplot(511); plot(signal); grid on; xlim([0 L_sig-1]); ylabel('S(n)'); subplot(512); plot(A3); grid on; xlim([0 L_sig-1]); ylabel('A3'); subplot(513); plot(D3); grid on; xlim([0 L_sig-1]); ylabel('D3'); subplot(514); plot(D2); grid on; xlim([0 L_sig-1]); ylabel('D2'); subplot(515); plot(D1); grid on; xlim([0 L_sig-1]); ylabel('D1'); % Оцінка рівня шуму деталізуючих коефіцієнтів for ii = 1 : Lev stdc(ii) = wnoisest(C, L, ii); end; % Обчислення порогу для кожного рівня for ii = 1 : Lev thr(ii) = thselect(detcoef(C, L, ii)/stdc(ii), type); thr (ii) = thr(ii) * stdc(ii); end; % Жорстке порогування коефіцієнтів cD1 for ii = 1 : length(cD1) if (abs(cD1(ii)) < thr(1)) cD1(ii) = 0; end; end; % Жорстке порогування коефіцієнтів cD2 for ii = 1 : length(cD2) if (abs(cD2(ii)) < thr(2)) cD2(ii) = 0; end; end; % Жорстке порогування коефіцієнтів cD3 for ii = 1 : length(cD3) if (abs(cD3(ii)) < thr(3)) cD3(ii) = 0; end; end; % Заміна первинних коефіцієнтів cD обчисленими cD = [cD3 cD2 cD1]; C(L(1) + 1 : end) = cD; % Побудова графіків коефіцієнтів після порогування figure(5); subplot(411); plot(0:L(1)-1, cA3); grid on; xlim([0 L(1)-1]); ylabel('cA3'); subplot(412); plot(0:L(2)-1, cD3); grid on; xlim([0 L(2)-1]); ylabel('cD3'); subplot(413); plot(0:L(3)-1, cD2); grid on; xlim([0 L(3)-1]); ylabel('cD2'); subplot(414); plot(0:L(4)-1, cD1); grid on; xlim([0 L(4)-1]); ylabel('cD1'); % Обчислення деталізуючих складових після порогування D3 = wrcoef('d', C, L, w_name, 3); D2 = wrcoef('d', C, L, w_name, 2); D1 = wrcoef('d', C, L, w_name, 1); % Побудова графіків сигналу та його часових складових після порогування figure(6); subplot(511); plot(tn, signal); grid on; xlim([0 L_sig-1]); ylabel('S(n)'); subplot(512); plot(tn, A3); grid on; xlim([0 L_sig-1]); ylabel('A3'); subplot(513); plot(tn, D3); grid on; xlim([0 L_sig-1]); ylabel('D3'); subplot(514); plot(tn, D2); grid on; xlim([0 L_sig-1]); ylabel('D2'); subplot(515); plot(tn, D1); grid on; xlim([0 L_sig-1]); ylabel('D1'); % Обчислення очищенного від шуму сигналу signal _d = waverec(C, L, w_name); % Побудова графіків сигналу до і після очищення figure(7); subplot(211); plot(tn, signal); grid on; xlim([0 L_sig-1]); ylabel('S(n)'); subplot(212); plot(tn, signal_d); grid on; xlim([0 L_sig-1]); ylabel('Denoised S(n)'); Графічні результати роботи        Висновок: у даній лабораторній роботі я ознайомився із змістом хвильового перетворення, основними можливостями хвильової обробки сигналів у програмному пакеті MatLab, здійснив очищення сигналу від шуму, а саме: здійснив декомпозицію сигналу на апроксимуючі та деталізуючі коефіцієнти, здійснив порогову обробку деталізуючих коефіцієнтів та реконструкцію сигналу. В результаті, я отримав графік, на якому зображено сигнал із шумом та очищений від шуму сигнал
Антиботан аватар за замовчуванням

22.09.2012 12:09-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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