Jump to content

    
Sign in to follow this  
my504

Медиана векторного массива

Recommended Posts

Простой вопрос №1.

Имеется некий массив двумерных векторов (окно комплексных значений сигнала). Нужно найти медианное значение амплитуды.

Правильно ли я понимаю, что для этого достаточно найти медианные значения Re и Im компонент и из них  получить искомую амплитуду (модуль)?

Простой вопрос №2 - основной.

После нахождения медианной амплитуды есть желание найти среднеквадратичное значение шума в этом массиве. Для этого я медианные значения Re и Im вычитаю из своих массивов и после этого нахожу среднеквадратичные значения Re и Im. И из них получаю искомое среднеквадратичное значение шума (модуль).

Есть ли тут что нибудь против истины?

Спасибо.

Share this post


Link to post
Share on other sites

Хочу уточнить, вы понимаете отличие медианного значения от среднего?
И почему не вычисляете амплитуду каждого своего вектора, а уже потом не ищете нужное?

Share this post


Link to post
Share on other sites
4 minutes ago, ViKo said:

Хочу уточнить, вы понимаете отличие медианного значения от среднего?
И почему не вычисляете амплитуду каждого своего вектора, а уже потом не ищете нужное?

Конечно понимаю. Это нелинейный фильтр, в отличии от среднего. Иначе я бы вопрос не задавал.

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

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

Share this post


Link to post
Share on other sites
34 минуты назад, my504 сказал:

Для этого я медианные значения Re и Im вычитаю из своих массивов

А вот это что значит?
Выбросьте пораженные выборки. А остальные фильтруйте, вычисляйте среднеквадратичные значения и т.д.

Share this post


Link to post
Share on other sites
29 minutes ago, ViKo said:

Выбросьте пораженные выборки.

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

По сути весь мой вопрос сводится к корректности векторного вычисления среднеквадратичного отклонения.

Share this post


Link to post
Share on other sites
6 часов назад, my504 сказал:

Простой вопрос №1.

Имеется некий массив двумерных векторов (окно комплексных значений сигнала). Нужно найти медианное значение амплитуды.

Правильно ли я понимаю, что для этого достаточно найти медианные значения Re и Im компонент и из них  получить искомую амплитуду (модуль)?

Простой вопрос №2 - основной.

После нахождения медианной амплитуды есть желание найти среднеквадратичное значение шума в этом массиве. Для этого я медианные значения Re и Im вычитаю из своих массивов и после этого нахожу среднеквадратичные значения Re и Im. И из них получаю искомое среднеквадратичное значение шума (модуль).

Есть ли тут что нибудь против истины?

Спасибо.

1. Найти модули (квадраты) всех элементов.

    Упорядочить по по величине.

    Взять значение (корень из) из середины  отсортированного массива.

    Это и будет медиана амплитуды.

2.

 Все согласно учебникам по мат статистике.

 Найти выборочное среднее амплитуды (сумма амплитуд деленное на их количество).

 Отнять его от амплитуд.

 Возвести в квадрат полученные значения.

 Просуммировать их.

 Поделить результат на число элементов (смещенная оценка) или на число элементов без 1 (несмещенная оценка).

 Из полученного значения извлечь квадратный корень.

Это и будет среднеквадратическое значение шума. Понятно, что с медианой это связано весьма не очень. Т е замена выборочного среднего на медиану вообще говоря может вас жестоко обмануть. Все зависит от условий задачи. Распределения данных. Да фикзнает, от чего еще... Например, плотность вероятности распределения данных имеет несколько почти равных максимумов (мод). А если еще и процесс не эргодический? Короче говоря в общем случае - у-у-у.

Share this post


Link to post
Share on other sites
42 minutes ago, looser said:

1. Найти модули (квадраты) всех элементов.

    Упорядочить по по величине.

    Взять значение (корень из) из середины  отсортированного массива.

    Это и будет медиана амплитуды.

Скорее всего я неполно описал условия.

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

Собственно на этом и строится обнаружение на фоне помех. Поэтому скалярная фильтрация тут полностью исключена. Иначе я вместо фильтрации получу интегрирование помеховой составляющей в отсутствии сигнала, что вызовет ложные срабатывания. Это подтверждено практикой почти 10-летней давности.

Отсюда непонятно почему ВЕКТОРНОЕ медианное значение, которое находится как статистически наиболее достоверное нельзя принять за ноль в массиве и от него считать уровень помех?

Еще раз повторю, уровень помех нужен для определения порогового условия отсечения сигнала, как ложного. И только для этого.

Так же уточню, что помехи не носят шумового характера. Они есть продукт приема асинхронных с этим обнаружителей, а так же источников помех промышленного типа (ЭПРА светильников, AC-DC преобразователи, частотное управление асинхронными двигателями и т.п.)

Share this post


Link to post
Share on other sites
46 минут назад, my504 сказал:

Скорее всего я неполно описал условия.

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

Собственно на этом и строится обнаружение на фоне помех. Поэтому скалярная фильтрация тут полностью исключена. Иначе я вместо фильтрации получу интегрирование помеховой составляющей в отсутствии сигнала, что вызовет ложные срабатывания. Это подтверждено практикой почти 10-летней давности.

