Перейти к содержанию
    

Предлагаю разовую работу по цифровой обработке сигнала (любой город)

Необходимо разработать алгоритм (или алгоритм и его реализацию на С) поиска начала принятого сигнала с ультразвукового датчика. Сигнал имеет известную (приблизительно) форму, но начало его первое (а иногда и второе) колебание находится в шумах.

 

Типичный вид сигнала (амплитуда, огибающая и положение в отснятых данных могут меняться):

signal.png

 

Дла разработанного алгоритма:

Входные данные: массив отснятых точек с АПЦ (до 120 точек на период) + известная частота сигнала

Выходные данные: время (точка в массиве) прихода сигнала.

 

Алгоритм должен быть реализуемым на МКCortex-M4F и использовать не более 32кБ ОЗУ (обсуждаемо).

Сразу хочу предупредить, что простое восстановление начала сигнала по простой аппроксимации (даже третьего порядка) огибающей нужного результата не дало. А обнаружение сигнала по порогу работать не будет. Здесь нужна именно математика.

 

Чтобы было понятно для чего это и как решал задачу другой разработчик, привожу ссылку на аналогичную конструкцию, там осциллограмм больше: http://www.dl1glh.de/ultrasonic-anemometer.html

 

Пример сигналов (excel) прикреплен к сообщению.

 

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

Контакты: +7-952-238-1745 (с 8:00 до 23:00) Руслан, Санкт-Петербург

[email protected]

6_________.rar

Изменено пользователем ruslannd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На выбор:

1. Согласованный фильтр.

2. Коррелятор.

Плюс пороговый обнаружитель по МП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда нужны критерии указанные в ТЗ по которым принимается решение та ли это точка найдена.

 

Есть массивы и известен расчетный момент прихода сигнала в массиве.

 

+ см. ссылку http://www.dl1glh.de/ultrasonic-anemometer.html

Изменено пользователем ruslannd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так может данные сюда и выложить?

 

Прикрепил к объявлению + добавил ссылку на аналогичную конструкцию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Алгоритм должен быть реализуемым на МКCortex-M4F и использовать не более 32кБ ОЗУ (обсуждаемо).

С какой асимптотической сложностью (N=120), или за какое время на частоте 160МГц?

 

+ известная частота сигнала

Частота чего? Если без занудства, модель сигнала такая?

f(t) = E(t)*sin(w*t+h) + noise(t)

Без модели понятие частоты лишено смысла.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С какой асимптотической сложностью (N=120), или за какое время на частоте 160МГц?

 

Частота чего? Если без занудства, модель сигнала такая?

f(t) = E(t)*sin(w*t+h) + noise(t)

Без модели понятие частоты лишено смысла.

 

Не понял первого вопроса. Если результат получить за 1млн тактов, то это будет здорово.

 

Почти. Модель сигнала такая:

 

usa-adaptiver-filter.gif

 

+ шум

 

Единственное, что огибающая сначала экспонента, потом почти линейная, а затем выгибается в обратную сторону.

Но место загиба огибающей нестабильное, на него ориентироваться нельзя. Анализ нужно проводить именно по нарастанию сигнала.

Изменено пользователем ruslannd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТОгда еще вопрос по модели сигнала.

Почему вы берете третий ноль, а не первый или второй. Если сделать фильтрацию первого графика, то вначале вполне себе синусоида w*t, и нет первого вступления.

Была мысль, что это пролезание несущей, и модель тогда:

(E(t)+a)*sin(w*t+h)

 

Есть данные где в первой части только шум, а потом начинается сигнал?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТОгда еще вопрос по модели сигнала.

Почему вы берете третий ноль, а не первый или второй. Если сделать фильтрацию первого графика, то вначале вполне себе синусоида w*t, и нет первого вступления.

Была мысль, что это пролезание несущей, и модель тогда:

(E(t)+a)*sin(w*t+h)

 

Есть данные где в первой части только шум, а потом начинается сигнал?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А запись с большим куском "шума" можно получить?

Если в вашем контексте, то чтобы перед первым вступлением гарантированно было 300 отсчетов помехи (5-7 периодов несущей без модуляции огибающей).

Порог выбирается исходя из мощности этого шума. Сейчас есть всего около 2-х периодов, доверительный интервал совсем большой.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А запись с большим куском "шума" можно получить?

Если в вашем контексте, то чтобы перед первым вступлением гарантированно было 300 отсчетов помехи (5-7 периодов несущей без модуляции огибающей).

Порог выбирается исходя из мощности этого шума. Сейчас есть всего около 2-х периодов, доверительный интервал совсем большой.

 

Можно. Думаю, что можно и 400.

Пишите на e-mail

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И почему было не измерять по 50% уровню огибающей? Задержка, она же и в каскадах приемника добавляется. И форма из-за приемника тоже, не?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И почему было не измерять по 50% уровню огибающей? Задержка, она же и в каскадах приемника добавляется. И форма из-за приемника тоже, не?

 

Потому что форма огибающей от температуры и других условий немного меняется и можно перескочить на следующий период. Проверено.

Ссылку на немецкую конструкцию я не просто так привел. Немецкий коллега столкнулся с теми же трудностями.

Изменено пользователем ruslannd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что форма огибающей от температуры и других условий немного меняется и можно перескочить на следующий период. Проверено.

Ссылку на немецкую конструкцию я не просто так привел. Немецкий коллега столкнулся с теми же трудностями.

Что за период? Следующий импульс, что ли? Огибающую можно ровненькую сотворить. Что-то там с преобразованием Гильберта, квадратурными сигналами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...