Ошибка фазы фильтра нижних частот

Как показывает график, у меня есть задержка чуть более 0,01 миллисекунды, вызванная передаточной функцией для простого фильтра нижних частот ASK в части демодуляции. Мне нужно избавиться от этой задержки любым способом. Область результатов

  • Пробовал увеличивать частоту по знаменателю коэффициента передаточной функции, но все равно с той же задержкой.
  • В последних попытках я пытался создать подсистему, которая выводит двоичную 1 с интервалом или 0,5 миллисекунды, если она больше 0,5e-6 в качестве порога, и удерживает значение до следующих 1,5 миллисекунды, где она должна выводить 0, если она меньше чем 0,05e-6 и так далее. Я пытался следовать это здесь, но это не сработало в моем сценарии. Я также пробовал здесь, но мои попытки не увенчались успехом.

Вот общая реализация части демодуляции с использованием simulink.блок демодуляции ASK

Ниже приведена передаточная функция для простого низкочастотного ASK-фильтра: Функция передачи фильтра нижних частот

Помощь здесь очень ценится.


person debugging XD    schedule 21.05.2018    source источник
comment
Это групповая задержка фильтра, которая проявляется как переходный процесс при запуске. Поскольку вы выполняете ASK, фильтр должен запускаться каждый раз при наборе нулей. Почему именно вы используете фильтр? Вы должны быть в состоянии просто умножить свой генератор на свой модулирующий сигнал. Если ваш модулирующий сигнал чередуется между 0 и 1, передатчик включается для 1 и выключается для 0.   -  person fstop_22    schedule 21.05.2018
comment
@fstop_22 Я использую фильтр, чтобы различать двоичные биты. Поскольку я отредактировал вопрос, вы можете видеть, что я уже умножил осциллятор на модулирующий сигнал. Мне нужен фильтр только для того, чтобы избавиться от шума, добавляемого в канал. Мне нужно избавиться от белого шума мощностью 50, который полностью меняет поведение принимаемого сигнала.   -  person debugging XD    schedule 21.05.2018
comment
Если вы пытаетесь обнаружить полученный OOK, почему бы вам не связать сигнал с основной полосой частот и не посмотреть на амплитуду. Если величина выше порога, она равна 1. В противном случае она равна нулю.   -  person fstop_22    schedule 22.05.2018


Ответы (1)


Линейный фильтр не может фильтровать сигнал (для любой конечной полосы пропускания выше постоянного тока) без задержки. Требуется некоторое время (обычно связанное с периодом центральной частоты полосового фильтра), чтобы фильтр собрал достаточно информации из сигнала, чтобы различить форму волны, которую нужно пройти, и форму волны, которую нужно ослабить.

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

Обычно эта задержка учитывается путем использования соответствующей задержки в других частях системы для синхронизации времени по мере необходимости.

person hotpaw2    schedule 22.05.2018