Перейти к содержанию
    

Корекция АЧХ

Здравствуйте форумчане!

Некоторое время бьюсь над задачей коррекции аналогового сигнала цифровым фильтром КИХ. Столкнулся с рядом трудностей и не до конца понимаю, как подобные задачи решаются. Суть задачи рассчитать коэффициенты КИХ фильтра(ов) для получения желаемой АЧХ из заданной. Скорость выборок входного сигнала ≈500нс (2.048МГц). Количество коэффициентов ограничено: сейчас 14 коэф, возможно при оптимизации кода получится 15-16. На рисунке представляю суть проблемы. Канал1, канал2 - варианты заданной АЧХ. Кор1, Кор2 - ачх корректоров. Сейчас правильно работающую систему я получил при сочетании Канала2, Кор2 и ФНЧ2 (применяется два КИХ фильтра). Вопрос в том, как оперативно и точно рассчитывать все коэф.

post-58796-1316071223_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, читал эту статью. Такие эквалайзеры будут эффективны при устранении неравномерности в полосе пропускания. В моем случае АЧХ имеет условно равномерный спад к высоким частотам, и применение такого рода коррекции боюсь малоэффективно. Особенно если учесть серьезные ограничения в вычислительной мощности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько стабильны характеристики каналов? Можно ли один раз рассчитать корректор или надо в реальном времени вести подстройку? ь

 

Если у вас есть измеренная АЧХ Hm(w) и идеальная АЧХ H0(w), то АЧХ фильтра корректора H(w) = H0(w) / Hm(w). Т.о. вы получили АЧХ фильтра корректора. Разумеется в измеренной АЧХ не должно быть нулей, иначе все будет разваливаться. Судя по вашим картинкам проблем быть не должно, т.к. АЧХ каналов монотонно падают. Для расчета КИХ фильтра надо помимо АЧХ задать ФЧХ. Можно задать линейную ФЧХ и считать КИХ фильтр корректор методом частотной выборки. Разумеется необходимо потом взвесить окном.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько стабильны характеристики каналов? Можно ли один раз рассчитать корректор или надо в реальном времени вести подстройку? ь

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

Если у вас есть измеренная АЧХ Hm(w) и идеальная АЧХ H0(w), то АЧХ фильтра корректора H(w) = H0(w) / Hm(w). Т.о. вы получили АЧХ фильтра корректора. Разумеется в измеренной АЧХ не должно быть нулей, иначе все будет разваливаться. Судя по вашим картинкам проблем быть не должно, т.к. АЧХ каналов монотонно падают. Для расчета КИХ фильтра надо помимо АЧХ задать ФЧХ. Можно задать линейную ФЧХ и считать КИХ фильтр корректор методом частотной выборки. Разумеется необходимо потом взвесить окном.

Я пытался применить для своей задачи алгоритм вычисления коэффициентов методом Ремеза в Matlab, но из-за малого числа допустимых коэффициентов и сложного характера АЧХ (на некоторых участках) это не увенчалось успехом. Я не уверен, что подход аппроксимации к желаемой АЧХ корректора применим здесь. Неравномерность, требуемая в полосе 8-128кГц, составляет ±0.1Дб в полосе 128-256кГц ±1Дб, подавление в полосе заграждения должно быть максимальное исходя из выполнения первых 2х условий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если сделать IIR эквалайзер с адаптацией по RLS алгоритму например ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

из-за малого числа допустимых коэффициентов и сложного характера АЧХ (на некоторых участках) это не увенчалось успехом. Я не уверен, что подход аппроксимации к желаемой АЧХ корректора применим здесь. Неравномерность, требуемая в полосе 8-128кГц, составляет ±0.1Дб в полосе 128-256кГц ±1Дб, подавление в полосе заграждения должно быть максимальное исходя из выполнения первых 2х условий.

 

1. Почему не увенчалось успехом? Не удалось сделать ifft в матлабе и умножить на окно?

2. Увеличивая длину фильтра и применяя окно Кайзера вы сможете добиться требуемых характеристик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте форумчане!

Некоторое время бьюсь над задачей коррекции аналогового сигнала цифровым фильтром КИХ. Столкнулся с рядом трудностей и не до конца понимаю, как подобные задачи решаются. Суть задачи рассчитать коэффициенты КИХ фильтра(ов) для получения желаемой АЧХ из заданной. Скорость выборок входного сигнала ≈500нс (2.048МГц). Количество коэффициентов ограничено: сейчас 14 коэф, возможно при оптимизации кода получится 15-16. На рисунке представляю суть проблемы. Канал1, канал2 - варианты заданной АЧХ. Кор1, Кор2 - ачх корректоров. Сейчас правильно работающую систему я получил при сочетании Канала2, Кор2 и ФНЧ2 (применяется два КИХ фильтра). Вопрос в том, как оперативно и точно рассчитывать все коэф.

 

http://lord-n.narod.ru/walla.html#uidrouAOC

Адаптивная Обработка Сигналов - Уидроу, Стирнз

 

стр. 195

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Почему не увенчалось успехом? Не удалось сделать ifft в матлабе и умножить на окно?

2. Увеличивая длину фильтра и применяя окно Кайзера вы сможете добиться требуемых характеристик.

При расчете коэффициентов КИХ методом частотной выборки, описанной в статье, производится дискретизация комплексного коэффициента передачи на равностоящей сетке частот. Таким образом, если принять, что задержки в фильтре равны ≈1мкс (1.024МГц), а кол-во коэф. равно 16, то в интересующей меня полосе коррекции 8 - 256кГц окажутся только 4 узла дискретизации.

При таком подходе приближение к моим параметрам осуществилось бы при увеличении числа коэф. до 100.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если сделать IIR эквалайзер с адаптацией по RLS алгоритму например ?

Безусловно, БИХ фильтр более эффективен при одинаковом числе коэффициентов чем КИХ, но, к сожалению, он имеет целый ряд недостатков которые не позволяют мне его использовать. Недопустимо бы возросли требования к разрядности коэффициентов, проблема устойчивости, переполнение аккумулятора и т.д. БИХ имеют лучшие показатели при проектировании типовых фильтров, а для моей задачи с АЧХ по точкам они малопригодны.

По поводу адаптации по RLS можно сказать, что программа расчета и обновления коэффициентов займет все вычислительное время, что у меня есть и его не останется на саму свертку. Хотя читал про интересные варианты LMS с переменным шагом сходимости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При расчете коэффициентов КИХ методом частотной выборки, описанной в статье, производится дискретизация комплексного коэффициента передачи на равностоящей сетке частот.

Именно так. Для тонкой коррекции в указанном частотном диапазоне нужны длинные КИХ-фильтры. Ремез вам существенно не поможет, т.к. частотное разрешение КИХ-фильтра зависит от его длины, а не от способа проектирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для тонкой коррекции в указанном частотном диапазоне нужны длинные КИХ-фильтры. Ремез вам существенно не поможет, т.к. частотное разрешение КИХ-фильтра зависит от его длины, а не от способа проектирования.

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

Adaptive_FIR_Equalizer.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...