|
|
  |
Построение компенсационного КИХ-фильтра, Можно ли? |
|
|
|
May 11 2011, 11:02
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Господа, что-то у меня совсем голова не варит, не могу сформулировать правильный вопрос для гугли. Ситуация следующая: Есть некий тракт передачи сигнала, есть его импульсный отклик. Есть ли возможность (и если есть - как это сделать) построить на основе этого отклика коэффициенты для КИХ-фильтра (для простоты - с той же частотой дискретизации, что и оцифровка самого отклика на единичный импульс), чтобы скомпенсировать этим фильтром в первом приближении неравномерность АЧХ в желаемой полосе частот, в более общем случае - убрать эффекты дисперсии и многолучевого распространения (допустим, зануление коэффициента передачи на каких-либо частотах отсутствует, нет провалов до нуля за счет интерференции, ну и вообще цифры неравномерности в канале адекватны, скажем, 10...20дБ) ? Допустим, вычислительные возможности неограниченны - расчет компенсационного фильтра нужно производить один раз в оффлайне - характеристики тракта практически неизменны. На пальцах вроде получается так - из импульсного отклика получаем амплитудно-фазовую частотную характеристику (ну на самом деле для каждой частоты получаем I и Q), затем инвертируем амплитуды относительно единичного усиления и изменяем знак фаз на противоположный. Затем - обратное преобразование. Вот момент инверсии амплитуд I=1/I, Q=1/Q в купе с изменением знака фазы вызывает сомнение. Или фазу тогда уже не требуется менять? Или надо делать операцию (1+j)/Z? Ну и такое преобразование не очень понятно с точки зрения компенсации многолучевости. Или может есть правильный способ?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 11 2011, 11:15
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Rst7 @ May 11 2011, 15:02)  На пальцах вроде получается так - из импульсного отклика получаем амплитудно-фазовую частотную характеристику (ну на самом деле для каждой частоты получаем I и Q), затем инвертируем амплитуды относительно единичного усиления и изменяем знак фаз на противоположный. Затем - обратное преобразование.
Вот момент инверсии амплитуд I=1/I, Q=1/Q в купе с изменением знака фазы вызывает сомнение. Или фазу тогда уже не требуется менять? Инвертируем модуль комплексного числа, фазу меняем на комплексно сопряжённую. Цитата(Rst7 @ May 11 2011, 15:02)  Ну и такое преобразование не очень понятно с точки зрения компенсации многолучевости. Или может есть правильный способ?  Обычно используют MMSE эквалайзеры, т. е. учитывают не только обратную характеристику канала но и шум, чтобы его не усиливать. Тема подробно разбирается применительно к демодуляции OFDM.
|
|
|
|
|
May 11 2011, 11:39
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Инвертируем модуль комплексного числа, фазу меняем на комплексно сопряжённую. Да, точно. Спасибо. QUOTE RLS эквалайзер QUOTE Обычно используют MMSE эквалайзеры А можно ссылочки на вменяемую теорию этого дела?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 11 2011, 14:49
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
дробноинтервальные LMS/DFE или MMSE/DFE с RLS не советую связываться, он хоть и быстро сходится (гораздо быстрее двух выше), но намучаетесь с параметром "забывания"
----- добавлено ----- неравномерность 10-20 ДБ это уже немало, важно еще, сколько таких провалов в спектре будет от этого будет зависеть длина корректора т.е. простыми словами, сможет ли корректор (кусочно-непрерывная ф-ция) аппроксимировать передаточную хар-ку, обратную искажениям в канале
для классических feedforward LMS, RLS, MSE длина может оказаться недопустимо большой, что скажется как на вычислительных ресурсах, так и скорости и глубине сходимости. Маленькая длина не позволит достаточно минимизировать СКО.
Поэтому желательно введение решающей обратной связи в схему корректора (Decision Feedback Equalizer, DFE). Правда, в этом случае, обучать корректор следует очень аккуратно, он становится очень неусточивым к большим ошибкам(выбросам,импульсам), разнесет к чертовой бабушке.
|
|
|
|
|
May 11 2011, 15:30
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Так, подождите, господа, не так быстро. Я так понимаю, что все предложенные эквалайзеры заточены под онлайн-обучение. У меня ситуация чуть другая - есть импульсная характеристика, снятая с хорошей точностью, практически без шумов, лишних выбросов и прочих помех. Вот на основе ее и надо построить коэффициенты. Не нужно сложностей типа адаптации на ходу, тракт у меня считается стабильный.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 11 2011, 16:12
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE тогда может в лоб Да я тоже примерно об этом речь и вел в первом посте, про "на пальцах". При размышлении стал ясен следующий момент - если дополнительные трассы укладываются в длительность импульсного отклика (понятное дело, что его длинна конечна в реальной жизни и совпадает с длинной корректирующего фильтра), то они будут скомпенсированны. Пока вроде так, опять же, если не напутал.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 11 2011, 16:53
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 29-05-10
Из: Пенза
Пользователь №: 57 619

