МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Спектральний аналіз сигналів
на основі дискретного перетворення Фур’є
ІНСТРУКЦІЯ
до лабораторної роботи № 1
з курсу “Цифрова обробка сигналів і зображень”
для студентів спеціальностей 8.160102
“Захист інформації з обмеженим доступом та автоматизація її обробки”
Затверджено
на засiданнi кафедри
"Захист інформації"
Протокол № 2 вiд 6. 09. 2010 p.
Львів 2010
Спектральний аналіз сигналів на основі дискретного перетворення Фур’є: Інструкція до лабораторної роботи № 1 з курсу ”Цифрова обробка сигналів і зображень” для студентів спеціальності 8.160102 “Захист інформації з обмеженим доступом та автоматизація її обробки” / Укл. В.В. Хома, Я. Р. Совин - Львiв: Національний університет "Львівська політехніка", 2010. - 17 с.
Укладачі: Хома В.В., професор, д.т.н.
Совин Я. Р., доцент, к.т.н.
Вiдповiдальний за випуск: Дудикевич В.Б., професор, д.т.н.
Рецензент: Максимович В.М., професор, д.т.н.
Горпенюк А.Я., доцент, к.т.н.
Мета роботи – ознайомлення із математичнм апаратом опису сигналів у частотній області, змістом дискретного перетворення Фур’є та його застосуванням для спектрального аналізу реальних сигналів.
ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Перетворення Фур’є та його використання для спектрального аналізу сигналів
Перетворення Фур’є є основним інструментом аналізу сигналів у частотній області – так званого спектрального аналізу. З математичної точки зору опис сигналів у часовій області за допомогою часової функції і в частотній області за допомогою спектральної густини є ідентичним, однак сенс використання тієї чи іншої форми зумовлений певними вигодами при розв’язанні тієї чи іншої задачі.
Зв’язок між та визначається парою інтегральних перетворень Фур’є:
прямим
; (1)
зворотним
. (2)
Комплексна величина містить інформацію про спектр, тобто вміст в аналізованому сигналі конкретної частоти , оскільки аналізуючий сигнал (ядро інтегрального перетворення) за формулою Ейлера
представляє собою нескінченний набір гармонічних сигналів.
Якщо за допомогою прямого перетворення Фур’є здійснюється розклад сигналу на складові різних частот (аналіз), то природно, що зворотне перетворення забезпечує реконструкцію (синтез) сигналу зі спектру шляхом підсумовування (інтегрування) всіх гармонік , взятими із відповідними вагами .
Основні властивості перетворення Фур’є наведені в Додатку 1.
Відомо, що періодичні сигнали представляються рядом Фур’є у вигляді суми гармонічних складових, оскільки у цьому випадку в аналізованому сигналі виступає лише основна гармоніка та її багатократні компоненти . У показниковій формі ряд Фур’є має вигляд
. (3)
Коефіцієнти ряду є комплексними величинами і визначаються із співвідношення
(4)
Сукупність коефіцієнтів ряду складає спектр періодичного сигналу. Спектр амплітуд і спектр фаз однозначно визначають сигнал і показують, яку участь бере гармонічна складова кожної частоти в складі результуючого коливання. Часто обмежуються розглядом який визначає енергетичні властивості сигналу, а має відношення лише до форми сигналу.
Дискретні сигнали утворюється шляхом дискретизації (взяття вибірок) неперервного сигналу з часовим інтервалом . За теоремою Котельникова-Шеннона, частота вибірок повинна принаймні удвічі перевищувати максимальну частоту у спектрі дискретизованого сигналу. Для дискретних сигналів пара інтегральних перетворень Фур’є (1) і (2) набуває вигляду (див. Додаток 2):
; (5)
і
. (6)
де - нормалізована частотою дискретизаціїї кругова частота.
Враховуючи періодичний характер спектра дискретизованого сигналу із періодом (для нормованої кругової частоти ), у виразі (6) межі інтегрування звужено до одного періоду, що включає нульову частоту.
Характер спектра дискретизованого сигналу підтверджує принцип часо-частотної дуальності перетворення Фур’є:
періодичний сигнал → дискретний спектр;
дискретний сигнал → періодичний спектр.
Дискретне перетворення Фур’є та його зв'язок зі спектром дискретних сигналів
На практиці при спектральному аналізі реальних сигналів дослідник не оперує неперервним сигналом , а лише скінченною послідовністю його вибірок у заданому форматі. Разом з тим застосування виразу (5) для обчислення спектральної функції неможливе через нескінченні значення межі підсумовування. Саме тому в техніці цифрового оброблення сигналів для спектрального аналізу застосовується дискретне перетворення Фур’є.
Дискретним перетворенням Фур’є (ДПФ; англійський термін – Discrete Fourier Transform, DFT) називається пара взаємооднозначних перетворень, що повязує вибірки дискретного періодичного сигнал із комплексними коефіцієнтами його дискретного спектра:
, (7)
, (8)
де кількість вибірок в періоді дискретного сигналу.
Перетворення (7) називається прямим, а перетворення (8) – зворотним ДПФ (ЗДПФ). ДПФ виконується над скінченою періодичною послідовністю вибірок сигналу , у якої період складається з дискретних значень, тобто . Послідовність репрезентує спектр дискретного сигналу , що також є періодичним
.
Зіставлення виразів (5) та (7) показує, що ДПФ представляє лише дискретні вибірки неперервної спектральної функції функції дискретного сигналу, що відповідає частотам :
. (9)
Отже, значення дискретних частот у спектрі залежать від періоду дискретизації , а розрізнювальна здатність по частоті (спектральна селективність), обернено пропорційна часу спостереження за сигналом
. (10)
З співвідношення (9) витікає важливий висновок: якщо до існуючої кількості вибірок додати деяку кількість нулів, наприклад , то спектральна функція дискретного сигналу не зміниться, а ДПФ дасть вдвічі більшу кількість спектральних відліків, які відповідають частотам, тісніше розташованим в інтнервалі від нуля до частоти дискретизації.
Спектральний аналіз реальних сигналів. Розтікання спектру. Накладання вікон
При ДПФ вважається, що послідовність відліків аналізованого сигналу є періодично продовженою вперед і назад в часі. При цьому, якщо значення початкових і кінцевих відліків сигналу сильно відрізняються, при періодичному повторенні на стиках сегментів виникають стрибки із-за яких спектр розширюється, тобто в спектрі з’являються додаткові складові. Це явище, яке називають розтіканням спектру (англійський термін – spectrum leakage) можна проілюструвати на прикладі обчислення спектру дискретного гармонічного сигналу (рис. 1). Дискретні сигнали містять 16 відліків гармонічного сигналу з періодами рівними 4 відлікам (періодично продовжений сигнал є періодичним) і 6 відлікам (періодично продовжений сигнал містить скачок).
Рис. 1. ДПФ для цілого (а) і нецілого (б) числа періодів гармонічного сигналу та із застосуванням вікна Ханна (в)
Для зменшення розтікання спектру при ДПФ застосовують вагові функції (англійський термін – weighting functions), які також називають вікнами (window). В цьому випадку перед розрахунком ДПФ сигнал домножується на вагову функцію , яка повинна спадати до країв сегменту. Формула прямого ДПФ при використанні вагових функцій приймає вигляд:
Якщо ми використовуємо вагову функцію, яка має максимум в середині (при ) і плавно спадає до країв (при і ), то це призведе до ослаблення ефектів, пов’язаних з виникненням стрибків сигналу при періодичному повторенні аналізованої скінченої послідовності, а отже, до зменшення розтікання спектру. Платою за це є розширення піків в спектрі сигналу (рис. 1, в).
Основні типи вікон наведені в табл. 1.
Таблиця 1.
Тип вікна
Аналітичний вираз вікна
Трикутне
Бартлета
Ханна
Хемінга
Блекмана
Алгоритми швидкого перетворення Фур’є
Для обчислення одного коефіцієнта ДПФ за формулою (5) необхідно виконати комплексних множень і додавань, тому розрахунок всього ДПФ, що містить коефіцієнтів потребує пар операцій “множення-додавання”. Отже, число операцій зростає пропорційно квадрату розмірності ДПФ. Проте, якщо не є простим числом і може бути розкладене на множники, процес обчислень можна прискорити, розділивши аналізований набір відліків на частини, обчисливши їх ДПФ і об’єднавши результати. Такий спосіб обчислення ДПФ називається швидким перетворенням Фур’є (ШПФ; англійський термін – Fast Fourier Transform, FFT) і широко використовується в техніці цифрового оброблення сигналів.
Розглянемо найпоширеніші алгоритми ШПФ з основою 2 (англійський термін – Radix-2), які застосовуються до послідовностей довжиною , де – ціле. Основна ідея цих алгоритмів, полягає у зведенні обчислення -точкового ДПФ до обчислення декількох -точкових ДПФ, причому і . Алгоритми, при реалізації яких потрібна перестановка відліків вхідної послідовності, називаються алгоритми з проріджуванням в часі (англійський термін – decimation in time, DIT). Алгоритми, при реалізації яких потрібна перестановка відліків вихідної послідовності називаються алгоритмами з проріджуванням за частотою (англійський термін – decimation in frequency, DIF). За ефективністю ці дві різновидності алгоритмів еквівалентні.
ШПФ з проріджуванням в часі
Якщо послідовність довжиною розділити на дві -точкові послідовності з парними і непарними номерами відліків то формула (1.7) запишеться:
,
де і
Введемо позначення і , а також винесемо з другої суми спільний множник
(11)
Дві суми в (11) представляють собою ДПФ послідовностей (відліки з парними номерами) і (відліки з непарними номерами). Кожне з цих перетворень має розмірність . Тоді
, , (12)
де і – ДПФ відповідно послідовностей відліків з парними і непарними номерами.
Оскільки ДПФ розмірності дає лише спектральних коефіцієнти, безпосередньо використовувати формулу (12) потрібно лише при . Для решти () слід скористатися періодичністю спектра дискретного сигналу (і, відповідно, періодичністю результатів ДПФ):
, .
З врахуванням цього при формула (12) набуває вигляду
Враховуючи, що одержують:
, (13)
Формули (12) та (13) представляють базову операцію ШПФ, яка отримала назву “метелик” (англійський термін – butterfly). Схематичне зображення метелика подано на рис. 2. Тут кружок в центрі позначає операцію додавання/віднімання. Стрілка позначає операцію множення на . Жирні крапки позначають регістри, які містять вхідні і вихідні значення для окремих етапів ШПФ.
Рис. 2. Умовне позначення операції “метелик” ШПФ з проріджуванням в часі
Кожну з послідовностей розміром можна аналогічним чином представити через послідовності розміром і т. д. поки не залишаться тільки 2-точкові послідовності.
Особливістю алгоритмів ШПФ є необхідність перестановки вхідних або вихідних значень. Елементи вхідної послідовності для алгоритму з проріджуванням в часі повинні бути розташовані в пам’яті в біт-реверсивному порядку. Біт-реверсивний порядок задається шляхом дзеркального відображення двійкових розрядів номерів відліків вхідної послідовності (табл. 2).
Таблиця 2
Біт-реверсивний порядок для ШПФ з N=8
Номер відліку
Двійковий номер
Біт-реверсування
Біт-реверсний номер
0
000
000
0
1
001
100
4
2
010
010
2
3
011
110
6
4
100
001
1
5
101
101
5
6
110
011
3
7
111
111
7
На всіх етапах виконання ШПФ використовуються коефіцієнти , , які переважно обчислюються до виконання ШПФ і зберігаються в пам’яті.
Рис .3. Блок-схема алгоритму ШПФ з проріджуванням в часі для
ШПФ з проріджуванням за частотою
Розділимо довжиною вибірок на дві -точкові послідовності, які йдуть одна за одною:
.
З другої суми можна виділити множник
.
Цей множник дорівнює 1 або -1 залежно від парності номера обчислюваного спектрального відліку k, тому надалі розглядаються парні і непарні k окремо. Після виділення множника ±1 комплексні коефіцієнти в обох сумах стають однаковими, тому виносимо їх за дужки, об’єднуючи обидві суми
Наведені суми представляють собою ДПФ суми і різниці половин вихідної послідовності, при цьому різниця перед обчисленням ДПФ множиться на комплексний коефіцієнт . Кожне з двох ДПФ має розмірність .
Отже, при проріджуванні за частотою обчислення реалізуються так:
1. Із вихідної послідовності довжиною отримуються дві послідовності та довжиною N/2 згідно наступних формул:
,
2. ДПФ послідовності дає спектральні відліки з парними номерами, ДПФ послідовності - з непарними
,
.
Оскільки комплексний множник в даному алгоритмі застосовується до результату віднімання двох сигналів, метелик ШПФ з проріджуванням по частоті має таку структуру (рис. 4).
Рис. 4. Умовне позначення операції “метелик” ШПФ з проріджуванням за частотою
В розглянутому алгоритмі у біт-реверсивному порядку розташовується не вхідна, а вихідна послідовність, тобто спектральні коефіцієнти.
ОДПФ також можна проводити за алгоритмом ШПФ. При цьому необхідно застосовувати тільки комплексно-спряжені коефіцієнти , а одержаний результат згідно формули (2) потрібно помножити на .
Рис .5. Блок-схема алгоритму ШПФ з проріджуванням за частотою для
Оцінимо кількість операцій, необхідну для обчислення ШПФ. Кількість етапів ШПФ рівне , кількість операцій “метелик” на кожному етапі – . Оскільки при виконанні операції метелик відбувається множення комплексних чисел, що вимагає 4 множень, то загальна кількість операцій . Відповідно обчислювальні затрати ШПФ у порівнянні з безпосереднім використанням формули (11) зменшуються у . При великих це відношення стає досить великим (наприклад, при досягається більше ніж 100-кратне прискорення).
ФОРМУВАННЯ DTMF-СИГНАЛІВ
Багато пристроїв телефонного зв’язку, типу програми автонабору номеру, телефонних допоміжних клавіатур і систем захисту потребують формування сигналів DTMF для набору і передачі даних. Телефонна допоміжна клавіатура в стандарті DTMF представляється матрицею, яка складається з 4 рядків і 3 стовпців з загальною кількістю 12 клавіш. Кожний рядок і стовпець представляються своєю частотою, отже, кожна клавіша представляється сумою частот рядка і стовпця згідно табл.3.
Таблица 3
Частота, Гц
1209
1336
1477
697
1
2
3
770
4
5
6
852
7
8
9
941
*
0
#
Наприклад: клавіша ‘1’ представляється одночасно двома тонами 697 і 1209 Гц.
ЗАВДАННЯ
Ознайомитись з теоретичним матеріалом.
Навести аналітичний вираз та обчислити спектральні коефіцієнти періодичного сигналу, одержаного шляхом двонапівперіодного випрямлення гармонічного коливання, із параметрами в табл. 5. Добрати параметри ДПФ для спектрального аналізу періодичного сигналу, щоб забезпечити вимоги в табл. 5. Показати графіки часової функції сигналу і його спектра.
Таблиця 5
№п/п
Амплітуда Am, В
Період коливання T0, с
Кількість спектральних коефіцієнтів
Роздільча здатність по частоті ΔF, Гц
1
2
0,1
6
2
2
5
0,2
7
1
3
3
0,3
8
1/3
4
7
0,4
9
1/4
5
1
0,5
10
0,2
6
2
0,6
6
1/6
7
5
0,7
7
1/7
8
3
0,8
8
0,125
9
7
0,9
9
1/9
10
1
1,0
10
0,1
11
2
1,1
6
1/11
12
5
1,2
7
1/12
13
3
1,3
8
1/26
14
7
1,4
9
1/28
15
1
1,5
10
1/15
16
2
1,6
6
1/16
17
5
1,7
7
1/34
18
3
1,8
8
1/18
19
7
1,9
9
1/19
20
1
2,0
10
0,01
Навести аналітичний вираз спектральної густини експоненціального імпульсу s(t)=Am×exp(-|a×t|), параметри якого наведено в табл. 6. Добрати параметри ДПФ для спектрального аналізу імпульсного сигналу, щоб забезпечити вимоги в табл. 2. Показати графіки часової функції сигналу і його спектра.
Таблиця 6
№п/п
Амплітуда Am, В
Стала згасання a, с-1
Частотний інтервал, Гц
Роздільча здатність по частоті ΔF, Гц
1
2
0,1
0,3
0,01
2
5
0,2
0,5
0,01
3
3
0,3
0,5
0,02
4
7
0,4
1,0
0,02
5
1
0,5
1,0
0,05
6
2
0,6
1,5
0,05
7
5
0,7
1,5
0,1
8
3
0,8
2
0,1
9
7
0,9
2
0,125
10
1
1,0
2,5
0,125
11
2
1,1
3
0,15
12
5
1,2
3
0,15
13
3
1,5
4
0,2
14
7
2,0
4
0,2
15
1
2,5
5
0,25
16
2
3,0
5
0,3
17
5
4,0
7
0,3
18
3
5,0
7
0,35
19
7
7,0
10
0,4
20
1
10
10
0,5
Навести аналітичний вираз, що описує спектр дискретних сигналів. Добрати параметри ДПФ для спектрального аналізу дискретизованого трикутного вікна, щоб забезпечити вимоги в табл. 7. Показати графіки часової функції сигналу і його спектра.
Таблиця 7
№п/п
Амплітуда, В
Тривалість імпульсу, с
Кількість спектральних пелюсток
Роздільча здатність по частоті ΔF, Гц
1
2
0,1
3
2
2
5
0,2
2
1
3
3
0,3
2
1/3
4
7
0,4
3
1/4
5
1
0,5
3
0,2
6
2
0,6
2
1/6
7
5
0,7
2
1/7
8
3
0,8
3
0,125
9
7
0,9
3
1/9
10
1
1,0
2
0,1
11
2
1,1
2
1/11
12
5
1,2
3
1/12
13
3
1,3
3
1/26
14
7
1,4
2
1/28
15
1
1,5
2
1/15
16
2
1,6
3
1/16
17
5
1,7
3
1/34
18
3
1,8
2
1/18
19
7
1,9
2
1/19
20
1
2,0
3
0,01
Написати програму в середовищі MatLab, яка б реалізувала вказаний алгоритм ШПФ, побудувати графіки спектру заданого сигналу без та із накладанням заданого часового вікна. Сигнал представляє собою N вибірок дискретизованого з частотою 8 кГц коду клавіші в стандарті DTFM і зберігається у файлі Lab_1_варіант у змінній Signal (див.табл.8). На підставі аналізу спектру визначити код натиснутої клавіші.
Таблиця 8
№п/п
Алгоритм ШПФ
Вікно
Сигнал
Назва файлу
1
Проріджування в часі
Трикутне
N = 256
Lab_1_1.mat
2
Проріджування за частотою
Бартлета
N = 512
Lab_1_2.mat
3
Проріджування в часі
Ханна
N = 1024
Lab_1_3.mat
4
Проріджування за частотою
Хемінга
N = 2048
Lab_1_4.mat
5
Проріджування в часі
Блекмана
N = 256
Lab_1_5.mat
6
Проріджування за частотою
Трикутне
N = 512
Lab_1_6.mat
7
Проріджування в часі
Бартлета
N = 1024
Lab_1_7.mat
8
Проріджування за частотою
Ханна
N = 2048
Lab_1_8.mat
9
Проріджування в часі
Хемінга
N = 256
Lab_1_9.mat
10
Проріджування за частотою
Блекмана
N = 512
Lab_1_10.mat
11
Проріджування в часі
Трикутне
N = 1024
Lab_1_11.mat
12
Проріджування за частотою
Бартлета
N = 2048
Lab_1_12.mat
13
Проріджування в часі
Ханна
N = 256
Lab_1_13.mat
14
Проріджування за частотою
Хемінга
N = 512
Lab_1_14.mat
15
Проріджування в часі
Блекмана
N = 1024
Lab_1_15.mat
16
Проріджування за частотою
Трикутне
N = 2048
Lab_1_16.mat
17
Проріджування в часі
Бартлета
N = 256
Lab_1_17.mat
18
Проріджування за частотою
Ханна
N = 512
Lab_1_18.mat
19
Проріджування в часі
Хемінга
N = 1024
Lab_1_19.mat
20
Проріджування за частотою
Блекмана
N = 2048
Lab_1_20.mat
ЗМІСТ ЗВІТУ
Мета роботи.
Повний текст завдання.
Лістинг програми, код натисненої клавіші, спектри сигналу до і після накладання вікна.
Аналіз результатів досліджень.
Висновки.
КОНТРОЛЬНІ ЗАПИТАННЯ
Яка головна ідея швидких алгоритмів ШПФ і який виграш при цьому досягається ?
Наведіть блок схему алгоритму ШПФ з проріджуванням в часі ?
Наведіть блок схему алгоритму ШПФ з проріджуванням по частоті ?
З чим пов’язане явище розтікання спектру ?
Які ви знаєте вагові функції і для чого вони використовуються ?
СПИСОК ЛІТЕРАТУРИ
1. Шрюфер Э. Обработка сигналов: цифровая обработка дискретизированных сигналов. – К.: Либідь, 1995. – 320 с.
2. Сергиенко А. Б. Цифровая обработка сигналов. – СПб.: Питер, 2002. – 608 с.
3. Рудаков П.И., Сафонов В.И. Обработка сигналов и изображений. MATLAB 5x. / Под общ. Ред. В.Г. Потемкина. М.: ДИАЛОГ-МИФИ, 2000. 416 с.