Выделение низких частот(2-6Гц) сигнала при помощи ДПФ
Есть задача: МК обрабатывает данные с акселерометра, сбор данных происходит каждые 2мс, отсчеты собираются в течении 1с, те 500(можно 512, если использовать БПФ) за 1 секунду. Далее необходимо найти уровни сигналов с частотами от 2-5 Гц, после чего принимается решение о превышении уровня сигналов допустимого значения. Делаю так: набираю массив данных в течение 1с, затем отсчеты скидываются по КОМ-порту на ПК в Матлаб. Затем полученные отсчеты прогоняю через FFT и на выходе должен увидеть спектр частот. Все прекрасно работает если частота воздействия на акселерометр от 100 Гц и выше(более 250Гц не проверял). Но если воздействую на акселерометр с частотой примерно 2-6 Гц, то в спектре эти частоты практически «не выделяются», вот картинка(1 график-исходный сигнал,2график-после FFT ф-ии): http://sb.uploads.ru/qsm8r.png Причем воздействие видно даже визуально+амплитуда сигнала воздейтсвия много выше уровня шума! Попробовал просто «вырезать» шум, те в коде программы просто делаю (если noise_min<=сигнал<=noise_max, то сигнал = 0), тогда ситуация улучшилась, и сигналы нужных частот стали видны в спектре, сделал я это как то интуитивно, из-за того что уровень амлитуды определенной частоты - это энергия сигнала данной частоты на 1ом графике, а там визуально видно, что воздействие хоть и отчетливое, но уж очень кратковременное и по сравнению с энергией шума, его энергия мала. Поэтому не знаю насколько такое решение правомерно и как оно будет работать в общем случае, те в разных условиях и не понятно какие границы шума обрезать и тд. В связи с этим появились вопросы: 1)Возможно ли при таком исходном сигнале выделить низкие частоты, если да то как? 2)Надо ли обрабатывать дополнительно исходный сигнал, до преобразований Фурье, если да, то как грамотно это сделать?