|
Цитата(Fast @ May 11 2011, 19:50)  тогда может в лоб... Непонятно - почему не опробовать такой подход Вот "ползет" по буферу задержки эта входная импульсная последовательность, выбранный фрагмент умножается на соответствующие коэффициенты FIR-фильтра, на выходе "выползает" задержанный дельта-импульс... -Но это же в Matlabe обычная переопределенная задача, когда уравнений больше чем, неизвестных коэффициентов, решается методом минимизацией квадратов отклонения... а фактически - это одна строчка записи Matlab-a x=A\b; Естественно, размерности фильтра и задержки - придется подобрать практически
Сообщение отредактировал sinc_func - May 11 2011, 16:58
|
|
|
|
|
May 11 2011, 17:22
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Вот "ползет" по буферу задержки эта входная импульсная последовательность, Собственно импульсная характеристика? QUOTE выбранный фрагмент умножается на соответствующие коэффициенты FIR-фильтра, На какие именно коэффициенты?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 11 2011, 17:55
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 29-05-10
Из: Пенза
Пользователь №: 57 619

|
Цитата(Rst7 @ May 11 2011, 21:22)  Собственно импульсная характеристика? Я практиковал этот способ одно время для синтеза коэффициентов нестандартных фильтров В вашем случае - запускаем дельта-импульс в ваш фильтр (канал) и из него "выползает" импульсная характиристика, далее - ее вводим в компенсирующий фильтр - и из него "выползает" задержанный дельта-импульс (в идеале) Для каждого такта мы можем представить содержимое линии задержки компенсирующего фильтра (все известно), далее это содержимое умножается на неизвестные коэффициенты и суммируется - это FIR -фильтр - Для каждого такого обсчета - на выходе - ноль, кроме места где стоит дельта-импульс (где его поставить - это вопрос творческий).. Уравнений здесь естественно много больше чем неизвестных коэффициентов фильтра, да и строгого равенства в уравнениях выше там быть не может Матлаб такие системы решает минимизацией суммы квадратов отклоненний Там уже в нем это все встроено и решается обратно-слэшовым делением И задача сводится к тому , чтобы набить матрицы A (строки - поток данных в буфере FIR фильтра) и вектора(столбец) b (выход - нули, кроме места дельта импульса) После синтеза коэффициентов: x=A\b; делается подстановка коэффициентов и смотрится, что получилось практически - как упоминалось выше - точного равенства там нет - и при необходимости меняется размер FIR фильтра и позиция выходного дельта-импульса -------------------------------------------- То есть если сделаем просто перемножение матриц обратно A*x =b2 как среднеквадратичное приближение к b (желаемому результату) - для понимания - наиболее просто именно такое представление
Сообщение отредактировал sinc_func - May 12 2011, 04:46
|
|
|
|
|
May 13 2011, 08:26
|
Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811

|
Цитата(Rst7 @ May 11 2011, 19:30)  Так, подождите, господа, не так быстро. Я так понимаю, что все предложенные эквалайзеры заточены под онлайн-обучение. У меня ситуация чуть другая - есть импульсная характеристика, снятая с хорошей точностью, практически без шумов, лишних выбросов и прочих помех. Вот на основе ее и надо построить коэффициенты. Не нужно сложностей типа адаптации на ходу, тракт у меня считается стабильный. Онлайн-обучение не является обязательным, если у Вас на входе известный сигнал. Например компенсационный фильтр, форма АЧХ которого выбирается в соответствие с требованиями к коррекции частотных потерь в обрабатываемом сигнале, может быть рассчитан оффлайн. Критерий расчета может быть минимум СКО. Недавно только у Васильва и Муро об этом читал. Авторы отмечают, что методика расчета ошибки при воспроизведение АЧХ достаточна сложна, но дают ссылку на Рабинер Л. Теория и применение цифровой обработки сигналов. 1978 г., там более подробна рассмотрена эта проблематика.
|
|
|
|
|
May 13 2011, 08:48
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(Rst7 @ May 11 2011, 15:02)  Господа, что-то у меня совсем голова не варит, не могу сформулировать правильный вопрос для гугли.
Ситуация следующая:
Есть некий тракт передачи сигнала, есть его импульсный отклик.
Есть ли возможность (и если есть - как это сделать) построить на основе этого отклика коэффициенты для КИХ-фильтра (для простоты - с той же частотой дискретизации, что и оцифровка самого отклика на единичный импульс), чтобы скомпенсировать этим фильтром в первом приближении неравномерность АЧХ в желаемой полосе частот, в более общем случае - убрать эффекты дисперсии и многолучевого распространения (допустим, зануление коэффициента передачи на каких-либо частотах отсутствует, нет провалов до нуля за счет интерференции, ну и вообще цифры неравномерности в канале адекватны, скажем, 10...20дБ) ? Есть методика построения цифрового фильтра по заданной АЧХ (графически заданной например ). Почитать можно у Айфичер Э. Джервис Б. Цифровая обработка сигналов. Практический подход. 2-е издание. 2004г. Очень доступно и ясно все излагают. http://lord-n.narod.ru/download/books/wall...vis.B.part1.rarhttp://lord-n.narod.ru/download/books/wall...vis.B.part2.rar
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
May 14 2011, 09:52
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Примерно то, о чем писал sinc_func. Код Lf = 40; % длина фильтра-корректора h = randn(5,1); % импульсная характеристика тракта H = convmtx(h, Lf); d = zeros(length(h)+Lf-1,1); d(fix(end/2)) = 1; % желаемая ИХ системы тракт-корректор f = pinv(H)*d; % ИХ фльтра-корректора % рисуем d и то что получилось фактически plot(1:length(d), d, 1:length(d), conv(f,h))
--------------------
ну не художники мы...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|