Создайте фильтр, позволяющий свободно пропускать частоты ниже 5 кГц, но все частоты выше 5,2 кГц должны быть необнаружимыми
Моя самая большая проблема с этим вопросом - это его смехотворно крутая скорость сползания.
Я предполагаю, что сигнал не обнаруживается, если его коэффициент усиления составляет -20 дБ. Это означает, что в пределах полосы перехода 200 Гц уровень сигнала должен уменьшаться на 20 дБ.
Если мои вычисления верны, этот фильтр требует скорости сбрасывания 1200 дБ /д. Для этого требуется 60 полюсов, что, очевидно, не представляется возможным.
Я хотел бы использовать аналоговый активный фильтр с минимальной пульсацией в полосе пропускания. Большой фазовый сдвиг не слишком важен.
Одним из возможных решений является использование фильтра с надрезом при частоте 5,2 кГц. Однако частоты, превышающие полосу пропускания режекторного фильтра, все еще недостаточно фильтруются.
Просьба указать любые недостатки в моей логике и предложить потенциальные решения. Спасибо.
6 ответов
Вы приняли 20dB /dec для списания заказа фильтра для вашего фильтра. Это не относится ко всем типам фильтров.
Пусть \ $ f_0 = 5 \ mathrm {kHz} \ $ и \ $ f _ {\ mathrm {stop}} = 5.2 \ mathrm {kHz} \ $. Затем $$ \ frac {f_ {\ mathrm {stop}}} {f_0} = 1.04. $$
Посмотрите на этот эллиптический фильтр четвертого порядка, взятый из статьи в Википедии .
Хотя это не совсем соответствует вашим требованиям, вы можете видеть, что это возможно. Эллиптический фильтр более высокого порядка может достичь того, что вам нужно.
Вы должны иметь в виду, что эллиптические фильтры могут создавать помехи для фазы сигнала. Поскольку вы ничего не говорили о ваших фазовых ограничениях, я предположил, что подходит эллиптический фильтр.
Для такого резкого роллофа требуется цифровой фильтр. Даже не думай об аналоге. Вам необходимо сверлить ввод с помощью функции sinc. Ширина функции sinc (количество точек ядра) определяет ослабление полосы пропускания.
Я не делал математику, но некоторые очень быстрые (может быть выключено, ваша работа, чтобы делать правильно) вычислений говорит, что вам, вероятно, потребуется несколько 100 баллов, если выборка на 20 кГц. 200 точек на 20 кГц означает скорость MAC 4 МГц. Это выполнимо, на самом деле значительно ниже того, что современные DSP могут делать довольно легко. Это означает, что ваша проблема вполне приемлема. Что-то вроде dsPIC серии E может сделать это, и это довольно низко, если вы ищете только возможности DSP.
Если вы допускаете существенную задержку или обрабатываете записанный сигнал, вы можете просто выполнять БПФ, удалять ненужные компоненты и инвертировать преобразование. Вы должны усечь fft с помощью правильной функции окна, чтобы поддерживать приемлемый сигнал.
Я бы выбрал чип аудиокодека (ADC + DAC), проложил цифровой выход ADC на вход ЦАП и установил частоту дискретизации до 10 кГц.
Эти чипы уже включают в себя механизм цифрового фильтра, который вам нужен. Быстрая проверка данных, похоже, подтверждает, что вы получите необходимую производительность фильтра.
У вас уже есть много хороших ответов с хорошими традиционными решениями, эллиптическими фильтрами (короткое время) FFT и т. д., поэтому я думал, что могу добавить что-то из мира подкадрового кодирования /вейвлет-преобразования.
Поддиапазонное кодирование означает разделение частотного спектра на «бункеры», каждый из этих бункеров имеет свой собственный связанный фильтр. Более жесткие полосы, более широкие фильтры во временной области (естественно), но в областях, где нам не нужны очень жесткие полосы, мы можем уйти с очень короткими & дешевые фильтры для расчета.
Вейвлеты - это функции, которые являются результатом определенного типа фильтров поддиапазонов, которые генерируются итерированной фильтрацией с последующей подвыборкой.
Идея заключалась бы в том, чтобы найти интересующие поддиапазоны, которые позволили бы нам максимально сжать вычисления, но все равно получить хорошую гранулярность в интересующей полосе.
Пример декомпозиции пакетов Dubechies 12 на трех уровнях (Wikipedia):
, если вы можете ГАРАНТИРОВАТЬ синусоидальный вход, тогда может быть достаточно одноразового моностабильного (74121). Или повторный запуск 122/123.
Используйте компаратор до 74121/122/123
Некоторые MCU включают аналоговые компараторы в качестве их периферийных устройств; после преобразования в прямоугольную волну вы можете использовать таймеры и т. д. для обнаружения выше /ниже 5000 Гц, если MCU имеет стабилизированные XTAL часы. Нет необходимости в термочувствительном моностабильном состоянии.