Отфильтруйте частоту питания из сигнала с низкой частотой дискретизации - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть записанный сигнал с частотой дискретизации 100 Гц.Я хочу отфильтровать частоту 60 Гц из сигнала.Я использую фильтр butter() из пакета signal в R. Но он не позволяет нам отфильтровывать частоты, превышающие частоту Найквиста.Поэтому, когда я пытаюсь применить фильтр Баттерворта

butter(5,W=c(58,62)/100*2,type="stop")

, я получаю

Error in butter.default(5, W = c(58, 62)/100 * 2, type = "stop") : 
  butter: critical frequencies must be in (0 1)

На странице руководства для фильтров Чебышева упоминается то же самое требование к отфильтрованным частотам.

Могу ли я сделать что-нибудь здесь, не повышая частоту сигнала?Какие еще фильтры я могу использовать?

1 Ответ

0 голосов
/ 18 ноября 2018

Вы не можете отфильтровать частоту 60 Гц, потому что в сэмплированном сигнале такой частоты нет из-за теоремы Найквиста.

Однако в сэмплированном сигнале можно найти псевдоним частоты 60 Гц. Он расположен на частоте 40 Гц из-за эффекта свертывания на частоте 50 Гц (половина частоты дискретизации). Вы можете отфильтровать эту частоту, но вы также потеряете информацию об исходной частоте 40 Гц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...