Міністерство освіти і науки України
Національний університет “Львівська політехніка”
/
Звіт
До Лабораторної роботи №1
З дисципліни: «Методи та засоби опрацювання сигналів»
Варіант - 2
Мета: виконати операції над матрицями та векторами в системи SCILAB. Здобути навики роботи в даному середовищі.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Цифрова обробка сигналів – це область науки і техніки, в якій вивчаються загальні для різних технічних застосувань принципи, методи і алгоритми обробки сигналів засобами обчислювальної техніки.
Суть ЦОС як області науки пролягає у розв'язку на обчислювальній машині чотирьох основних задач:
- представлення сигналів в зручній для сприйняття формі;
- виділення із сигналів корисної інформації;
- внесення в сигнали корисної інформації;
- формування сигналів із заданими параметрами.
ЦОС характеризується тим, що маємо справу зі структурованими однотипними даними великого об’єму. Ці дані на математичному рівні представляються векторами, або, в загальному випадку матрицями. Базовими операціями, що використовуються для розв’язку задач ЦОС є перемноження елементів векторів, додавання елементів векторів, перетворення координат, обчислення тригонометричних функцій, пошук максимальних значень, операції інвертування матриць, табличне перетворення елементів матриць, сортування, отримання квадратного кореня, піднесення до степеня. Всі ці задачі можуть вирішуватися як в режимі реального часу(РРЧ),так і в нереальному режимі часу.
Для моделювання роботи систем ЦОС та їх частин, обрано програмне середовище SCILAB, оскільки воно призначене для ефективної роботи з матрицями та має великий набір вбудованих функцій, що реалізовують ключові операції обробки сигналів. Зокрема, SCILAB забезпечує одночасне звертання до всіх елементів матриць та векторів з метою виконання однотипних операцій. Це дозволяє здійснювати складні перетворення не витрачаючи зусиль дрібні тривіальні дії.
Система SCILAB – поєднує розвинену мову програмування та широку бібліотеку чисельних алгоритмів, що охоплює багато областей науки і техніки.
Мова програмування SCILAB є високорівневим інтерпретатором. Це означає, що кожна команда виконується незалежно від інших і не потребує загальної компіляції. Так забезпечується простота написання та відлагодження програм, а також швидкість їх виконання. SCILAB дозволяє визначати користувачеві власні типи даних. При цьому стандартним операціям, наприклад, арифметичним операторам або операторам порівняння, можна надати особливого змісту для роботи з власними типами даних. Користувач може створювати власні модулі для вирішення конкретних задач або викликати функції, реалізовані на інших мовах програмування зокрема на С.
Найпростішим способом використання SCILAB є безпосереднє введення команд в консолі. Результат виконання при цьому відображається відразу ж після її введення і виконання (натисканням клавіші Enter). Таке покрокове виконання є ефективним для того, щоб зрозуміти поведінку готових програм і дозволяє навчитися писати власні програми.
Послідовність команд, призначена для кількаразового використання повинна бути записана і збережена у файлі.
У пакеті SCILAB файли бувають двох типів: файл-програми - скрипти (мають розширення .sce) та файл-функції (мають розширення .sci), в яких описані функцій, визначені самим користувачем.
Скрипт є послідовністю команд SCILAB, він не має вхідних і вихідних аргументів. Скрипт не вимагає жодних ключових слів для початку і кінця. Виконання команд, що містяться в скрипті може здійснюватися: з редактора файлів; з командного рядка, використавши команду «exec»; з іншого файлу. Фактично, створений файл стає командою, яку розуміє SCILAB. Всі змінні, оголошені в скрипті стаються доступними в робочому середовищі після його виконання. Їх можна використовувати в інших програмах і командах (якщо примусово не очищати пам’ять).
Файл-функція – це файл з розширенням .sci, в якому описана деяка функція. Ім’я файлу повинно співпадати з іменем описаної в ньому функції.
Обов’язковим першим рядком такого файлу є заголовок функції, який містить: ключове слово «function», список вихідних параметрів , знак «=», ім’я функції та список вхідних параметрів. Декілька вихідних аргументів зручно використовувати для функцій, що повертають не одне, а декілька значень (так звані, вектор-функції). Після заголовку йде тіло функції, в якому відбувається знаходження вихідних параметрів. Закінчуватися функція повинна ключовим словом «endfunction».
Виклик функції відбувається після її виконання, шляхом запуску з командного рядка за допомогою команди «exec».
ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ
Варіант – 2
2
Задати квадратну матрицю А порядку . Знайти вектор А*в, при чому елементи вектора в визначити за формулою:.
Код програми:
clc
clear all
n = input('n=');
choice = input("input matrix randomize? y/n ", "s");
select choice
case 'y' then
A = int(10 .* rand(n, n));
case 'n' then
A = input('input matrix A =');
else
error("Wrong answer")
end
disp(A, 'A=')
i = ([1:n].^ 2)';
disp(i, 'i=')
b = 1.0 ./ (i + 2);
disp(b, 'b=')
c = A * b;
disp(c, 'C=')
Результат виконання:
/
Висновок: на даній лабораторній роботі я навчився виконати операції над матрицями та векторами в системи SCILAB. Здобув навики роботи в даному середовищі.