Отсюда непонятно почему ВЕКТОРНОЕ медианное значение, которое находится как статистически наиболее достоверное нельзя принять за ноль в массиве и от него считать уровень помех?

Еще раз повторю, уровень помех нужен для определения порогового условия отсечения сигнала, как ложного. И только для этого.

Так же уточню, что помехи не носят шумового характера. Они есть продукт приема асинхронных с этим обнаружителей, а так же источников помех промышленного типа (ЭПРА светильников, AC-DC преобразователи, частотное управление асинхронными двигателями и т.п.)

Дык не понятно, что вам нужно. Есть точка на комплексной плоскости и пятно вокруг нее - шум. Стд этого шума определяется совершенно стандартно (тавтология). Если помеха детерминированная, не проще от нее отфильтроваться? Векторное медианное значение, это что-то из псевдонаучного разряда. Сами посудите: есть комплексный сигнал (i-q коррелированны). И внезапно возникает помеха только по i или q каналу. Это вообще-то беда с реализацией но отнюдь не фундаментальная. Не?

Share this post


Link to post
Share on other sites
9 hours ago, looser said:

Дык не понятно, что вам нужно. 

Неужели я так плохо объясняю?

НЕ СТОИТ задача измерения амплитуды сигнала. Обнаружение сигнала и его измерение - это две РАЗНЫЕ задачи.

Поэтому ПРЕЖДЕ всего нужно рассматривать ПОМЕХУ В ОТСУТСТВИИ СИГНАЛА. Дабы отличить ее от сигнала и максимально исключить ложные срабатывания.

А помеху отличает от сигнала ПРЕЖДЕ ВСЕГО - случайная (в рамках окна, конечно) фаза. Потому что источник помех ничего не знает о накачке и он с ней не когерентен. Амплитуда (модуль) помехи тоже случайны, но вероятность достаточно стабильной амплитуды помехи гораздо выше, чем стабильного вектора этой же помехи. Вы же мне советуете считать медиану скалярным образом... И чем нелинейный фильтр отличается в этом смысле от линейного? Почему квадратурный SDR на входе делать нужно, а квадратурный медианный - это не по учебнику?

И причем тут только I или только Q? Раздельная обработка не подразумевает отдельного изменения только одной компоненты во входном сигнале. Нет никакой разницы между двухканальной фильтрацией модуля-фазы или алгебраической формы.

Мой вопрос был вообще то в том, как корректно преобразовать комплексную помеху в окне в интегральную амплитуду этой помехи. А совсем не про скалярность-векторность фильтра.

Share this post


Link to post
Share on other sites
6 часов назад, my504 сказал:

Неужели я так плохо объясняю?

Плохо. Если вы и так все знаете, к чему вопросы?

 

20 часов назад, my504 сказал:

После нахождения медианной амплитуды есть желание найти среднеквадратичное значение шума в этом массиве.

 

Share this post


Link to post
Share on other sites
34 minutes ago, looser said:

Плохо. Если вы и так все знаете, к чему вопросы?

Когда люди не понимают вопрос, то они не дают ответ, а уточняют вопрос.

Давать общие ответы на конкретный вопрос вряд ли продуктивно. Тем более, что вы так и не объяснили мне причину отказа от комплексной фильтрации в нелинейном фильтре. Я бы принял вменяемую аргументацию.

Если с этим у нас разногласий нет, то почему нельзя принимать выходное значение медианы как достоверное и не использовать его в качестве базы для расчета шума?

Share this post


Link to post
Share on other sites
21 hours ago, my504 said:

Простой вопрос №1.

Имеется некий массив двумерных векторов (окно комплексных значений сигнала). Нужно найти медианное значение амплитуды.

Правильно ли я понимаю, что для этого достаточно найти медианные значения Re и Im компонент и из них  получить искомую амплитуду (модуль)?

Нет, не правильно.

 

Чтобы в этом убедиться, достаточно рассмотреть массив из девяти векторов симметрично расположенных относительно прямой Im = Re, причем, вершины этих векторов лежат на кривой, заданной уравнением гиперболы: Im = 1/Re.

 

Вот график вершин этих векторов на комплексной плоскости:

Median.jpg

 

Очевидно, что значение медианы по обеим координатам Im и Re равно 1,0.

 

Также очевидно, что значение медианы для модуля, равное 3.0185, не совпадает со значением модуля для медианы, равного abs(1+j) = 1.4142.

 

Share this post


Link to post
Share on other sites
1 minute ago, blackfin said:

причем, вершины этих векторов лежат на кривой, заданной уравнением параболы: Im = 1/Re.

 

Откуда взято это условие? Или это просто пример, когда я неправ?

Share this post


Link to post
Share on other sites
15 minutes ago, blackfin said:

Очевидно, что значение медианы по обеим координатам Im и Re равно 1,0.

Также очевидно, что значение медианы для модуля не совпадает со значением модуля для медианы.

PS. Значение медианы для модуля равно 3.0185

А откуда берется утверждение, что 3,01085 - верно, а 1 - нет? Мы ведь не математику обсуждаем, а получение достоверного значения сигнала. В каком месте предложенного примера есть исходная сумма сигнала и помехи, чтобы понять достоверность одного из результатов?

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this