Державний вищий навчальний заклад «Прикарпатський національний університет імені Василя Стефаника» Кафедра комп’ютерних наук та інформаційних систем Лабораторна робота №5 з предмету «Цифрова обробка інформації» “ Перетворення Уолша та Хаара дискретних сигналів” Виконав: студент групи КН-31 Кобзан О. Р. _____________________ «____»__________2023р. ППрийняв: к.т.н, доц Превисокова Н.В. _____________________ «____»__________2023р. Івано-Франківськ – 2023 Тема: Перетворення Уолша та Хаара дискретних сигналів. Завдання для самостійного виконання: N-цифра десятків номера варіанта. М – цифра одиниць номера варіанта. Варіант: 15 N – 1, M – 5; Розрахувати спектр Уолша-Адамара дискретного сигналу x[n] = [3, 5, 7, N, M]. Побудувати графік спектру сигналу. clc; clear; N=1; M=5; //Adamar matrix: A=[1 1 1 1 1 1 1 1; 1 -1 1 -1 1 -1 1 -1; 1 1 -1 -1 1 1 -1 -1; 1 -1 -1 1 1 -1 -1 1; 1 1 1 1 -1 -1 -1 -1; 1 -1 1 -1 -1 1 -1 1; 1 1 -1 -1 -1 -1 1 1; 1 -1 -1 1 -1 1 1 -1;]; //Signal s=[3 5 7 N M 0 0 0]; //Transpose signal ts=s'; //Walsh-Adamar W=1/5*A*ts; //graph plot2d3(W); a=gce(); a.children(1).thickness=3; //title xtitle('The Walsh-Hadamard spectrum of the input signal','k','W[k]'); Спектр Уолша-Адамара: Виконати обернене перетворення Уолша-Адамара спектра з попередньої задачі, отримати сигнал x[n]. clc; clear; N=1; M=5; //Adamar matrix: A=[1 1 1 1 1 1 1 1; 1 -1 1 -1 1 -1 1 -1; 1 1 -1 -1 1 1 -1 -1; 1 -1 -1 1 1 -1 -1 1; 1 1 1 1 -1 -1 -1 -1; 1 -1 1 -1 -1 1 -1 1; 1 1 -1 -1 -1 -1 1 1; 1 -1 -1 1 -1 1 1 -1;]; //Signal s=[3 5 7 N M 0 0 0]; //Transpose signal ts=s'; //Walsh-Adamar W=1/5*A*ts; //Inverse transform of Walsh-Adamar I=(A*W)'; //graph plot2d3(I); a=gce(); a.children(1).thickness=3; //title xtitle('Inverse Walsh-Hadamard transform of the input signal','Adamar*W','inverse W[k]'); Обернене перетворення Уолша-Адамара: Розрахувати спектр Уолша-Адамара дискретного сигналу x[n] = [M+1, N, 8, 0, 1, -5, 3, 1, 3]. Побудувати графік спектру сигналу. clc; clear; N=1; M=5; //Adamar matrix: A=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1; 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1; 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1; 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1; 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1; 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1; 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 -1; 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1; 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1; 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1; 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1; 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1; 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1; 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 1 -1 -1; 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1 ]; //Signal s=[M+1 N 8 0 1 -5 3 1 3 0 0 0 0 0 0 0]; //Transpose signal ts=s'; //Walsh-Adamar W=1/16*A*ts; //graph plot2d3(W); a=gce(); a.children(1).thickness=3; //title xtitle('Walsh-Hadamard spectrum of the input signal','k','W[k]'); Спектр Уолша-Адамара: Виконати обернене перетворення Уолша-Адамара спектра з попередньої задачі, отримати сигнал x[n]. clc; clear; N=1; M=5; //Adamar matrix: A=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1; 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1; 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1; 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1; 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1; 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1; 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 -1; 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1; 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1; 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1; 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1; 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1; 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1; 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 1 -1 -1; 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1 ]; //Signal s=[M+1 N 8 0 1 -5 3 1 3 0 0 0 0 0 0 0]; //Transpose signal ts=s'; //Walsh-Adamar W=1/16*A*ts; //inverse transform of Walsh-Adamar I=(A*W)'; //graph plot2d3(I); a=gce(); a.children(1).thickness=3; //title xtitle('Inverse Walsh-Adamar transformation of the input signal','Adamar*W','inverse W[k]'); Обернене перетворення Уолша-Адамара: Розрахувати спектр Хаара дискретного сигналу x[n] = [3, 5, 7, N, M]. Побудувати графік спектру сигналу. Виконати обернене перетворення Хаара спектра з попередньої задачі, отримати сигнал x[n]. clc; clear; N=1; M=5; //Haar matrix: H=[ 1 1 1 1 1 1 1 1; 1 1 1 1 -1 -1 -1 -1; sqrt(2) sqrt(2) -sqrt(2) -sqrt(2) 0 0 0 0; 0 0 0 0 sqrt(2) sqrt(2) -sqrt(2) -sqrt(2); 2 -2 0 0 0 0 0 0; 0 0 2 -2 0 0 0 0; 0 0 0 0 2 -2 0 0; 0 0 0 0 0 0 2 -2;] //Signal s=[3 5 7 N M 0 0 0]; //Transpose signal ts=s'; //Haaar transform of signal W=1/5*H*ts; //inverse Haar transform of signal I=(H'*W)'; //subplot subplot(2,1,1); //graph plot2d3(W); a=gce(); a.children(1).thickness=3; //title xtitle('Haar spectrum of the input signal','k',' W[k]'); //subplot subplot(2,1,2); //graph plot2d3(I); a=gce(); a.children(1).thickness=3; xtitle('The inverse Haar transform of the input signal','Haar*W','inverse W[k]'); Висновок: В результаті виконання лабораторної роботи ми вивчили перетворення Уолша та Хаара дискретних сигналів. |