реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Корекция АЧХ, КИХ фильтр
ToR_TDA
сообщение Sep 15 2011, 07:25
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



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

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 15 2011, 07:59
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Параметрический эквалайзер на основе всепропускающего фильтра


--------------------
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Sep 15 2011, 08:10
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(des00 @ Sep 15 2011, 11:59) *

Спасибо, читал эту статью. Такие эквалайзеры будут эффективны при устранении неравномерности в полосе пропускания. В моем случае АЧХ имеет условно равномерный спад к высоким частотам, и применение такого рода коррекции боюсь малоэффективно. Особенно если учесть серьезные ограничения в вычислительной мощности.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 15 2011, 08:21
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



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

Если у вас есть измеренная АЧХ Hm(w) и идеальная АЧХ H0(w), то АЧХ фильтра корректора H(w) = H0(w) / Hm(w). Т.о. вы получили АЧХ фильтра корректора. Разумеется в измеренной АЧХ не должно быть нулей, иначе все будет разваливаться. Судя по вашим картинкам проблем быть не должно, т.к. АЧХ каналов монотонно падают. Для расчета КИХ фильтра надо помимо АЧХ задать ФЧХ. Можно задать линейную ФЧХ и считать КИХ фильтр корректор методом частотной выборки. Разумеется необходимо потом взвесить окном.
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Sep 15 2011, 09:25
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(bahurin @ Sep 15 2011, 12:21) *
Насколько стабильны характеристики каналов? Можно ли один раз рассчитать корректор или надо в реальном времени вести подстройку? ь

Подстройка в реальном времени желательна, но реализация ее сильно затруднена текущими вычислительными возможностями. Таким образом, канал во время работы считается стабильным, но при необходимости его характеристика может быть измерена повторно и произведена перенастройка.
Цитата(bahurin @ Sep 15 2011, 12:21) *
Если у вас есть измеренная АЧХ Hm(w) и идеальная АЧХ H0(w), то АЧХ фильтра корректора H(w) = H0(w) / Hm(w). Т.о. вы получили АЧХ фильтра корректора. Разумеется в измеренной АЧХ не должно быть нулей, иначе все будет разваливаться. Судя по вашим картинкам проблем быть не должно, т.к. АЧХ каналов монотонно падают. Для расчета КИХ фильтра надо помимо АЧХ задать ФЧХ. Можно задать линейную ФЧХ и считать КИХ фильтр корректор методом частотной выборки. Разумеется необходимо потом взвесить окном.

Я пытался применить для своей задачи алгоритм вычисления коэффициентов методом Ремеза в Matlab, но из-за малого числа допустимых коэффициентов и сложного характера АЧХ (на некоторых участках) это не увенчалось успехом. Я не уверен, что подход аппроксимации к желаемой АЧХ корректора применим здесь. Неравномерность, требуемая в полосе 8-128кГц, составляет ±0.1Дб в полосе 128-256кГц ±1Дб, подавление в полосе заграждения должно быть максимальное исходя из выполнения первых 2х условий.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 15 2011, 10:11
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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


--------------------
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 15 2011, 10:34
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



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


1. Почему не увенчалось успехом? Не удалось сделать ifft в матлабе и умножить на окно?
2. Увеличивая длину фильтра и применяя окно Кайзера вы сможете добиться требуемых характеристик.
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 15 2011, 18:05
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



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


http://lord-n.narod.ru/walla.html#uidrouAOC
Адаптивная Обработка Сигналов - Уидроу, Стирнз

стр. 195
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Sep 15 2011, 19:08
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(bahurin @ Sep 15 2011, 14:34) *
1. Почему не увенчалось успехом? Не удалось сделать ifft в матлабе и умножить на окно?
2. Увеличивая длину фильтра и применяя окно Кайзера вы сможете добиться требуемых характеристик.

При расчете коэффициентов КИХ методом частотной выборки, описанной в статье, производится дискретизация комплексного коэффициента передачи на равностоящей сетке частот. Таким образом, если принять, что задержки в фильтре равны ≈1мкс (1.024МГц), а кол-во коэф. равно 16, то в интересующей меня полосе коррекции 8 - 256кГц окажутся только 4 узла дискретизации.
При таком подходе приближение к моим параметрам осуществилось бы при увеличении числа коэф. до 100.
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Sep 15 2011, 20:23
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(des00 @ Sep 15 2011, 14:11) *
А если сделать IIR эквалайзер с адаптацией по RLS алгоритму например ?

Безусловно, БИХ фильтр более эффективен при одинаковом числе коэффициентов чем КИХ, но, к сожалению, он имеет целый ряд недостатков которые не позволяют мне его использовать. Недопустимо бы возросли требования к разрядности коэффициентов, проблема устойчивости, переполнение аккумулятора и т.д. БИХ имеют лучшие показатели при проектировании типовых фильтров, а для моей задачи с АЧХ по точкам они малопригодны.
По поводу адаптации по RLS можно сказать, что программа расчета и обновления коэффициентов займет все вычислительное время, что у меня есть и его не останется на саму свертку. Хотя читал про интересные варианты LMS с переменным шагом сходимости.
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Sep 16 2011, 05:44
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Цитата(ToR_TDA @ Sep 15 2011, 23:08) *
При расчете коэффициентов КИХ методом частотной выборки, описанной в статье, производится дискретизация комплексного коэффициента передачи на равностоящей сетке частот.

Именно так. Для тонкой коррекции в указанном частотном диапазоне нужны длинные КИХ-фильтры. Ремез вам существенно не поможет, т.к. частотное разрешение КИХ-фильтра зависит от его длины, а не от способа проектирования.
Go to the top of the page
 
+Quote Post
ToR_TDA
сообщение Sep 16 2011, 06:24
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 7-08-10
Из: Мурманск
Пользователь №: 58 796



Цитата(Alexey Lukin @ Sep 16 2011, 08:44) *
Для тонкой коррекции в указанном частотном диапазоне нужны длинные КИХ-фильтры. Ремез вам существенно не поможет, т.к. частотное разрешение КИХ-фильтра зависит от его длины, а не от способа проектирования.

Полностью согласен. Путь по которому пошел я это создание нелинейно фазового корректора. Малым числом коэффициентов мы устраняем большое затухание АЧХ на высоких, если оно равномерно. В этой статье похожая идея.
Прикрепленные файлы
Прикрепленный файл  Adaptive_FIR_Equalizer.pdf ( 2.19 мегабайт ) Кол-во скачиваний: 61
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 08:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01466 секунд с 7
ELECTRONIX ©2004-2016