Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
коррелятор 2.doc
Скачиваний:
9
Добавлен:
17.11.2019
Размер:
192 Кб
Скачать

Xlabel('Время (с)');

ylabel('Y1(t)')

Результат представлен на 2-ом графике.

Теперь данный сигнал y1 мы посылаем на вход коррелятора:

Создаем задержку в дискретах(Создали цикл) и перемножаем

r = zeros(1,100);

for k = 1:100 %Задержка сигнала Nz=0:99

y = [y1(k:end) zeros(1,k-1)];

y = y.*y1;

r(k) = sum(y)/length(y1);

end

Создаем второй ФНЧкорр сотого порядка с частотой среза Wn=0,00001Гц и постоянной времени фильтра=100:

n = 100;%Постоянная времени фильтра ФНЧкорр(Апертура)=100дискрет

Wn = 0.00001;%частота среза

b = fir1(n,Wn);%Делаем КИХ фильтр(методом взвешивания)-Фильтр 100порядка

z=filter(b,1,r);

Создание ФНЧ1 и ФНЧкорр.

ФНЧ1- входит во формирование входного процесса.

ФНЧкорр-формирование обработки и после этого подается на отображение результата.

ф1- постоянная времени фильтра и она у меня 10дискрет. Время у меня дискретное i. Процесс у меня стационарный. ФНЧ делаем фиксированным.

Мы делаем задержку – у меня в варианте Nз=0-99 и загоняем в тело цикла. Далее мы каждое значение вводим в массив. И когда мы просканируем Nз=0-99, мы получили массив этих точек (ниже графика приведены значения). Потом отображаем это в виде графика.

Процесс на выходе с фнч1-медленный, случайный и его корр определяется ф=100 дискрет и параметрами ФНЧкорр.

На выходе с КОРРЕЛЯТОРА я строю Автокорреляционную функцию.

Чтобы снять АКФ нам нужно сделать линию задержки (описанную выше), сделать умножитель и поставить ФНЧ(квази-интегратор). ФНЧ мы делаем довольно длинным

его корр> ф. Например: ф1= 10, а корр=100.

Я взял в своей работе трансверсальный фильтр. Взял это окошко и менял от1 до 10.

Принцип работы Коррелятора.

Мы делаем в работе одноканальный коррелятор со сканированием. Мы сначала задали одно значение - и получили первое значение – потом сработал ФНЧ и запомнили результат. Сделали другую задержку - мы при этом довольно долго фильтруем и когда мы дошли до конца, у нас все отчеты набрались(мы их сделали последовательно во времени- и сделали цикл по этим задержкам). С выхода коррелятора мы получаем АКФ.

Форма графика АКФ у нас может быть и разной, но основной лепесток будет определяться апертурой этого ФНЧ.

Как мы получаем АКФ и что это такое:

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

А потом просто снимаем коэффициенты корреляции. И вот эта совокупность коэффициентов корреляции и есть АКФ(функция от времени задержки )

Техническое задание.

Смоделировать коррелятор цифровой последовательности.

Моделирование процессов и систем.

Математическое моделирование включает следующие этапы:

  • выбор расчетной схемы и определение необходимой детализации;

  • математическое описание (составление системы уравнений);

  • выбор метода решения;

  • приведение модели к виду, удобному для решения на ЭВМ;

  • составление программы для ЭВМ;

  • проведение расчетов (моделирование);

  • анализ полученных результатов;

  • оформление отчета (описание, схемы, рисунки, графики, формулы и т.д.)

Исходный код программы в MATLAB:

clc

clear

Ts=0.01; %Шаг во времени(дискрета врмени) 0.01

t=0:Ts:100; %Задание параметров длительностью=100с

x1=wgn(1,10001,3);%Создание ДБГШ {1строчка 10001столбцов 1-мощность}

%subplot(2,1,1) %Вывод ДБГШ

figure (1);

plot(t,x1),grid,set(gca,'FontName','Arial Cyr','FontSize',16)

title('Входной процесс-белый шум Гаусса (Ts=0.01)');