ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
31951
=AlexD= (02.06.2005 15:32, просмотров: 33354)
Спецам в области обработки сигналов... требуется помощь. Попробую описать ситуацию, но по скольку я не спец в этом вопросе, прошу простить за "терминологию". Имеется устройство на MB90(16MGz) к которому подключено 4 датчика (не исключено, что в будущем их будет 8). Сигнал с них оцифровывается 12р АЦП с частотой 2000 Gz (по каждому каналу), и записывается в кольцевой буфер. По событиям из этого буфера "выдирается" осцилограмма и отправляется по сетке (CAN 1Mbit). Всё замечательно, но для анализа необходимо знать предысторию, причём на большом интервале времени (может месяц, может и больше). Передавать сырые данные нет никакой возможности, не хватит пропускной способности сети (блоков много), нет места на сервере для хранения этого хлама. Сигнал - медленно меняющийся, но с неожиданными всплесками и/или изменениями уровня. Вот эти всплески - самое интересное. Поэтому тупое усреднение не канает. Нужно выбрать точки перелома функции сигнала и передать только их, чтобы исходную форму можно было восстановить простой (или не простой :-) - обработка на PC) интерполяцией. Желательно, чтобы интервал между соседними точками был не меньше 5 mS, а вообще - чем больше, тем лучше. Погрешность порядка 5% вполне допустима. Но это ещё не всё, из-за плохих фильтров с некоторых датчиков иногда :-( идёт борода 50 Gz, которая никому не интересна, накладывающаяся на постоянную составлюющую, и её желательно отфильтровать (привести к среднему значению). Беда в том, что длительность всплеска может быть близка к пресловутым 20 mS. Как грамотно обнаружить эти "точки перелома"? В какую сторону копать, что почитать, чему научиться? Может есть готовые алгоритмы? Всё это необходимо делать в реальном времени, в темпе поступления данных. Алгоритмы, которые я испытывал в принципе работают, но не совсем меня устраивают. Хотелось бы подвести под это более твёрдую математическую базу :-).