Снижение вероятности ложной тревоги в измерительном узле системы гидроакустического мониторинга

Автор: Стародубцев П.А., Сторожок Е.А., Алифанов Р.Н.

Журнал: Журнал Сибирского федерального университета. Серия: Техника и технологии @technologies-sfu

Статья в выпуске: 5 т.13, 2020 года.

Бесплатный доступ

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

Еще

Измерительный узел, детерминированный сигнал, период нижней гармоники, вектор отсчетов сигнала, среднеквадратическое отклонение, аддитивная помеха

Короткий адрес: https://sciup.org/146281642

IDR: 146281642   |   DOI: 10.17516/1999-494X-0246

Текст научной статьи Снижение вероятности ложной тревоги в измерительном узле системы гидроакустического мониторинга

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

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

Основная часть

Определение спектров сигналов

В соответствии с табл. 1 формируем вектора отсчетов времени и детерминированных сигналов. Ниже приведен фрагмент программы, вычисляющий вектор отсчетов детерминирован-– 569 – ного сигнала Y0b. Максимальное значение отсчета времени равно периоду нижней гармоники из табл. 1. Частота нижней гармоники (сигнал № 3) равна 2 Гц, а период соответственно 0.5 с. Частота дискретизации равна 4000 Гц.

t = 0:1/4000:0.5; % Формируем вектор времени с шагом 1/4000 с

Y0b = 5*cos(2*pi*10*t).*cos(2*pi*38*t)*0.2.*cos(2*pi*59*t); % Вектор сигнала

К полученному сигналу аддитивно добавим шум с амплитудой 2.5.

noise = 0.5*rand(1,length(t))-0.25; % Создаем шум с амплитудой 2.5

Y0b = Y0b+noise; % К сигналу аддитивно добавляем шум

Определим спектр сигнала, используя функцию расчета прямого быстрого преобразования Фурье:

Y0b = fft(Y0b,4000); % Находим БПФ сигнала

Y0b = Y0b.*conj(Y0b)/4000; % Находим модуль БПФ f = (0:1999); % Формируем вектор частоты с шагом 1 Гц

Сравнение спектров сигналов в Simulink

Для того чтобы сопоставить каждое значение модуля БПФ сигнала соответствующему значению частоты, необходимо сохранить массив отсчетов в виде матрицы размеров 2 на N (где N - количество отсчетов сигнала). В первой строке данной матрицы должны находиться дискретные значения частоты, а во второй – отсчеты модуля БПФ сигнала. Эта операция позволит выполнить моделирование сигнала как функции частоты в Simulink.

Y0b = [f; Y0b]; % Находим матрицу,

% состоящую из значений частоты и отсчетов save 'Y0b' Y0b % сохраняем найденную матрицу в файле simulink % Запускаем Simulink

Аналогично получаем матрицы размеров 2 на N для всех сигналов из табл. 1. Весь массив матриц Yib является содержимым базы данных шумовых портретов целей. Затем получаем матрицы размеров 2 на N зашумленных сигналов из табл. 1 повторно и формируется массив Yj. Каждая матрица из массива Yj сравнивается в Simulink с каждой матрицей из массива Yib путем вычисления среднеквадратического отклонения (рис. 1).

Результат моделирования работы блока первичной классификации приведен в табл. 2. Курсивом выделены минимальные отклонения принятого сигнала от эталонного.

Анализ данных табл. 2 показывает, что из 10 опытов пять дали неверный результат, т. е. вероятность ошибки идентификации равна 50 %. Для снижения вероятности ошибки необходима фильтрация сигнала.

Фильтрация сигнала

Выполняем аппроксимацию фильтра, используя программу Sptool. На рис. 2 показано окно этой программы с результатом аппроксимации рекурсивного фильтра десятого порядка, частота дискретизации (Fs) равна 4000 Гц, частота среза Fstop - 200 Гц.

Таблица 1. Детерминированные сигналы

Table 1. Deterministic signals

№№ п/п

Детерминированные сигналы

00

5*cos(2*pi*10*t)*cos(2*pi*38*t)*0.2*cos(2*pi*59*t)

11

sin(2*pi*5*t)

22

cos(2*pi*3*t)

33

sin(2*pi*2*t)* sin(2*pi*20*t)

44

sin(2*pi*4*t)* sin(2*pi*40*t)

55

cos(2*pi*6*t)* cos(2*pi*30*t)

66

cos(2*pi*7*t)* cos(2*pi*28*t)

77

sin(2*pi*5*t)* sin(2*pi*15*t)* sin(2*pi*30*t)

88

sin(2*pi*4*t)* cos(2*pi*24*t)* sin(2*pi*40*t)

99

cos(2*pi*3*t)*sin(2*pi*21*t)* sin(2*pi*63*t)

YO.mal

From File

YOb.mat

From File I

К Ts

Z-l

Discrete -Time Integrator

Display

Рис. 1. Сравнение матриц отсчетов зашумленных сигналов в Simulink

Fig. 1. Comparison of matrixes of samples of noisy signals in Simulink

Таблица 2. Результаты моделирования (шум с амплитудой 2.5). Сравнение спектров сигналов

Table 2. Simulation results (noise with an amplitude of 2.5). Comparison of signal spectra

Yib

Yj

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

Y9

Y0b

-2.718

112.9

88.22

22.82

60.00

52.43

48.77

0.91

12.48

6.33

Y1b

-6.4

-0.19

-29.52

-96.36

-56.45

-60.04

-61.35

-124.7

-109.4

-120.3

Y2b

-84.72

36.55

8.23

-61.70

7.10

-42.38

-40.99

-81.69

-71.57

-102.1

Y3b

-27.41

93.18

63.31

-31.37

42.28

28.76

19.57

-20.71

-13.42

-31.34

Y4b

-57.67

64.82

32.28

-41.03

23.08

-7.65

-11.4

-60.52

4.92

-64.71

Y5b

-56.31

54.39

43.80

-3.21

7.59

-5.41

-5.27

-53.51

-49.78

-57.78

Y6b

-47.61

58.98

47.73

-21.54

12.90

3.74

0.93

-49.64

-40.27

-55.17

Y7b

-7.761

117.8

82.95

12.36

60.42

44.10

44.11

-9.22

1.63

-14.88

Y8b

-10.54

110.3

77.06

15.08

63.07

50.92

43.97

-6.41

-52.85

-15.88

Y9b

5.44

116.8

105.57

27.33

65.33

54.65

56.09

6.78

16.05

-0.658

Для экспорта значений коэффициентов фильтра необходимо последовательно выбрать пункты меню (рис. 3):

Edit → Convert to Single Section, Targets → Generate C Header…

Рис. 2. Окно программы Sptool

Fig. 2. Sptool program window

Я Generate C Header

x

Vanat* name* n C header lie

Numerator ним

Denominator oen

Numerator length ml

Denomr-ator length dl

Data type to use in exsert

i) Export suggested

Double-precison ttoatmg-pont

[ owMel Oose Help

Рис. 3. Экспорт коэффициентов фильтра из программы Sptool

Fig. 3. Export filter coefficients from Sptool

Ниже приведены значения коэффициентов фильтра, экспортируемые из программы Sptool:

const int NL = 11;

const real64_T NUM[11] = {

0.0001230718046239,-0.0008771702296175, 0.002950005213996,-0.006248560520599, 0.009408767977326, -0.01071197455114, 0.009408767977326,-0.006248560520599, 0.002950005213996,-0.0008771702296175, 0.0001230718046239

};

const int DL = 11;

const real64_T DEN[11] = {

1, -8.567068149648, 33.11918306054, -76.07169564102, 114.952828427, -119.396787241, 86.31583589917, -42.88219550398, 14.01005883948, -2.71788355467, 0.2377241181237

};

Выполним фильтрацию сигналов в Simulink и сформируем массивы матриц размеров 2 на N Yibf и Yjf (рис. 4).

Ниже приведен исходный код программы цифрового фильтра на языке программирования С. Фильтр реализован на микроконтроллере dsPIC33FJ32MC204. Входные отсчеты x[0] предварительно сохраняются в буферном ЗУ АЦП в регистре ADC1BUF0.

/*Цифровой ФНЧ: рекурсивный, порядок 10, аппроксимация Чебышева II, частота дискретизации 4000 Гц, частота среза 200 Гц*/

//Подключение заголовочных файлов

#include

#include

#include

#include “signal.h”

#include

#include

//Настройка системы тактирования

_FOSCSEL(0x02);//Главный генератор без PLL

_FOSC(0xE2);//Режим HS int r;

Рис. 4. Фильтрация сигнала в Simulink

Fig. 4. Signal filtering in Simulink

//Массивы коэффициентов фильтра

#define NCoef 10

float y[0];

float ACoef[NCoef+1] = {

0.0001230718046239,

-0.0008771702296175,

0.002950005213996,

-0.006248560520599,

0.009408767977326,

-0.01071197455114,

0.009408767977326,

-0.006248560520599,

0.002950005213996,

-0.0008771702296175,

0.0001230718046239

};

float BCoef[NCoef+1] = {

1, -8.567068149648,

33.11918306054,

-76.07169564102,

114.952828427,

-119.396787241,

86.31583589917,

-42.88219550398,

14.01005883948,

-2.71788355467,

0.2377241181237

};

//Функция вычисления очередного выходного отсчета y[0] float iir(ADC1BUF0) { static float y[NCoef+1]; //Выходные отсчеты static float x[NCoef+1]; //Входные отсчеты int n;

//Сдвиг предыдущих входных и выходных отсчетов for(n = NCoef; n>0; n--) {

x[n] = x[n-1];

y[n] = y[n-1];

}

