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

Корреляционная матрица

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

 

Стоит задача подавления шума с помощью адаптивного фильтра.

 

Нашел один автореферат к диссеру - там приведены алгоритмы. Автор пишет, что для подавления шума использовал следующие алгоритмы:

- МНС (методу наискорейшего спуска);

- НОМ (непосредственного обращения ковариационной матрицы);

- МСКО (миним. среднеквадратической ошибки).

 

МНС понятно - алгоритм LMS для стационарного сигнала. А вот НОМ - это как раз то, что я спросил, т.е. непрерывное обновление коэф. фильтра за счет обновления корреляц. матрицы? МСКО - это вообще критерий... Или есть алгоритм?

 

Как найти корреляц. матрицу для стационарного процесса я знаю, а как для нестационарного?

 

Спасибо.

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


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

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

 

Фильтр Винера это и есть истинный адаптивный фильтр если так можно выразиться - никаких ложных оптимумов. :) . Все остальные - это компромисс. Но почему же на него идут? Ну а Вы в состоянии "прикинуть в уме" вычислительную сложность фильтра Винера?

 

Стоит задача подавления шума с помощью адаптивного фильтра.

Круто... Это как в курилке вопрос "а используете ли вы математику..." Это я к тому что ужасно общий вопрос. Шум шуму рознь, если можно так выразиться. И в отдельном конкретном случае уменьшение вычислительной сложности может быть просто астрономически-качественным. Собственно тем и промышляем :rolleyes: ...

 

Нашел один автореферат к диссеру - там приведены алгоритмы. Автор пишет, что для подавления шума использовал следующие алгоритмы:

- МНС (методу наискорейшего спуска);

- НОМ (непосредственного обращения ковариационной матрицы);

- МСКО (миним. среднеквадратической ошибки).

 

МНС понятно - алгоритм LMS для стационарного сигнала. А вот НОМ - это как раз то, что я спросил, т.е. непрерывное обновление коэф. фильтра за счет обновления корреляц. матрицы? МСКО - это вообще критерий... Или есть алгоритм?

Не знаю не читал, тяжело понять с "пересказа" что хотел сказать аФФтАр. Если можно - ссылочку.

 

Как найти корреляц. матрицу для стационарного процесса я знаю, а как для нестационарного?

ммм...!? :wacko: :07:

Спасибо.

Нифигасе... а деньги де? :07: Шютка...

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


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

Фильтр Винера это и есть истинный адаптивный фильтр если так можно выразиться - никаких ложных оптимумов. :) . Все остальные - это компромисс. Но почему же на него идут? Ну а Вы в состоянии "прикинуть в уме" вычислительную сложность фильтра Винера?

я так и представлял. Согласен, вычислительная сложность просто сумасшедшая.

 

Круто... Это как в курилке вопрос "а используете ли вы математику..." Это я к тому что ужасно общий вопрос. Шум шуму рознь, если можно так выразиться. И в отдельном конкретном случае уменьшение вычислительной сложности может быть просто астрономически-качественным. Собственно тем и промышляем :rolleyes: ...

пространственная обработка. Основной канал - с сигналом и помехой и дополнительный канал - с помехой.

 

Не знаю не читал, тяжело понять с "пересказа" что хотел сказать аФФтАр. Если можно - ссылочку.

