Я использую функцию butter
из пакета signal
в R для фильтрации моих данных.
Данные преобразованы Фурье (комплексные числа) - и я хочу отфильтровать определенные частоты (у меня есть частота дискретизации 256 Гц, следовательно, спектр 128 Гц и я говорю, что хочу фильтровать только данные с 4-8 Гц),
Я нахожу противоречивую документацию о том, какими должны быть правильные значения W в этой функции:
butter(n, W, type = c("low", "high", "stop", "pass"),
plane = c("z", "s"), ...)
- они должны быть 4/256 и 8/256?
Мне трудно понять, верны ли мои результаты с 4/256 и 8/256.
strength <- ftdata
low <- 4
high <- 8
bf <- butter(5, low/256, type="high")
bfsig <- filter(bf, strength)
bf <- butter(5, high/256, type="low")
bfsig <- filter(bf, bfsig)
plot(f,bfsig, type='l')
# Where ftdata is just the output from my Fourier transform. The 5 is the order of the filter.
Я просто хочу знать, имеет ли здесь смысл "/ 256".
РЕДАКТИРОВАТЬ:
Кроме того, любая идея, почему ниже не возвращает то же самоерезультат как указано выше?
filt <- butter(5,c(low/256,high/256), "pass")
bfsig <- filter(filt, strength)
Это должна быть просто комбинация фильтров нижних и верхних частот.