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

lire

Участник
  • Постов

    5
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Спасибо за ответы! Извиняюсь, что ввел в заблуждение: оказалось, на картинке приведены данные после ФНЧ, на самом деле дребезг с большой амплитудой - это единичные точки-выбросы, их можно просто отбрасывать. Используются дешевые датчики в не совсем пригодных для их функционирования условиях, поэтому периодически некоторые начинают дребезжать. Интересует в основном возможность фильтрации небольших локальных отклонений, их можно увидеть на картинке, но они не так бросаются в глаза :) Значения с датчиков имеют ценность, по 4м значениям рассчитывается состояние системы, поэтому небольшое, но правдоподобное отклонение одного датчика даст погрешность в его текущей оценке. По-видимому, нужно что-то похожее на предложение amaora, но не с переменными весами (на выходе фильтра не один сигнал, а все 4), а с какой-то дифференциальной поправкой к частоте среза. Если все сигналы меняются, то и этому нужно разрешить изменяться, а иначе нужно резать частоту глубже, чтобы держал предыдущий тренд до окончания выброса.
  2. Добрый день, имеется 4 одинаковых датчика, которые меряют одну и ту же величину в разных точках системы. Они работают не очень стабильно, часто на одном из них встречаются выбросы, в то время как основная задача их работы - определение отклонения системы от стабильного состояния. Гарантируется, что при отклонении сигналы со всех 4 датчиков должны изменяться. Если фильтровать данные с каждого датчика отдельно, например, фильтром Баттерворта , то фильтруются хорошо только большие по амплитуде и короткие по времени броски, а иногда нужна большая точность и устойчивость фильтра. В связи с этим хотелось бы использовать корреляцию между сигналами датчиков, пожалуйста подскажите возможный вариант организации такой фильтрации. Пример данных с датчиков приведен на вложенном рисунке, на нем хорошо видны как интервалы, где есть значимый сигнал (небольшие скореллированные отклонения), так и многочисленные высокоамплитудные выбросы.
  3. По радиосвязи приходят прямоугольные импульсы, обычно шириной 25 мс (5 В). Иногда приходят импульсы сильно длиннее, тогда нужно замыкать ключ на оптроне на 50 мс. Понятно, что проще всего задачку решить на готовой микроконтроллерной плате или хотя бы на счетчике+компараторе, но первый вариант слишком тяжелый (да-да, 40 грамм - это много в данной задаче), а второй вариант уже не сильно легче микроконтроллера. Поэтому хочется как-то попробовать решить чисто аналоговым методом с минимумом элементов. Первое, что приходит в голову - обычная RC-цепь, но не совсем понятно, как ставить порог, и как продержать ключ замкнутым 50 мс после длинного сигнала. Буду рад любым предложениям.
  4. bahurin, вы правильно поняли задачу, только на рисунке изображены оптические спектры - в контексте данной задачи лучше называть их "сигналы", чтобы избежать путаницы со спектрами - изображениями сигналов в частотной области. По вашему совету, я заменил комплексное деление их спектров (FFT) на вещественное деление модулей, однако из-за того, что модули тоже были очень близкими, результат по-прежнему больше всего похож на шум. Чтобы было понятно, о чем речь, я привел амплитуды FFT-образов обоих сигналов на картинке FFT.png, а на картинке FFT-div.png неприглядный результат деления одного на другое. Вопрос в интерпретации этого результата: значит ли это, что в связи с большой близостью спектров хорошего и искаженного сигналов, или из-за специфического вида этих спектров, такой метод не работает; либо же я все-таки что-то делаю не так. Спасибо
  5. Добрый день, моя задача лежит в области оптических спектральных измерений, однако является задачей по цифровой обработке сигналов. Имеется оптический спектр (по абсциссе взяты деления монохроматора, чтобы обеспечить равномерность отсчетов). Он был снят в "идеальных" условиях, и можно считать, что не имеет искажений. Имеется тот же спектр, но снятый уже в неидеальных условиях и потому искаженный. Требуется найти аппаратную функцию, свертка с которой и дает такой искаженный результат, чтобы в дальнейшем ее исключать уже в отсутствие "идеального" спектра. Из теории оптической спектрометрии известно, что аппаратная функция спектрометра при этих условиях должна быть в виде трапеции, однако попытки делать свертку хорошего спектра и пробных трапеций не дают такого результата, как наш "плохой" спектр. На картинке spectra.png хороший спектр - зеленый, красный - искаженный, а черный - попытка использования в качестве аппаратной функции трапецию (из теории). Ну и ладно, зачем нам угадывать аппаратную функцию, когда можно ее вычислить. Искаж.спектр = Хор.спектр * Апп.ф., поэтому Апп.ф = IFFT ( FFT(Искаж. сп.) / FFT (Хор. сп.) ). Однако при выполнении этих численных операций аппаратная функция - это просто шум с большой амплитудой, и повторное применение свертки для проверки результата оказывается неверным. По всей видимости, я что-то делаю не так. Комплексные значения FFT обоих сигналов очень похожи, и при комплексном делении одного на другой получается просто шумовая дорожка с большой амплитудой, обратный FFT от которой разумеется тоже неинформативен. Пробовал делать FFT с разными окнами и без него, результаты такие же. Оба спектра, если кто-то захочет поиграться, приведены в файле spectra.txt (формат CSV). Заранее благодарен за указание, где ошибка. spectra.txt
×
×
  • Создать...