к сожалению он в бумаге...((

 

а как насчет корреляц. матрицы нестац. процесса?

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


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

- МСКО (миним. среднеквадратической ошибки).

 

скорее всего это LMS.

 

Как найти корреляц. матрицу для стационарного процесса я знаю, а как для нестационарного?

 

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

блок.

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


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

скорее всего это LMS.

но насколько я понимаю, метод наискорейшего спуска - это и есть LMS... В принципе, это не суть...

 

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

блок.

если например, фильтр порядка 32. Это ведь можно считать блоком? Т.е. получается, находить матрицу как для стационарного процесса?

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


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

пространственная обработка. Основной канал - с сигналом и помехой и дополнительный канал - с помехой.

Опять же - канал с помехой абсолютной той которая идет в основной канал? Или просто позволяет дать оценку(например средняя мощность на интервале) помехе основного канала? Здесь тоже пропасть...

 

к сожалению он в бумаге...((

тайны мадридского двора, я понимаю ;)

а как насчет корреляц. матрицы нестац. процесса?

ммм... я немного не понимаю как Вы себе это представляете. Окно (1-D, 2-D... n-D) движется. С приходом каждого нового (и потерей выбывающего) отсчета абсолютно все пересчитывается заново - включая корреляционную матрицу. Очевидно, что при нестационарном процессе все будет постоянно пересчитываться. Если же намереваетесь для уменьшения количества вычислений сделать какую либо "оценку" то это уже будет не Винер...

 

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

При этом половина фильтра переносится в моСК самого проектировщика и теряет связь с понятием фильтра Винера.

Оценивать корреляционные матрицы и считать коэф. фильтра один раз на

блок.

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

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


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

Опять же - канал с помехой абсолютной той которая идет в основной канал? Или просто позволяет дать оценку(например средняя мощность на интервале) помехе основного канала? Здесь тоже пропасть...

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

 

тайны мадридского двора, я понимаю ;)

да нет, я просто накопал его в библиотеке и отксерил.

 

ммм... я немного не понимаю как Вы себе это представляете. Окно (1-D, 2-D... n-D) движется. С приходом каждого нового (и потерей выбывающего) отсчета абсолютно все пересчитывается заново - включая корреляционную матрицу. Очевидно, что при нестационарном процессе все будет постоянно пересчитываться. Если же намереваетесь для уменьшения количества вычислений сделать какую либо "оценку" то это уже будет не Винер...

скорее всего я чего-то не понимаю(((.

Судя из ваших слов, для стационарного сигнала мы можем рассчитать КМ только один раз, определить коэф. фильтра и всё. Т.е. можно не пересчитывать коэф.? Т.е. матрица будет постоянна для стац. сигнала?

Для нестационарного же КМ будет постоянно меняться? Именно поэтому мы и должны её рассчитывать на каждом отсчете?

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


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

...Диплом :rolleyes: ...

Епрст... :biggrin:

Нельзя так пугать людей... :biggrin:

скорее всего я чего-то не понимаю(((.

Судя из ваших слов, для стационарного сигнала мы можем рассчитать КМ только один раз, определить коэф. фильтра и всё. Т.е. можно не пересчитывать коэф.? Т.е. матрица будет постоянна для стац. сигнала?

Для нестационарного же КМ будет постоянно меняться? Именно поэтому мы и должны её рассчитывать на каждом отсчете?

Да, потому, что постоянно будет меняться "ситуация" на интервале рассмотрения - по сути все время это уже новая функция.

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


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

Да, потому, что постоянно будет меняться "ситуация" на интервале рассмотрения - по сути все время это уже новая функция.

ок))) уже появляется свет)))

а как матрица будет выглядеть и как её посчитать?

Ведь для стац. проц. - это тёплицева матрица. А для нестац.? Или она тоже будет иметь такой же вид, но просто постоянно обновляться?

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


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

При этом половина фильтра переносится в моСК самого проектировщика и теряет связь с понятием фильтра Винера.

 

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

 

Если нельзя считать сигнал стационарным на каком-либо отрезке, то скорее всего задача не решаемая :), либо чтобы посчитать корреляционную матрицу нужно знать многомерную PDF :). Насчет того что упоминать всуе Винера здесь не корректно полностью согласен.

 

 

ок))) уже появляется свет)))

а как матрица будет выглядеть и как её посчитать?

Ведь для стац. проц. - это тёплицева матрица. А для нестац.? Или она тоже будет иметь такой же вид, но просто постоянно обновляться?

А как Вы для стационарного процесса, эту самую, теплицеву матрицу собирались находить?

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


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

А как Вы для стационарного процесса, эту самую, теплицеву матрицу собирались находить?

 

имеем блок отсчетов входного сигнала x[n] длиной N.

Корр. матрица имеет вид:

____| rx(0) rx*(1) rx*(2) ... rx*(N-1) |

____|

____| rx(1) rx(0) rx*(1) ... rx*(N-2) |

____|

____| rx(2) rx(1) rx(0) ... rx*(N-3) |

____|

Rx = | ... ... ... ... ... |

____|

____| rx(N-1) rx(N-2) ... ... rx(0) |

 

 

 

где rx(m) = sum{x*[n] * x[m+n]} n=0...N-1

Изменено пользователем otshelnik86

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


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

имеем блок отсчетов входного сигнала x[n] длиной N.

Корр. матрица имеет вид

rx(0) rx*(1) rx*(2) ... rx*(N-1)....

 

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

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


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

Если нельзя считать сигнал стационарным на каком-либо отрезке, то скорее всего задача не решаемая :)

Да, но условие стационарности "сверху" ограничивает частота Найквиста-Котельникова. Именно отсюда и минимально возможный(хотя и не всегда нужный) шаг адаптации в один отсчет. Но это вообще-то очевидно и я описываю общий "книжный" случай. :)

