Что этот синк делает в моем выходе фильтра LP-turn-HP?

10

Я пытаюсь отфильтровать сигнал HP, отфильтровывая его и вычитая результат из исходного фильтра. Чтобы получить LP-фильтрованный сигнал, я отфильтровал назад-вперед, используя фильтр Баттерворта третьего порядка для сигнала с 16000 выборками. Частота среза составляла 0,5 Гц при 250 Гц. Окно не было использовано.

В первых 85% выборок выход этого метода, по-видимому, полностью перекрывается с фактически отфильтрованным HP сигналом. Тем не менее, в конце выходных данных есть феномен, похожий на синус.

  • Что вызывает это?
  • Что я могу изменить, чтобы сделать этот метод осуществимым?

Вот два наложенных сигнала. Синий - HP-фильтрованный, а красный - вычитанием.

Сигналы HP и orig-LP

Вот абсолютная разница по выборке. Они никогда не бывают абсолютно равными; минимальная разница составляет 8e-12. 87% значений ниже 0,01.

разница между двумя методами

(Если есть лучший способ получить фильтр HP из фильтра LP-фильтра , я был бы рад изучить его.)H(z)

Andreas
источник
Можете ли вы включить код MATLAB, который вы используете для создания графиков? Данные не важны; вместо этого вы можете просто смоделировать его случайными выборками.
Джейсон Р

Ответы:

0

Methinks @ hotpaw2 находится на правильном пути. Я думаю, что FilterFilt не совсем правильно справляется с начальными условиями для обратного фильтра. Это звучит как очень сложная проблема - я не думаю, что могу обвинить Mathworks в том, что он ошибся ...

Исправление кажется мне достаточно простым: обнулите конец вашего сигнала, пока сигнал не исчезнет, ​​и удалите (теперь ненулевое!) Заполнение после фильтра.

rtollert
источник
0

Вы делаете фильтр «назад-вперед» для одного и фильтр «только вперед» для другого. Таким образом, два фильтра будут вести себя по-разному на одном или обоих краях.

Если ваш сигнал является строго стационарным и точно периодическим по длине окна данных, вы можете попробовать обернуть данные по кругу и начать свои фильтры сразу по их длине импульсного отклика.

hotpaw2
источник
Извините, если я не достаточно ясно. Сигнал, с которым я сравниваю (синий), также фильтруется вперед-назад ( filtfiltи butter(3,0.5/250,high)). Сигнал от ЭКГ, который я не могу ожидать, чтобы быть точно периодическим.
Андреас
Я что-то неправильно понимаю? Я не могу понять возражения, поскольку первый абзац явно ошибочен.
Андреас