- •Міністерство освіти і науки, молоді та спорту україни
- •Лабораторна робота №1.
- •Теоретична частина
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Варіанти завдань
- •Лабораторна робота №2
- •Теоретична частина
- •1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 8 through 9 4.5000 5.0000
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Варіанти завдань
- •Лабораторна робота №3
- •Теоретична частина
- •Хід роботи
- •Хід роботи
- •Приклад розрахунку фільтра Батерворта
- •Xlabel('f,kHz')
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Рекомендована література
- •Я.Г.Притуляк, н.Я.Возна, о.І.Волинський, і.Б.Албанський
Міністерство освіти і науки, молоді та спорту україни
ТЕРНОПІЛЬСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ КОМП’ЮТЕРНИХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторних робіт з дисципліни
"ЦИФРОВА ОБРОБКА СИГНАЛІВ І ЗОБРАЖЕНЬ"
Частина 2
для студентів спеціальностей:
Спеціалізовані комп’ютерні системи
Комп’ютерні системи та мережі
Тернопіль
ТНЕУ
2011
«Цифрова обробка сигналів і зображень»: методичні вказівки до виконання лабораторних робіт для студентів спеціальностей «Спеціалізовані комп’ютерні системи» та «Комп’ютерні системи та мережі» денної та заочної форм навчання освітньо-кваліфікаційного рівня «бакалавр».
Укладачі: к.т.н., доцент Притуляк Я.Г.
к.т.н. Возна Н.Я.
викл. Волинський О.І.
викл. Албанський І.Б.
Рецензент: к.т.н., доцент Сегін А.І.
Відповідальний за випуск: д.т.н., професор Николайчук Я.М.
Методичні вказівки розглянуті та схвалені на засіданні кафедри спеціалізованих комп’ютерних систем (протокол №3 від 26.10.2011 )
ЗМІСТ
-
ВСТУП
4
ЛАБОРАТОРНА РОБОТА №1
5
ЛАБОРАТОРНА РОБОТА №2
12
ЛАБОРАТОРНА РОБОТА №3
17
ЛАБОРАТОРНА РОБОТА №4
20
ЛАБОРАТОРНА РОБОТА №5
25
ЛАБОРАТОРНА РОБОТА №6
34
РЕКОМЕНДОВАНА ЛІТЕРАТУРА
43
ВСТУП
Цифрова обробка сигналів і зображень (ЦОСЗ) – це область науки і техніки, в якій вивчаються загальні для різних дисциплін алгоритми і засоби обробки сигналів на основі чисельних методів з використанням цифрової обчислювальної техніки. ЦОСЗ має справу з представленням і перетворенням сигналів і інформації, яку вони несуть.
У другій частині методичних вказівок досліджуються методи цифрової обробки аналогових і дискретних сигналів та зображень за допомогою функцій MATLAB. При цьому формули модифікуються, де інтеграли перетворюються в суму. Оскільки дискретний сигнал представляє собою послідовність чисел, тому в MATLAB він використовується у вигляді вектора.
Лабораторна робота №1.
Тема. «Генерація сигналів. Згортка. Структура Signal Processing Toolbox».
Мета роботи. Отримати основні навики роботи в середовищі Matlab. Вивчити можливості пакета Signal Processing Toolbox по генерації сигналів. Вивчити властивості згортки.
Теоретична частина
Загальна характеристика пакета Signal Processing
Signal Processing Toolbox - потужний пакет з аналізу, моделювання і проектування пристроїв обробки різних сигналів, забезпеченню їх фільтрації і безлічі перетворень.
Пакет Signal Processing забезпечує надзвичайно великі можливості по створенню програм обробки сигналів для сучасних наукових та технічних пропозицій. У пакеті використовується різноманітна техніка фільтрації і новітні алгоритми спектрального аналізу. Пакет містить модулі для розробки нових алгоритмів обробки сигналів, розробки лінійних систем і аналізу часових рядів. Пакет буде корисний, зокрема, в таких областях, як обробка аудіо- та відео інформації, телекомунікації, геофізика, завдання управління в реальному режимі часу, економіка, фінанси і медицина.
Призначення пакету:
моделювання сигналів і лінійних систем;
проектування, аналіз і реалізація цифрових і аналогових фільтрів;
швидке перетворення Фур'є, дискретне косинусне та інші перетворення;
оцінка спектрів і статистична обробка сигналів;
параметрична обробка часових рядів;
генерація сигналів різної форми;
віконне відображення.
Пакет Signal Processing - ідеальна оболонка для аналізу і обробки сигналів. У ньому використовуються перевірені практикою алгоритми, обрані за критеріями максимальної ефективності та надійності. Пакет містить широкий спектр алгоритмів для подання сигналів і лінійних моделей. Цей набір дозволяє користувачеві досить гнучко підходити до створення сценарію обробки сигналів. Пакет включає алгоритми для перетворення моделі з одного подання до іншого.
Пакет Signal Processing включає повний набір методів для створення цифрових фільтрів з різноманітними характеристиками. Він дозволяє швидко розробляти фільтри високих і низьких частот, смугові пропускаючі і затримуючі фільтри, багатосмугові фільтри, в тому числі фільтри Чебишева, Баттерворта, еліптичні та інші фільтри.
Графічний інтерфейс дозволяє проектувати фільтри, задаючи вимоги до них в режимі переносу об'єктів маніпулятором. У пакет включені наступні нові методи проектування фільтрів:
‑ Узагальнений метод Чебишева для створення фільтрів з нелінійною фазовою характеристикою, комплексними коефіцієнтами або довільним відгуком. Алгоритм розроблений Макленаном і Караме в 1995 році;
‑ Метод найменших квадратів з обмеженнями дозволяє користувачеві явно контролювати максимальну похибку (згладжування);
‑ Метод розрахунку мінімального порядку фільтра з вікном Кайзера;
‑ Узагальнений метод Баттерворта для проектування низькочастотних фільтрів з максимально однорідними смугами пропускання і загасання.
Заснований на оптимальному алгоритмі швидкого перетворення Фур'є, пакет Signal Processing має неперевершені характеристики для частотного аналізу і спектральних оцінок. Пакет включає функції для обчислення дискретного перетворення Фур'є, дискретного косинусного перетворення, перетворення Гільберта та інших перетворень, часто застосовуваних для аналізу, кодування та фільтрації. У пакеті реалізовані такі методи спектрального аналізу, як метод Вельха, метод максимальної ентропії та інші.
Пакет Signal Processing є основою для вирішення багатьох інших завдань. Наприклад, комбінуючи його з пакетом Image Processing, можна обробляти і аналізувати двомірні сигнали і зображення. У парі з пакетом System Identification, пакет Signal Processing дозволяє виконувати параметричне моделювання систем у часовій області. У поєднанні з пакетами Neural Network і Fuzzy Logic може бути створено безліч засобів для обробки даних або виділення класифікаційних характеристик. Засіб генерації сигналів дозволяє створювати імпульсні сигнали різної форми.
Генерація сигналів в пакеті Signal Processing
Сигналом будемо називати дані, упорядковані відносно деякого аргументу (наприклад, часу, частоти, просторової координати). Якщо в якості аргументу вибрано час, то еквівалентними поняттями будуть часовий процес, часова реалізація.
Для генерації сигналів використовуються функції середовища Matlab, у тому числі функції пакета Signal Processing.
У пакеті Signal Processing реалізовані наступні функції генерації сигналів:
Функція |
Дія |
chirp |
Генерує косинусоїду із змінною частотою |
diric |
Обчислює функцію Дирихле |
gauspuls |
Генерує синусоїду, модульовану функцією Гаусса |
gausmonopuls |
Генерує моноімпульс Гаусса |
pulstran |
Генерує імпульси |
rectpuls |
Генерує аперіодичні прямокутні імпульси |
sawtooth |
Генерує пилоподібні коливання |
sinc |
Функція sinc |
square |
Генерує прямокутні імпульси |
tripuls |
Генерує аперіодичні трикутні імпульси |
vco |
Кероване джерело напруг |
Детальний опис функцій та їх параметрів можна отримати з довідкової системи Matlab або використовуючи команду help <ім’я функції>.
Розглянемо приклади генерації сигналів.
1. Потрібно отримати синусоїдальний сигнал із заданою частотою f = 0,2Гц і різними частотами дискретизації fд = 1Гц, 3Гц, 10Гц. Довжина сигналу 20с.
Оскільки робота середовища Matlab орієнтована на матричне представлення сигналів, то поставимо спочатку три вектора часу t, які будуть відповідати різним частотам зняття даних (частотам дискретизації).
>> fs1=1; fs2=3; fs3=10; >> T=20; f=0.2; >> t1=0:1/fs1:T; >> t2=0:1/fs2:T; >> t3=0:1/fs3:T;
|
%fs1 – sampling frequency – частота дискретизації % T – довжина сигналу ; f- частота сигналу |
Для генерації синусоїдального сигналу (обчислення функції sin в заданих вектором ti точках використовується функція Matlab - sin. Уточнимо, необхідні для цієї функції, аргументи:
>> help sin
SIN Sine. SIN(X) is the sine of the elements of X
Overloaded methods help sym/sin.m
|
|
Далі задамо вектор сигналів:
>> y1=sin(f*t1); >> y2=sin(f*t2); >> y3=sin(f*t3);
|
|
Для візуалізації сигналів скористаємося функцією plot:
>> plot(t1,y1,'-ro',t2,y2,'-g>',t3,y3,'-b') >> grid on >> xlabel('Time'); >> ylabel('Amplitude'); >> title('SIGNAL');
|
% Відображення сітки % Підпис осі X % Підпис осі Y % Заголовок рисунку |
Результат роботи показаний на рис.1.
|
Рис.1 |
Всі вищевикладені операції можуть бути оформлені у вигляді m-файлу в редакторі m-файлів (рис 2).
|
Рис.2 |
2. Потрібно отримати функцію MATLAB, що генерує сигнал тривалістю 10 с, знятий з кроком 1 / f і представляє собою
параметр f є аргумент функції.
Функція оголошується зарезервованим словом function, після якого слідує вираз [вихідне_значення_функції] = ім’я функції [(аргументи_функції)]
Один з можливих варіантів вирішення цієї задачі наведено нижче:
function A = example1_2(f) t=0:1/f:10; t1=0:1/f:3; A(1:length(t1))=sin(7*pi*t1); t2=(3+1/f):1/f:6; A(length(t1)+1:length(t1)+length(t2))=2+sin(7*pi*t2); t3=(6+1/f):1/f:10; A((length(t1)+length(t2)+1):(length(t1)+length(t2)+length(t3)))=sin(2*pi*t3); plot(t,A); grid on;
|
|
Ця функція може бути викликана з інших функцій або запущена з Command Window:
>> example1_2(128);
Результат виконання функції:
|
Рис. 3 |
Згортка
Згортка відіграє дуже важливу роль в теорії ЦОЗ.
Дискретною згорткою двох сигналів g і h називають одновимірний масив
Нижче наведена ілюстрація процесу обчислення згортки.
| |
|
|
Рис.4 |
У середовищі MATLAB згортка реалізується наступною функцією
conv (А, B).
У результаті виходить вектор довжиною LENGTH (A) + LENGTH (B) -1.