ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 (изменено) · Жалоба Необходимо разработать алгоритм (или алгоритм и его реализацию на С) поиска начала принятого сигнала с ультразвукового датчика. Сигнал имеет известную (приблизительно) форму, но начало его первое (а иногда и второе) колебание находится в шумах. Типичный вид сигнала (амплитуда, огибающая и положение в отснятых данных могут меняться): Дла разработанного алгоритма: Входные данные: массив отснятых точек с АПЦ (до 120 точек на период) + известная частота сигнала Выходные данные: время (точка в массиве) прихода сигнала. Алгоритм должен быть реализуемым на МКCortex-M4F и использовать не более 32кБ ОЗУ (обсуждаемо). Сразу хочу предупредить, что простое восстановление начала сигнала по простой аппроксимации (даже третьего порядка) огибающей нужного результата не дало. А обнаружение сигнала по порогу работать не будет. Здесь нужна именно математика. Чтобы было понятно для чего это и как решал задачу другой разработчик, привожу ссылку на аналогичную конструкцию, там осциллограмм больше: http://www.dl1glh.de/ultrasonic-anemometer.html Пример сигналов (excel) прикреплен к сообщению. Оплата по договоренности. Контакты: +7-952-238-1745 (с 8:00 до 23:00) Руслан, Санкт-Петербург [email protected] 6_________.rar Изменено 30 марта, 2017 пользователем ruslannd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба На выбор: 1. Согласованный фильтр. 2. Коррелятор. Плюс пороговый обнаружитель по МП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 25 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Сразу хочу предупредить, что простое восстановление начала сигнала по простой аппроксимации (даже третьего порядка) огибающей нужного результата не далоТогда нужны критерии указанные в ТЗ по которым принимается решение та ли это точка найдена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 (изменено) · Жалоба Тогда нужны критерии указанные в ТЗ по которым принимается решение та ли это точка найдена. Есть массивы и известен расчетный момент прихода сигнала в массиве. + см. ссылку http://www.dl1glh.de/ultrasonic-anemometer.html Изменено 30 марта, 2017 пользователем ruslannd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба так может данные сюда и выложить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба так может данные сюда и выложить? Прикрепил к объявлению + добавил ссылку на аналогичную конструкцию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Алгоритм должен быть реализуемым на МКCortex-M4F и использовать не более 32кБ ОЗУ (обсуждаемо). С какой асимптотической сложностью (N=120), или за какое время на частоте 160МГц? + известная частота сигнала Частота чего? Если без занудства, модель сигнала такая? f(t) = E(t)*sin(w*t+h) + noise(t) Без модели понятие частоты лишено смысла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 (изменено) · Жалоба С какой асимптотической сложностью (N=120), или за какое время на частоте 160МГц? Частота чего? Если без занудства, модель сигнала такая? f(t) = E(t)*sin(w*t+h) + noise(t) Без модели понятие частоты лишено смысла. Не понял первого вопроса. Если результат получить за 1млн тактов, то это будет здорово. Почти. Модель сигнала такая: + шум Единственное, что огибающая сначала экспонента, потом почти линейная, а затем выгибается в обратную сторону. Но место загиба огибающей нестабильное, на него ориентироваться нельзя. Анализ нужно проводить именно по нарастанию сигнала. Изменено 30 марта, 2017 пользователем ruslannd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба ТОгда еще вопрос по модели сигнала. Почему вы берете третий ноль, а не первый или второй. Если сделать фильтрацию первого графика, то вначале вполне себе синусоида w*t, и нет первого вступления. Была мысль, что это пролезание несущей, и модель тогда: (E(t)+a)*sin(w*t+h) Есть данные где в первой части только шум, а потом начинается сигнал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба ТОгда еще вопрос по модели сигнала. Почему вы берете третий ноль, а не первый или второй. Если сделать фильтрацию первого графика, то вначале вполне себе синусоида w*t, и нет первого вступления. Была мысль, что это пролезание несущей, и модель тогда: (E(t)+a)*sin(w*t+h) Есть данные где в первой части только шум, а потом начинается сигнал? В представленных данных сначала шум, в котором присутствует несущая частота (т.к. пьезик вещь резонансная). В этом и есть одна из проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Major 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба А запись с большим куском "шума" можно получить? Если в вашем контексте, то чтобы перед первым вступлением гарантированно было 300 отсчетов помехи (5-7 периодов несущей без модуляции огибающей). Порог выбирается исходя из мощности этого шума. Сейчас есть всего около 2-х периодов, доверительный интервал совсем большой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба А запись с большим куском "шума" можно получить? Если в вашем контексте, то чтобы перед первым вступлением гарантированно было 300 отсчетов помехи (5-7 периодов несущей без модуляции огибающей). Порог выбирается исходя из мощности этого шума. Сейчас есть всего около 2-х периодов, доверительный интервал совсем большой. Можно. Думаю, что можно и 400. Пишите на e-mail Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба И почему было не измерять по 50% уровню огибающей? Задержка, она же и в каскадах приемника добавляется. И форма из-за приемника тоже, не? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ruslannd 0 30 марта, 2017 Опубликовано 30 марта, 2017 (изменено) · Жалоба И почему было не измерять по 50% уровню огибающей? Задержка, она же и в каскадах приемника добавляется. И форма из-за приемника тоже, не? Потому что форма огибающей от температуры и других условий немного меняется и можно перескочить на следующий период. Проверено. Ссылку на немецкую конструкцию я не просто так привел. Немецкий коллега столкнулся с теми же трудностями. Изменено 30 марта, 2017 пользователем ruslannd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Потому что форма огибающей от температуры и других условий немного меняется и можно перескочить на следующий период. Проверено. Ссылку на немецкую конструкцию я не просто так привел. Немецкий коллега столкнулся с теми же трудностями. Что за период? Следующий импульс, что ли? Огибающую можно ровненькую сотворить. Что-то там с преобразованием Гильберта, квадратурными сигналами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться