2013-05-03 2 views
0

Я использую этот фильтр в Python:полосовой фильтр не уважая отсечку

def bandpass_firwin(ntaps, lowcut, highcut, fs, window='hamming'): 
    nyq = 0.5 * fs 
    taps = firwin(ntaps, [lowcut, highcut], nyq=nyq, pass_zero=False, 
        window=window, scale=False) 

где мои ntaps = 128; lowcut = 0.7; highcut = 4; fs = 61

Я отфильтровываю свой сигнал, который имеет 610 образцов, отобранных на 61 Гц (так что это 10 секунд).

Когда я смотрю на спектр сигнала, который был отфильтрован с помощью полосового фильтра этого, я вижу это:

enter image description here

РЕЕК в этом спектре при 0,61 Гц. Коэффициент не находится в диапазоне от 0,7 до 4 Гц.

Как это возможно? & Как я могу предотвратить это?

+0

Я не могу воспроизвести ваши результаты. Я получаю очень хороший полосовой фильтр, используя ваш код. Как вы создаете этот сюжет? –

+0

О, это ваши отфильтрованные данные. –

+0

Да, это уже свернуто. taps_hamming = bandpass_firwin (ntaps, 0,7, 4, фс = фс) Ynew3 = np.convolve (Ynew2, taps_hamming, "же") – Ojtwist

ответ

0

Ваш фильтр не является магии - существуют внутренние ограничения на пропускную способность. Попробуйте использовать больше кранов, если вам действительно нужно плотное обрезание.

Чем больше кранов вы используете, тем больше вам нужно подумать о краевых эффектах и ​​о том, как вы их обрабатываете (поскольку предположения края все больше и больше проникают в блок данных). Возможно, вы хотите, чтобы плавный спуск по краю? Или зеркало и повторение данных? Возможно, вы можете полностью игнорировать его ...

Другой метод свертки заключается в фильтрации непосредственно в частотной области путем простого умножения на требуемый спектр. Это накладывает предположение о том, что ваш сигнал повторяется, хотя вы можете изменить это, расширив свой сигнал по своему усмотрению. Если вы хотите знать поддержку эквивалентного FIR-фильтра, возьмите IFFT окна, и вы увидите, насколько начало временного блока будет мазать в начале.

+0

Я не думаю, что для меня важен какой-либо краевой эффект. Мне просто нужна частота заглядывания между 0,7 Гц и 4 Гц. – Ojtwist

+0

Является ли пиковая частота вашей конечной целью? Вам также нужен отфильтрованный сигнал? Если вам действительно не нужен отфильтрованный сигнал, вы можете найти пик от 0,7 Гц до 4 Гц спектра нефильтрованного сигнала. –

+0

@Ojtwist, поэтому я дал вам решение ... Вы должны * знать о влиянии краевых эффектов, поскольку они могут быть довольно выраженными. Кроме того, я повторяю комментарий Уоррена. –

Смежные вопросы