Замещение артефактов НЧ сигнала

Захват, обработка и генерирование сигнала
Ответить
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Замещение артефактов НЧ сигнала

Сообщение Kvanto »

Доброго дня! Имеется НЧ сигнал(период опроса в районе 1 сек). Значения данного сигнала выдаются в двух режимах:
"спокойном", когда артефакты отсутствуют и "грязном" когда присутствуют аномальные значения.
Аномальные значения могут превышать/принижать нормальные в пределе на 90%-100%.
Задача стоит в том, чтобы эти аномальные значения заменить на "условно нормальные", т.е. приблизить их к нормальным с неким эмпирическим
коэффициентом.
Вариант замены аномальных значений усредненными нормальными отпадает, поскольку он дает низкую вариабельность(разброс) значений.
А разброс значений желательно сохранить. Т.е. алгоритм нужно сделать в виде резинки. Как только появляется выброс - подтянуть его
к нормальным. Желательно использовать простые функции. Есть мысли использоавать апроксимацию или трендовую кривую, но последняя - сложная функция.
Что посоветуете? на чем реализовать?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Замещение артефактов НЧ сигнала

Сообщение IvanLis »

Kvanto писал(а):Что посоветуете? на чем реализовать?
Попробуй сплайнами, я не могу сказать, какой из них подойдет лучше, нужно экспериментировать.
Посмотри:
http://ru.wikipedia.org/wiki/%D0%A1%D0% ... 0%B9%D0%BD
http://www.codenet.ru/progr/alg/B-Splines/
http://itroadlabs.appspot.com/articles/article5.do

Только тебе не нужно аппроксимировать, нужно только сгладить.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Замещение артефактов НЧ сигнала

Сообщение Borjomy_1 »

Можно попробовать ресемплирование (Rational Resample.vi). В него входит фильтрация.
Либо делать просто фильтрацию сигнала Point-to-point.
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Замещение артефактов НЧ сигнала

Сообщение Kvanto »

Кубический сплайн попробовал.
1.PNG
1.PNG (81.64 КБ) 4100 просмотров
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Замещение артефактов НЧ сигнала

Сообщение Andrew Lunev »

По мне, так очень странный подход к обработке сигнала. Не совсем понятно, эти аномальные значения являются неверными измерениями или это реальные значения сигнала, просто вам необходимо среднее значение, а в "грязном" режиме выскакивают пиковые значения?
Если измерения неверные (ошибка АЦП например или влияние импульсной помехи), то вы должны отбросить эти измерения, а не использовать их для обработки и визуализации. Если вы эмпирически подбираете коэффициенты, и так вольно обращаетесь с обработкой сигнала, то как определить например относительную погрешность вашей системы измерений? Если пик доходит до 100%, то и погрешность вашей системы +/- 100%, а это очень плохая система.
Если же эти измерения отражают реальное значение сигнала, то необходимо подобрать метод обработки, который выделит из этой последовательности нужные данные, только определитесь сначала какую именно информацию необходимо получить из выборки.

Если уж решать именно вашу задачу, то я бы отбрасывал аномальные значения и заменял их предыдущим значением или скользящим средним по нескольким предыдущим измерениям. Если уж требуется сохранить разброс, то добавьте в обработанный сигнал белый шум требуемой амплитуды. Хотя это тоже странный подход, так как во всех системах пытаются уменьшить уровень шума в сигнале, а вам его необходимо сохранить.
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Замещение артефактов НЧ сигнала

Сообщение Andrew Lunev »

Kvanto писал(а):Кубический сплайн попробовал.
Попробуйте скользящее среднее где-то по 8-10 точкам, получите очень похожий график, только алгоритм в сотню раз проще и менее требовательный к ресурсам, чем сплайн.
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Замещение артефактов НЧ сигнала

Сообщение Kvanto »

Andrew Lunev писал(а):
Kvanto писал(а):Кубический сплайн попробовал.
Попробуйте скользящее среднее где-то по 8-10 точкам, получите очень похожий график, только алгоритм в сотню раз проще и менее требовательный к ресурсам, чем сплайн.
согласен, скользящее среднее классический подход в этом вопросе. Просто в обработке сигнала будет стоять критерий, показывающий причастность выборки к
нормальному значению либо выбросу. В случае нормального значения сигнал будет проходить без изменения, в случае аномальности - заменяться скорректированной выборкой.
Здесь как всегда многое зависит от криериев выбора, и количественных коэфициентов усреднения/сплайна.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Замещение артефактов НЧ сигнала

Сообщение Borjomy_1 »