либо чтобы посчитать корреляционную матрицу нужно знать многомерную PDF :).

Именно, я об этом же...

 

Ведь для стац. проц. - это тёплицева матрица. А для нестац.? Или она тоже будет иметь такой же вид, но просто постоянно обновляться?

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

 

Но подождите ка, otshelnik86, я тут подумал и вообще потерял нить разговора. А что собственно "адаптировать"? :wacko::wacko: :wacko: Взяли сигнал помехи и вычли из сигнала простой операцией "-" умноженный на коэффициент :07: . Что должно адаптироваться? Антенны то (пусть даже сменные) в течении одного сеанса связи - стационарны. Или надо, например, "подобрать"(адаптировать) влияние угла поворота антенны с острой ДН на ДН(диполь, например) ненаправленной антенны? Просто иначе это будет адаптивный фильтр с одним отводом :07: типа S = Santpar - Santgp*h и вот это то h и надо подобрать, выходит? Тогда, легче перебрать с определенным шагом :biggrin: . И Винер, Вам, скорее всего, задали именно чтобы не влезть в локальный минимум.

 

Только не говорите что я - прав и звено у требуемого фильтра только одно. Я не хочу знать смогу ли я пережить такой удар судьбы :biggrin: ... шутка...

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


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

Да, но условие стационарности "сверху" ограничивает частота Найквиста-Котельникова. Именно отсюда и минимально возможный(хотя и не всегда нужный) шаг адаптации в один отсчет. Но это вообще-то очевидно и я описываю общий "книжный" случай. :)

 

Именно я об этом же...

 

 

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

 

Но подождите ка, otshelnik86, я тут подумал и вообще потерял нить разговора. А что собственно "адаптировать"? :wacko::wacko: :wacko: Взяли сигнал помехи и вычли из сигнала простой операцией "-" умноженный на коэффициент :07: . Что должно адаптироваться? Антенны то (пусть даже сменные) в течении одного сеанса связи - стационарны. Или надо,например, "подобрать"(адаптировать) влияние угла поворота антенны с острой ДН на ДН(диполь, например) ненаправленной антенны? Просто иначе это будет адаптивный фильтр с одним отводом :07: типа S = Santpar - Santgp*h и вот это то h и надо подобрать, выходит? Тогда, легче перебрать с определенным шагом :biggrin: . И Винер, Вам, скорее всего, задали именно чтобы не влезть в локальный минимум.

 

Только не говорите что я - прав и звено у требуемого фильтра только одно. Я не хочу знать смогу ли я пережить такой удар судьбы :biggrin: ...

нет, я не настолько жестокий)))))

 

давайте тогда подробно попробую объяснить чего мне хочется)))) Винера мне не задали. Сам копаюсь.

===========================================

По Сергиенко "ЦОС" 2-е изд. Глава "Адаптивные фильтры". с.589 - 592

Входной сигнал x[n] - сигнал с доп. антенны (ДК) - содержит помеху;

образцовый сигнал d[n] - сигнал с основной антенны (ОК) - содержит слабый полезный сигнал и помеху, принимаемую по БЛ ДНА (бок. лепесткам диаграммы направленности антенны);

сигнал ошибки e[n] - насколько я понимаю, должен содержать выделенный полезный сигнал

....

приходим к уравнению Винера w = (R^-1) * p

R - квадратная матрица, являющаяся корреляционной матрицей сигнала. R = E{x(n) * xT(n)} (xT - транспонированный)

p - вектор-столбец взаимных корреляций между k-ым отсчетом образцового сигнала и содержимым линии задержки на k-ом шаге.

...

т.е. в этом случае мы получим минимум среднего квадрата ошибки e[n]. Сигнал ошибки фильтра Винера некоррелирован со входным и выходным сигналами фильтра (т.е. это полезный сигнал).

 

с.180 там же:

.... если процесс нестационарный, то элементы матрицы могут быть различными. В случае стационарного процесса КМ полностью определяется своими первыми строкой и столбцом.

===========================================

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

Компенсатор не для канала связи, а для РЛС кругового обзора. Постоянное сканирование пространства.

 

может я туплю и не совсем верно понимаю, но мне интересно...

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


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

А когда диплом то сдавать? ИМХО не время исследованиями заниматься, можно и не успеть. Данная задача наверняка решена, литературу просто поискать. Хотя бы Уидроу читали? Матрицы никто не обращает, есть куча всяких быстрых алгоритмов. Я так понимаю что алгоритм должен успевать настраиваться за поворотом антенны, а если помеха импульсная то переходный процесс по любому будет.

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


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

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

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

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

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

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

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

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

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

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