Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 21 / 2008-03-27-19-30-Ольга- работа2

.doc
Скачиваний:
38
Добавлен:
01.05.2014
Размер:
152.06 Кб
Скачать

Лабораторная работа № 2

Корреляционный метод измерения задержки сигнала

Корреляция (correlation), и ее частный случай для центрированных сигналов - ковариация - это мера похожести двух сигналов.

Корреляционная функция используется для определения времени прихода (задержки) сигнала. Поскольку максимальное сходство, а, следовательно, и максимальное скалярное произведение) будет в момент полного совпадения x(t) и его копии в y(t), по положению максимума корреляционной функции можно судить о времени прихода сигнала.

  1. Корреляция двух прямоугольных импульсов

figure(1);

x=ones(1,100);

y=zeros(1,1000);

y(1,301:400)=x;

subplot(1,2,1),plot(y);grid; title('y');

for i=1:900 % корреляция прямоугольных импульсов x и y

R(i)=x*(y(i:i+99))';

end;

subplot(1,2,2),plot(R); grid; title('Correlation');

2. Корреляция двух импульсов в форме трапеции

figure(8);

R1=R; % здесь использован треугольный импульс полученный в первой задаче

R1(251:350)=50; % создаем импульс трапеции

subplot(1,2,1),plot(R1); grid; axis([0 1000 -1 55]); title('R1');

Y=R1(201:400);

for i=1:800 % корреляция двух импульсов Y и R1

R4(i)=Y*(R1(i:i+199))';

end;

subplot(1,2,2), plot(R4); grid; title('Correlation');

3. Корреляция двух треугольных импульсов

z=zeros(1,1000);

z(251:450)=R(201:400); % здесь использован треугольный импульс полученный в первой % задаче

w=R(201:400);

figure(6);

subplot(1,2,1),plot(z);grid; title('z');

for i=1:800 % подсчитываем корреляцию треугольных импульсов w и z

R2(i)=w*(z(i:i+199))';

end;

subplot(1,2,2),plot(R2); grid;axis ([0 500 0 700000]); title('Correlation');

4. Корреляция синусоидальных импульсов

q=zeros(1,1000);

q(201:300)=sin(0:99);

figure(7);

subplot(1,2,1),plot(q); grid; axis([150 350 -1 1]); title('q');

q2=sin(0:99);

for i=1:900

R3(i)=q2*(q(i:i+99))'; % корреляция двух синусоидальных импульсов q и q2

end;

subplot(1,2,2), plot(R3); grid; axis([100 310 -60 60]); title('Correlation');

5. Корреляция двух прямоугольных импульсов с двумя

figure(2);

x=[ones(1,100) zeros(1,100) ones(1,100)];

y=zeros(1,1000);

y(301:600)=x;

subplot(1,2,1),plot(y); title('y');

for i=1:700

R(i)=x*(y(i:i+299))'; % корреляция x и y

end;

subplot(1,2,2), plot(R); grid; title('Correlation');

.

6. Корреляция двух шумовых сигналов

figure(4);

s=rand(1,200);

s1=s>0.75;

s2=(s1-0.5)*2;

y=zeros(1,1000);

y(301:500)=s2; % к сигналу y добавили шум

subplot(1,2,1), plot(y), grid; title('y');

for i=1:800

R(i)=s2*(y(i:i+199))'; % корелляция сигналов s2 и y

end; R(801:1000)=0;

subplot(1,2,2), plot(R), grid; title('Correlation');

7. Корреляция сигнала, состоящего из двух прямоугольных импульсов, с таким же сигналом на который наложен шум

figure(3);

x=ones(1,100);

x(40:60)=0; % два прямоуголных импульса - сигнал без шума

r=randn(1,1000);

r(301:400)=r(301:400)+x; % добавление шума к сигналу

subplot(1,2,1),plot(r); grid; title('r');

for i=1:900

R(i)=x*(r(i:i+99))'; % корелляция чистого сигнала с зашумленным

end;

subplot(1,2,2), plot(R); grid; title('Correlation');

8. Ковариация двух сигналов (корреляционная функция, вычисленная по центрированному значению сигнала).

figure(5);

x=ones(1,200);

x(120:160)=0; % сигнал из двух прямоугольных импульсов

s=rand(1,200);

s1=s>0.75;

s2=(s1-0.5)*2; % создание шумового сигнала

subplot(2,2,1) , plot(x) , grid; axis([0 200 -1 2]); title('x');

subplot(2,2,2), plot(s2+x), grid; title('s2+x'); % наложение шума на сигнал

y=zeros(1,1000);

y(301:500)=s2+x;

subplot(2,2,3) ,plot(y), grid; title('y');

for i=1:800

C(i)= (s2-mean(s2))* (y(i:i+199)-mean(y) )'; % ковариация двух сигналов s2 и y

end;

subplot(2,2,4),plot(C),grid; title('Covar');

Выводы:

В данных примерах(кроме двух последних) производится определение скалярного произведения сигнала с собственной копией, скользящей по аргументу, такую корреляционную функцию называют автокорреляционной, что позволяет оценить среднестатистическую зависимость текущих отсчетов сигнала от своих предыдущих и последующих значений (так называемый радиус корреляции значений сигнала), а также выявить в сигнале наличие периодически повторяющихся элементов. В последних двух примерах выявление сигнала из шума производится при помощи корреляционной и ковариационной функции, причем во втором случае максимум функции виден более отчетливо, т.к. корреляция считается по центрированным значениям сигнала.

- 8 -