|
Определение периода сложного сигнала |
|
|
|
Nov 27 2009, 18:24
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 27-11-09
Пользователь №: 53 910

|
Есть сигнал, принятый с платы АЦП (ЛА-н10м8PCI100Mhz) Необходимо определить его период. Подскажите пожалуйста алгоритмы, с помощью которых это можно было бы сделать. Пример сигнала:
 Уменьшено до 86%
1195 x 165 (129.87 килобайт)
|
|
|
|
|
|
Nov 27 2009, 19:07
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 27-11-09
Пользователь №: 53 910

|
Автокорреляция дает следующую картину:
 Уменьшено до 86%
1201 x 645 (391.94 килобайт)
|
И что теперь с ней делать?
|
|
|
|
|
Nov 27 2009, 19:49
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 27-11-09
Пользователь №: 53 910

|
Цитата(GetSmart @ Nov 28 2009, 00:19)  Расстояние между вершинами = период. Это конечно хорошо, вот только как определить это расстояние, я не знаю. Есть идея построить огибающую автрокорреляции, а затем проаппроксимировать ее синусоидой, а уже у синусоиды с известным аналитическим выражением легко определить период... Вот только как-то это все мне не очень нравится. Может есть другие варианты? Кстати, можете рассказать алгоритм построения огибающей и аппроксимации синусоидой? А то google что-то ничего толкового не находит...
|
|
|
|
|
Nov 28 2009, 09:07
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 27-11-09
Пользователь №: 53 910

|
А вот для этого сигнала(тот, что сверху), АКФ дает совершенно невразумительный результат(тот, что снизу). Как же быть? Ведь это сигнал с одного и того же датчика...
 Уменьшено до 86%
1193 x 858 (305.01 килобайт)
|
|
|
|
|
|
Nov 28 2009, 11:11
|

Частый гость
 
Группа: Свой
Сообщений: 191
Регистрация: 10-01-05
Из: San Francisco Bay, Silicon Valley
Пользователь №: 1 869

|
Цитата(Ctrl-Alt-De1 @ Nov 28 2009, 01:07)  Автокорреляция дает следующую картину:
 Уменьшено до 74%
1201 x 645 (391.94 килобайт)
|
И что теперь с ней делать? Теперь профильтровать, т.е. убрать высокие частоты. После этого решить, что требуется измерить - минимальный повтор в сигнале или кратные повторы тоже. На картинке автокорреляции первая группа максимумов соответствует минимальному периоду, вторая группа - двойному периоду. P.S. Судя по картинке исходного сигнала, здесь мы имеем дело с акустическим устройством, например пьезокерамическим приёмником. Причём характерный резонанс составляет около 10 отсчётов АЦП. После вычисления автокорреляции период основной (резонансной) частоты колебаний удваивается и становится равным примерно 5 отсчётам. Значит достаточно ВЧ фильтра, убирающего колебания на графике автокорреляции с периодом помехи большим, чем примерно 5 отсчётов АЦП. P.P.S. Для работы с источниками сигнала, имеющими достаточно выраженный резонансный характер, хорошо подходит технология Гильберт-преобразования с центральной частотой, равной резонансной частоте. После этого из двух квадратур вычисляется модуль вектора (алгоритм CORDIC), т.е. огибающая сигнала. Огибающая сигнала, найденная по такой схеме, будет гладкой функцией без паразитных колебаний. Её автокорреляционная функция тоже будет гладкой.
Сообщение отредактировал serebr - Nov 28 2009, 11:26
|
|
|
|
|
Nov 28 2009, 18:39
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 27-11-09
Пользователь №: 53 910

|
Файл бинарный, содержит двухбайтовые целые с прямым порядком байт. Это только малая часть файла, весь слишком долго загружать (~50Мб), но думаю этого достаточно для примера Signal.dat
|
|
|
|
|
Nov 28 2009, 19:03
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 27-11-09
Пользователь №: 53 910

|
На первой картинке просто амплитуда сигнала не превысила 127. Но, видимо так происходит не всегда  . сам только сейчас заметил. АЦП то 8-ми разрядный, отсюда и ограничение...
|
|
|
|
|
Nov 29 2009, 03:30
|

Частый гость
 
Группа: Свой
Сообщений: 191
Регистрация: 10-01-05
Из: San Francisco Bay, Silicon Valley
Пользователь №: 1 869

|
Результат обработки приведен на картинке. Первый график - исходный сигнал. Второй - исходный + квадратура после преобразования Гильберта Третий - модуль вектора (огибающая сигнала) Четвёртый - автокорреляция Красными прямоугольниками показаны области ограничения исходного сигнала и соответствующие им погрешности в работе алгоритма (паразитные колебания огибающей). P.S. Дополнительной фильтрации по высоким частотам не потребовалось.
 Уменьшено до 83%
988 x 1480 (687.35 килобайт)
|
Сообщение отредактировал serebr - Nov 29 2009, 04:21
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|