Может, стоит скорректировать схему измерения, чем потом выгребать невыгребаемое? Например, перед АЦП поставить ФНЧ на 0.5Гц (учет критерия Найквиста). Либо увеличить частоту опроса, пропорционально смещая ФНЧ, с фиксацией определенной частотной выборки, если есть необходимость уменьшить поток данных.
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Замещение артефактов НЧ сигнала

Сообщение Kvanto »

Borjomy_1 писал(а):Может, стоит скорректировать схему измерения, чем потом выгребать невыгребаемое? Например, перед АЦП поставить ФНЧ на 0.5Гц (учет критерия Найквиста). Либо увеличить частоту опроса, пропорционально смещая ФНЧ, с фиксацией определенной частотной выборки, если есть необходимость уменьшить поток данных.
нет, к сожалению работа идет не с исходным сигналом, а с некоторым его преобразованием. Если говорить прямо,
то исходным сигналом является пульсовая волна капилляров человека, а выбросы появляются в мгновенном значении пульса, т.е. расстоянии между двумя пиками. И когда человек начинает двигаться, то появляются выбросы, в отличие от спокойного состояния, где их нет.
Во многих современных системах, типа датчиков Polar ставят дикое усреднение на значения пульса. В итоге вариабельность пульса резко снижается. В нормальных условиях каждые два соседние значения пульса должны отличаться друг от друга. В современных дачтиках мы видим что-то типа 85, 85, 86, 86, 85 и т.д.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Замещение артефактов НЧ сигнала

Сообщение IvanLis »

Kvanto писал(а):Если говорить прямо, то исходным сигналом является пульсовая волна капилляров человека, а выбросы появляются в мгновенном значении пульса, т.е. расстоянии между двумя пиками. И когда человек начинает двигаться, то появляются выбросы, в отличие от спокойного состояния, где их нет.
А как соотносится длительность паразитного выброса и пульсовой волны.
Может их по длительности фильтрануть?
Например если длительность на определенном уровне меньше порогового значения, то считаем это как выброс.

Ты бы выложил исходный сигнал и на картинке показал, что нужно убрать, а что оставить.
IORIK
adviser
adviser
Сообщения: 240
Зарегистрирован: 14 дек 2010, 20:46
Версия LabVIEW: 7.0; 8.2

Re: Замещение артефактов НЧ сигнала

Сообщение IORIK »

Kvanto, как мне кажется, вы просто пропускаете некоторые максимумы в кардиограмме, или излишне их учитываете. От этого у вас так "плавает" пульс скачками. В предыдущей теме http://www.labviewportal.eu/viewtopic.php?f=81&t=5576 вы показывали как делаете поиск экстремумов. Сложный алгоритм из нескольких типов фильтрации и сглаживания сигнала, который вы использовали, может дать большую погрешность и малую гибкость при выявлении экстремумов.
Как писал Andrew Lunev, следует либо исключать эти "аномальные" данные из анализа, либо их заменять на предыдущее/усредненное корректное значение. Есть еще вариант: пересмотреть алгоритм определения величины пульса (может ввести разные фильтры в ситуации покоя, бега, поднятия тяжести и т.д.).
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Замещение артефактов НЧ сигнала

Сообщение ESeid »

Kvanto писал(а): нет, к сожалению работа идет не с исходным сигналом, а с некоторым его преобразованием. Если говорить прямо,
то исходным сигналом является пульсовая волна капилляров человека, а выбросы появляются в мгновенном значении пульса, т.е. расстоянии между двумя пиками. И когда человек начинает двигаться, то появляются выбросы, в отличие от спокойного состояния, где их нет.
вы ломитесь через лес, просеки в котором уже проложены. Судя по всему, вы разместили свой датчик на конечности - на руке, пальце. Артефакты, которые вы наблюдаете на пульсовой волне, имеют сложную природу. Наиболее значимые из них - т.н. moving-артефакты, из-за механического движения крови вследствие, скажем, маха руки, за счет движения тканей и костей в конечности, и, если ваш датчик плотно закреплен на теле, за счет проскальзывания кожи с датчиком по подкожным тканям. Все эти артефакты имеют физиологический характер и происходят на физиологически частотах, близких к пульсам, что делает их неустранимыми обычными амплитудно-частотными фильтрами. Мы разработали методы преодоления этих проблем, но они защищены патентами, и я не могу вам их рекомендовать - их коды закрыты от пользователя.
Могу порекомендовать разместить датчики на лбу, за ухом или на мочке уха - там двигательные артефакты минимальны, а сигналы чисты и огромны.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Обработка сигнала»