Может кто-нибудь объяснить мне этот банк многофазных фильтров MDFT?

9

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

  1. Какие именно данные в каналах? Они должны быть реальными, мнимыми или сложными?

  2. Код вычисляет только половину количества полос. Это из-за использования реальных сигналов?

  3. Результат этапа синтеза строится как канальная разница результатов двух банков фильтров синтеза. Почему так сделано? Я не могу найти ни одной статьи, описывающей эту идею.

паскаль
источник

Ответы:

2
  1. Это не зависит от ввода, все будет работать так же, как и с любым другим реальным фильтром прототипа. Я реализовал банки многофазных фильтров на практике в радарных системах, где мы работаем со сложными данными, как со сжатыми импульсами, так и без сжатия. Банки фильтров, подобные этим, имеют множество приложений благодаря присущему мне дизайну и теоретической скорости.

  2. Банки многофазных фильтров обычно создают сдвинутую по фазе «копию» оригинальной версии, чтобы добиться лучшей реконструкции. От простого сканирования кода, похоже, именно это он делает со своими векторами X1 и X2. Вы заметите, что если вы пройдете по коду и проверите спектр, поддиапазоны не будут перекрываться полосой пропускания. Это еще более очевидно, если вы посмотрите на сдвинутые версии частотной характеристики фильтра. Поскольку «копия» исходного сигнала была сдвинута по фазе, она также будет иметь непересекающиеся сегменты внутри себя, но более жесткую, чтобы объединить оригинал и копию, чтобы полностью покрыть от -pi до pic на нормализованной частотной шкале.

Обычно цепочка обработки такова: получить вход, создать копию, сдвинуть фазу копию (все для этого делается дважды, один для оригинала и один для сдвинутой по фазе копии; назовем их верхний (оригинал) и нижний ( скопируйте)), примените прототип многофазного фильтра к верхнему и нижнему сигналам, примените ДПФ для создания многофазной магии, и теперь вы все находитесь в канале. Синтез в значительной степени просто наоборот.

Часть, с которой люди борются, - это, как правило, многофазные фильтры и использование верхних и нижних сигналов, что, по-видимому, относится к этому вопросу. Сам банк фильтров не сложен, но математика, лежащая в основе многофазности, может быть, если у вас нет многоскоростного фона обработки сигналов. Фильтр-прототип, как правило, предназначен для создания, скажем, 32 поддиапазонов, но поскольку у нас есть верхний и нижний сигналы, каждый из которых имеет 32 поддиапазона, у нас действительно 64. Я оставлю математику позади, почему многофазные фильтры работают в учебнике так как это не было в вашем вопросе.

  1. Смотри выше, имеет отношение к сдвигу фаз. Также пройдите несколько строк вверх, и вы увидите отрицание. Проверьте эти показатели. Вычитание, которое вы видите, может быть не совсем таким, как вы думаете. Попробуйте пройтись по коду и проверить его.
matthewjpollard
источник
1
  1. Входной временной ряд, который он создает, является сложным чириканьем LFM . В общем, входные данные могут быть реальными или сложными. Если PFB (банк многофазных фильтров) используется непосредственно после АЦП, данные могут быть реальными.
  2. На какую строку в коде вы ссылаетесь? Я не вижу, как он вычисляет только половину количества полос.
  3. Точно сказать не могу.
random_dsp_guy
источник