//Вычисление очередного выходного отсчета

x[0] = ADC1BUF0;

y[0] = ACoef[0] * x[0];

for(n = 1; n< = NCoef; n++)

y[0] + = ACoef[n] * x[n] – BCoef[n] * y[n];

PORTB = y[0];

return y[0];

}

//Функция задержки void delay() { int counter = 0;

for (counter = 0; counter<2; counter++) {

;

}

}

//Главная функция void main(void)

{

//Инициализация портов

TRISA = 0x0000;

PORTA = 0x0000;

LATA = 0x0000;

TRISB = 0x0000;

PORTB = 0x0000;

LATB = 0x0000;

TRISC = 0x0000;

PORTC = 0x0000;

LATC = 0x0000;

//Конфигурирование АЦП

TRISC = 0x0001; //RC0-цифровой вход

TRISB = 0x0000; //portB на выход

ADPCFG = 0xFFBF; //RC0(AN6)- аналоговый вход

AD1CON1 = 0x0000;

AD1CHS0 = 0x0006; //Подключение AN6 к УВХ

AD1CSSL = 0;

AD1CON1bits.SAMP = 0; //Начало преобразования while (!AD1CON1bits.DONE); //Преобразование завершено?

PORTB = iir(ADC1BUF0);

} //

}

Результаты повторного сравнения уже отфильтрованных сигналов представлены в табл. 3. Анализ табл. 3 показывает, что из 10 опытов уже только три дали неверный результат, то есть вероятность ошибки идентификации равна 30 %.

Таблица 3. Результаты моделирования (шум с амплитудой 2.5). Сравнение спектров отфильтрованных сигналов

Table 3. Simulation results (noise with an amplitude of 2.5). Comparison of the spectra of the filtered signals

Yibf

Yjf

Y0f

Y1f

Y2f

Y3f

Y4f

Y5f

Y6f

Y7f

Y8f

Y9f

Y0bf

-2.718

112.9

88.22

22.82

60.00

52.43

48.77

-9.22

12.48

6.33

Y1bf

-6.4

-0.19

-29.52

-96.36

-56.45

-60.04

-61.35

-124.7

-109.4

-120.3

Y2bf

-84.72

36.55

8.23

-61.70

-23.08

-42.38

-40.99

-81.69

-71.57

-102.1

Y3bf

-27.41

93.18

63.31

-31.37

42.28

28.76

19.57

-20.71

-13.42

-31.34

Y4bf

-57.67

64.82

32.28

-41.03

7.10

-7.65

-11.4

-60.52

4.92

-64.71

Y5bf

-56.31

54.39

43.80

-3.21

7.59

-5.41

-5.27

-53.51

-49.78

-57.78

Y6bf

-47.61

58.98

47.73

-21.54

12.90

3.74

0.93

-49.64

-40.27

-55.17

Y7bf

-7.761

117.8

82.95

12.36

60.42

44.10

44.11

0.91

1.63

-14.88

Y8bf

-10.54

110.3

77.06

15.08

63.07

50.92

43.97

-6.41

-52.85

-15.88

Y9bf

5.44

116.8

105.57

27.33

65.33

54.65

56.09

6.78

16.05

-0.658

Заключение

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

Список литературы Снижение вероятности ложной тревоги в измерительном узле системы гидроакустического мониторинга

  • Сторожок Е.А. Подводная беспроводная локальная вычислительная сеть как элемент системы морского экологического мониторинга. Автоматизация, телемеханизация и связь в нефтяной промышленности, 2016, 8, 30-34
  • Сергиенко А.Б. Цифровая обработка сигналов. СПб.: Питер, 2002, 606 с.
  • Дьяконов В.П. MATLAB 6.0/6.1/6.5/6.5 + SP1 + Simulink 4/5. Обработка сигналов и изображений, М.: СОЛОН-Пресс, 2004, 592 с.
Статья научная