МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
ЗВІТ
до лабораторної роботи №4
з дисципліни: «Цифрова обробка сигналів»
на тему:
«АНАЛІЗ КОРЕЛЯЦІЙНИХ ХАРАКТЕРИСТИК СИГНАЛІВ»
Мета роботи: Знайти автокореляційну та взаємокореляційну характеристику сигналів та дослідити їхні властивості.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Кореляційний аналіз сигналів є однією з найважливіших операцій ЦОС. Він застосовується в таких методах обробки сигналів, як виявлення скритих періодичностей, визначення віддалі до об’єкту локації (може бути радіолокація і ехолокація), визначення швидкості рухомого об’єкту, згладжування шумів, тощо.
Коефіцієнт кореляції засвідчує міру подібності, міру взаємної залежності між сигналами і .
Для , маємо .
При цьому вважають: якщо велике, то між і є кореляція.
Для маємо .
При цьому вважають: якщо r велике по модулю, але від’ємне, то між і є кореляція, що розвивається в протилежному напрямку.
Якщо і , або хоча б одне з них є реалізаціями випадкового процесу з рівномірним розподілом на інтервалі : , при чому імовірність того, що чи набуде якогось значення є однакова, то маємо . При цьому вважають якщо r прямує до нуля, то процеси некорельовані, якщо ж , то ці два процеси корелюються і між ними існує зв’язок.
Автокореляційною функцією (АКФ) називають скалярний добуток сигналу та його копії (здебільшого затриманої в часі). Для неперіодичних сигналів АКФ обчислюють за виразами, (1) для аналогового і (2) для цифрового представлення
, (1) . (2)
де x - досліджуваний сигнал.
Автокореляційна функція застосовується для визначення часової затримки при проходженні сигналів крізь досліджувану систему.
Взаємокореляційною функцією (ВКФ) називають скалярний добуток двох сигналів. Для неперіодичних сигналів ВКФ обчислюють за виразами, (3) для аналогового і (4) для цифрового представлення. Взаємокореляційна функція застосовується для визначення подібності сигналів та розміщення їх на осі часу.
, (3) ,(4)
де x, y - досліджувані сигнали.
1. Завдання.
Сигнали задано наступним чином:
20
2. Аналітичне представлення сигналів.
Для сигналу X.
Виходячи із заданого графіка, сигнал описується фінітною функцією, тривалістю 16с. Перші 8с. амплітуда змінюється лінійно від 0 до 16. Наступні 8с. сигнал має сталу амплітуду 16 од, тобто функція, що його описує відповідає рівнянню . Для знаходження коефіцієнтів слід розв’язати систему:
.
Отримуємо: ; ; ;
Тобто рівняння прямої для заданого часового проміжку становить:
.
Отже, аналітичний опис заданого графіком сигналу буде:
Для сигналу Y.
Виходячи із заданого графіка, сигнал описується лінійною функцією, тривалістю 4с. Перші 2с. сигнал має сталу амплітуду 0 од. Наступні 5с. – сигнал також має сталу амплітуду 0 од., тобто функція, що його описує відповідає рівнянню . Для знаходження коефіцієнтів слід розв’язати систему:
.
Тобто рівняння прямої для заданого часового проміжку становить:
.
Отже, аналітичний опис заданого графіком сигналу буде:
.
3. Текст програми для виконання в SCILAB.
clc
//очистка екрану
clear
//очистка пам’яті
close;close;close;close
//закриття всіх графічних вікон
m=10;N=2^m;
//кількість точок
T1=16;
//інтервал дослідження першої функції
dt1=T1/N;
//крок дискретизації першої функції
t1=-8:dt1:T1/2-dt1;
//вектор часу для першої функції
t11=[t1(1:N/2)];
//вектор першої частини часу для першої функції
t12=[t1(N/2+1:N)];
//вектор другої частини часу для першої функції
x11=2*t11+16;
//обрахунок першої частини значень першої функції
x12=16*ones(N/2+1:N);
//обрахунок другої частини значень першої функції
x=[x11 x12];
//обчислення першої функції
T2=4;
//інтервал дослідження другої функції
dt2=T2/N;
//крок дискретизації другої функції
t21=0:dt2:2-dt2;
//вектор першої частини часу для другої функції
t22=2:dt2:4-dt2;
//вектор другої частини часу для другої функції
t2=[t21 t22]
//вектор часу для другої функції
y21=1+0*t11+0.000001;
//обрахунок першої частини значень другої функції
y22=3+0*t12+0.000001;
//обрахунок другої частини значень другої функції
y=[y21 y22];
//обчислення другої функції
figure(1,'BackgroundColor',[1,1,1]);
//вивід функцій на спільному графіку
plot2d2(t1,x,5,);
plot2d2(t2,y,3)
legend('Вхідний сигнал - x(n)','Вхідний сигнал - y(n)')
title('Вхідні сигнали')
Bxx=(1/N)*xcorr(x,x);
//знаходження автокореляційної функції першого сигналу
figure(2,'BackgroundColor',[1,1,1]);
//вивід автокореляційної функції першого сигналу на графіку
plot(Bxx);
title('Автокореляційна функція сигналу X')
Byy=(1/N)*xcorr(y,y);
//знаходження автокореляційної функції другого сигналу
figure(3,'BackgroundColor',[1,1,1]);
//вивід автокореляційної функції другого сигналу на графіку
plot(Byy);
title('Автокореляційна функція сигналу Y')
Bxy=(1/(2*N))*xcorr(x,y);
//знаходження взаємокореляційної функції
figure(4,'BackgroundColor',[1,1,1]);
//вивід взаємокореляційної функції двох сигналів на графіку
plot(Bxy);
title('Взаємокореляційна функція сигналів X та Y')
4. Графіки вхідних сигналів на спільній часовій осі.
/
5. Графіки автокореляційних функцій для кожного із заданих сигналів.
/
/
6. Графік взаємокореліційної функції заданих сигналів.
/
7. Висновки.
З графіка взаємокореляційної функції видно, що вона досягає максимуму в момент часу n=1000. Тому можна стверджувати, що вхідні функції є найбільш корельовані саме в цій точці. Також з форми взаємокореляційної функції видно, що коли один з вхідних сигналів рівний нулю, вона також рівна нулю.