МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
ЗВІТ
до лабораторної роботи №3
з дисципліни: «Цифрова обробка сигналів»
на тему:
«ВИЗНАЧЕННЯ І ДОСЛІДЖЕННЯ
СПЕКТРАЛЬНИХ ХАРАКТЕРИСТИК СИГНАЛІВ»
Мета роботи: Визначити спектр заданого сигналу засобами системи SCILAB. Дослідити властивості сигналу, провівши фільтрацію в частотній області.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Для знаходження частотних характеристик сигналу в практиці ЦОС використовується Дискретне Перетворення Фур’є (ДПФ), а для відтворення сигналу за його спектром – Обернене Дискретне Перетворення Фур’є (ОДПФ).
Прямим та оберненим дискретним перетворенням Фур’є (ДПФ) називають пару взаємооднозначних лінійних перетворень виду (1), (2)
Пряме (ДПФ): (1)
Обернене (ОДПФ): (2)
де: , - послідовність відліків в часовій області;
, - дискретні коефіцієнти Фур’є - один період послідовності в частотній області;
- номер відліку послідовності , що відповідає частоті ;
, Т – тривалість сигналу;
- повертаючий множник , .
При цьому величина називається роздільною здатністю за частотою.
Пряме дискретне перетворення Фур’є (1) призначено для виконання Фур’є - аналізу, тобто визначає спектральні компоненти (складові) сигналу . Обернене перетворення Фур’є (2) забезпечує Фур’є - синтез сигналу за заданим набором спектральних компонент . У загальному випадку послідовності і - комплексні. Якщо ж - дійсна послідовність, то є комплексно спряженою: , . Для дійсних сигналів спектральні компоненти з номерами відповідають від’ємним частотам і не мають фізичного змісту.
Швидким перетворенням Фур’є (ШПФ) називають групу алгоритмів, що суттєво зменшують обчислювальні затрати при обчисленні прямого чи оберненого перетворень у порівнянні з безпосереднім способом, що ґрунтується на формулах (1) чи (2). Серед відомих алгоритмів ШПФ найпростішу структуру має алгоритм Кулі - Тьюкі за основою два (ШПФ2). Його основна ідея полягає в рекурсивному (при ) зведенні -точкових () перетворень до двох -точкових. При часовому проріджені з цією метою застосовується формула розкладу:
(3)
де , , . Якщо обчислюється - точкове перетворення комплексної послідовності, то кількість операцій комплексного множення і додавання в алгоритмі ШПФ рівні:, . У порівнянні з безпосереднім способом обчислення перетворень (1) чи (2), який потребує комплексних множень і комплексних додавань, обчислювальні затрати суттєво скорочуються - приблизно в раз (наприклад, при - в сотні раз).
Крім ноpмуючого постійного множника , в оберненому ДПФ маємо комплексно-спряжені повертаючі множники. Для розробки алгоритму швидкого оберненого ДПФ використовуємо рівність = , що отримується з (2) в результаті операції комплексного спряження. Інакше кажучи, для обчислення оберненого ДПФ послідовності за допомогою алгоритму прямого ШПФ достатньо: знайти комплексно спряжену послідовність ; обчислити її пряме ДПФ - ; виконати операції комплексного спряження і множення на нормуючий множник отриманої послідовності: * .
Фур’є- образ називають комплексним спектром або просто спектром дискретного сигналу.
Комплексну функцію можна виразити через її модуль і аргумент (як і довільне комплексне число): ,
де: називають амплітудним спектром
називають фазовим спектром.
Фільтрація сигналів. Математично процес фільтрації полягає у перетворенні спектру сигналу у відповідності з заданою функцією, що визначає спектральну характеристику фільтра. Залежно від призначення фільтру, а отже і загального виду його частотної характеристики, виділяють такі основні, найбільш розповсюджені, типи фільтрів частотної селекції (вибіркові фільтри):
НЧ- фільтри (low-pass filters) – фільтр низьких частот – пропускає всі частоти нижче заданої;
ВЧ- фільтри (high-pass filters) – фільтр високих частот пропускає всі частоти вище заданої;
смугові фільтри (band-pass filters) – пропускають лише визначену смугу частот;
режекторні фільтри (band-reject filters) – пригашають визначену смугу частот.
Апроксимація сигналів. Апроксимація передбачає наближення частотно-фільтрованого сигналу до оригіналу в часовій області, шляхом виконання оберненого перетворення Фур’є.
Теорема Парсеваля
Теорема встановлює зв’язок між енергією дискретного сигналу, обчисленою у часовій та у частотній областях:
,
де: - енергія сигналу, обчислена в часовій області
- енергія сигналу, обчислена в частотній області.
Тобто, якщо аналіз сигналу проводиться в частотній області, ця рівність дозволяє обчислити енергію сигналу безпосередньо за відліками ДПФ, не виконуючи ОДПФ.
1. Завдання (варіант - 20)
Рис.1 Результати виконання програми
2. Аналітичне представлення сигналу
Виходячи із заданого графіка, сигнал описується фінітною функцією, тривалістю 16с. Перші 8с. амплітуда змінюється лінійно від 0 до 16. Наступні 8с. сигнал має сталу амплітуду 16 од, тобто функція, що його описує відповідає рівнянню . Для знаходження коефіцієнтів слід розв’язати систему:
.
Отримуємо: ; ; ;
Тобто рівняння прямої для заданого часового проміжку становить:
.
Отже, аналітичний опис заданого графіком сигналу буде:
3. Текст програми
clc
//очистка екрану
clear
//очистка пам’яті
close, close
//закриття всіх графічних вікон
T=16;m=8;N=2^m;
//задання параметрів вхідного сигналу
p=N/4;k1=N/2-p; k2=N/2+p;
//визначенн параметрів фільтрації
dt=T/N;
//знаходження кроку дискретизації
t1=-8:dt:0-dt;
//задання першого часового проміжку сигналу
t2=0:dt:8-dt;
//задання другого часового проміжку сигналу
t=[t1,t2];
//об’єднання двох часових проміжків
x1=2*t1+16;
//опис першої частини сигналу
x2=16+0*t1+0.000001;
//опис другої частини сигналу
x=[x1,x2];
//об’єднання двох частин сигналу
dw=2*%pi/T;
//визначення роздільної здатності за частотою
w=1:1:N;
//знаходження вектора частот
Sx = fft(x)/(N);
//обрахунок спектральних коефіцієнтів за //алгоритмом ШПФ
figure(1,'BackgroundColor',[1,1,1]);
//відображення в першому графічному вікні вхідного //сигналу та дійсної і уявної частини його //частотного спектру
subplot(3,1,1), plot(t, x), title('Вхідний сигнал - x(n)','position',[T/2,max(x)/2]);
subplot(3,1,2), plot(w, real(Sx)), title('Дійсна частина ШПФ','position',[N/2,max(real(Sx))/2]);
subplot(3,1,3), plot(w, imag(Sx)), title('Уявна частина ШПФ','position',[N/2,max(imag(Sx))/2]);
Sx1 = [Sx(1 : k1) zeros(1, k2 - k1) Sx(k2 + 1 : N)];
//відкидання «p» високих частот спектру
Sx2 = [zeros(1, p) Sx(p+1 :N-p) zeros(1, p)];
//відкидання «p» низьких частот спектру
Sx3 = [Sx(1 : N/4-p/2),zeros(1, p),Sx( (N/4+p/2)+1:3*N/4-p/2), zeros(1, p), Sx(3*N/4+p/2+1:N)];
//відкидання «p» середніх частот спектру
Sx4 = [zeros(1, N/4-p/2),Sx((N/4-p/2)+1 :N/4+p/2), zeros(1, N/2-p), Sx(3*N/4-p/2+1:3*N/4+p/2),zeros(1,N/4-p/2)];
//відкидання «p» низьких і «p» високих частот //спектру
figure(2,'BackgroundColor',[1,1,1]);
//відображення в другому графічному вікні //немодифікованого та модифікованих амплітудних //спектрів
subplot(5,2,1),plot(w, abs(Sx)),title('Амплітудний спектр X(k)','position',[N/4,max(abs(Sx))/2]);;
subplot(5,2,3),plot(w, abs(Sx1)),title('Модифікований амплітудний спектр Xm1(k)','position',[N/20,max(abs(Sx1))/2]);
subplot(5,2,5),plot(w, abs(Sx2)),title('Модифікований амплітудний спектр Xm2(k)','position',[N/20,max(abs(Sx2))/2]);
subplot(5,2,7),plot(w, abs(Sx3)),title('Модифікований амплітудний спектр Xm3(k)','position',[N/20,max(abs(Sx3))/2]);
subplot(5,2,9),plot(w, abs(Sx4)),title('Модифікований амплітудний спектр Xm4(k)','position',[N/20,max(abs(Sx4))/2]);
x1= N*ifft(Sx);
//відтворення вхідного сигналу за його //немодифікаваним спектром, шляхом знаходження //оберненого перетворення Фур’є
xm1= N*ifft(Sx1);
//відтворення вхідного сигналу за його //модифікаваними спектрами
xm2= N*ifft(Sx2);
xm3= N*ifft(Sx3);
xm4= N*ifft(Sx4);
subplot(5, 2, 2), plot(t, x1), title('Відновлений сигнал x1(n)','position',[T/4,max(abs(x1))/2]);
//відображення в другому графічному вікні сигналів, //відтворених за різними спектрами
subplot(5, 2, 4), plot(t, real(xm1)), title('Відновлений сигнал xm1(n)','position',[T/4,max(abs(xm1))/2]);
subplot(5, 2, 6), plot(t, real(xm2)), title('Відновлений сигнал xm2(n)','position',[T/4,max(abs(xm2))/2]);
subplot(5, 2, 8), plot(t, real(xm3)), title('Відновлений сигнал xm3(n)','position',[T/4,max(abs(xm3))/2]);
subplot(5, 2, 10), plot(t, real(xm4)), title('Відновлений сигнал xm4(n)','position',[T/4,max(abs(xm4))/2]);
onePr=100/(N*max(abs(26),abs(-13)));
//обрахунок і відображення в консолі значення //похибок для різних типів проведеної фільтрації
bm1=onePr*(sum(abs(x-xm1)))
bm2=onePr*(sum(abs(x-xm2)))
bm3=onePr*(sum(abs(x-xm3)))
bm4=onePr*(sum(abs(x-xm4)))
disp(N,"N=")
disp(p,"p=")
disp(bm1,"bm1=")
disp(bm2,"bm2=")
disp(bm3,"bm3=")
disp(bm4,"bm4=")
4. Графіки вхідної послідовності для 256 точок та її частотного спектру
/
5,6. Графіки амплітудних спектрів та відновлених сигналів (для р =N/4)
/
7. Значення похибок відновлених сигналів (у відсотках)
N =256
ε (xm1), %
ε (xm2), %
ε (xm3), %
ε (xm4), %
p=N/4=64
0.4890633
46.088802
0.8718659
46.114655
p=N/8=32
0.3457828
46.09042
0.6163201
46.112209
p=N/16=16
0.2935188
46.082948
0.5175061
46.073435
p=N/32=8
0.2559342
46.052
0.4436924
46.045278
8. Висновки
В даній лабораторній роботі було отримано спектральну характеристику заданого фінітного сигналу. Це зроблено за допомогою системи SCILAB, а саме, шляхом використання вбудованої функцій fft(), яка дозволяє обчислювати швидке перетворення Фур’є N - точкової послідовності. Графік частотного складу сигналу приведено в п. 4.
Крім того, проводилась частотна фільтрація сигналу, тобто відкидання різних частин спектральних коефіцієнтів, а далі - відновлення сигналу за допомогою оберненого швидкого перетворення Фур’є.
Як показало дослідження, при відкиданні спектральних складових, що відповідають за високі частоти, відтворений сигнал спотворюється незначно, тоді як відкидання низькочастотної складової приводить до повної втрати початкового сигналу, за винятком точки перепаду амплітуди. Тому, для апроксимації заданого сигналу слід використовувати лише низькочастотну складову. Так, для апроксимації з середньою точністю 5% достатньо взяти першу чверть спектральних коефіцієнтів, а для апроксимації з середньою точністю 1% можна відкидати лише N/16 спектральних складових. Якщо ж основною задачею при дослідженні сигналу є виявлення різких перепадів амплітуди, то варто використовувати високочастотну частину спектру.