Шаманъ 1 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба Приветствую всех! Вычисляю среднеквадратичную мощность шума и логарифмирую: p = log(sum(x^2)/n), тут все понятно :) Если при вычислении мощности шума производить усреднение после логарифмирования, вот так: p = sum(log(x^2)/n), то результат будет смещенным, и потребуется коррекция. Теперь вопрос. Если я вычисляю мощность шума блоками по 512отсчетов, потом логарифмирую и еще раз усредняю. Будет ли последнее усреднение вносить смещение и как оценить ошибку (если она будет)? Заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба Если при вычислении мощности шума производить усреднение после логарифмирования, вот так: p = sum(log(x^2)/n), то результат будет смещенным, и потребуется коррекция. Шаманъ, меняйте бубен! Срочно!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба p = sum(log(x^2)/n) Это что-то странное. Тоогда уж p = sum(log(x^2))/n чтоб осреднять. Но сумма логарифмов не равна логарифму суммы. Цель в чем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 14 апреля, 2016 Опубликовано 14 апреля, 2016 · Жалоба p = sum(log(x^2)/n) Это что-то странное. Тоогда уж p = sum(log(x^2))/n чтоб осреднять. Да, описка вышла. Но сумма логарифмов не равна логарифму суммы. Цель в чем? Я в курсе, что не равна, оттого и вопрос. Цель собственно в теме топика. Если посмотреть на вопрос немного шире, то в древних анализаторах спектра логарифмирование было до усреднения (видеофильтр) и потом выводили коррекцию для точного измерения мощности шума. Мне очень неудобно усреднять блоками более 512 отсчетов, вот и возникла такая идея. В принципе мне достаточно оценить погрешность которая может при этом возникнуть, чтобы решить применим ли такой метод. Что, сильно плохая мысль :rolleyes: ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mcheb 0 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба В принципе мне достаточно оценить погрешность которая может при этом возникнуть, чтобы решить применим ли такой метод. Что, сильно плохая мысль :rolleyes: ? Допустим, один отсчёт равен 0. Тогда log(0^2) == ну в общем, идея понятна Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба идея понятна Нет. Логарифм среднего не может быть нулем в оригинальном алгоритме? Это обычная процедура по анализу числа на около-ноль перед логарифмированием. Автор, Цель мне все-равно не ясна. В чем принципиальная разница? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба Автор, Цель мне все-равно не ясна. В чем принципиальная разница? В смысле почему просто не усреднить бОльший блок, а потом взять логарифм? Это ограничения железа - мне придется переходить на вычисления с разрядностью 72 или 96 бит, получается очень непроизводительно. Есть правда одна идея - попробую сегодня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
тау 31 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба Будет ли последнее усреднение вносить смещение и как оценить ошибку (если она будет)? допустим Вы складываете 40dBm + (-20dBm) + (-20dBm) для усреднения получили 0 dbm в среднем . Ошибка есть и не маленькая . так делать нельзя, короче. И потом , кто мешает усреднять уже усредненные значения до логарифмирования ? Вычислений же меньше , один раз логарифмировать вместо ...надцати. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба p = sum(log(x^2)/n) Это что-то странное. Тогда уж, p = sum(log(x^2))/n чтоб осреднять. У вас какая-то своя математика? Закон дистрибутивности в ней уже не работает? В обычной математике: p = sum(log(x^2)/n) = a/n + b/n +...+ z/n = (a + b +...+ z)/n = sum(log(x^2))/n Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 15 апреля, 2016 Опубликовано 15 апреля, 2016 (изменено) · Жалоба Вот тут хорошо написано про особенности усреднения до и после http://cp.literature.agilent.com/litweb/pdf/5966-4008E.pdf Изменено 15 апреля, 2016 пользователем D.I.M.A Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба У вас какая-то своя математика? Закон дистрибутивности в ней уже не работает? В обычной математике: p = sum(log(x^2)/n) = a/n + b/n +...+ z/n = (a + b +...+ z)/n = sum(log(x^2))/n Закон работает, я кстати тоже об этом подумал сразу, но суть лучше отображает откорректированная формула. К тому же из-за усечения разрядности закон дистрибутивности на реальном железе нарушается, но то тонкости не относящиеся непосредственно к теме. допустим Вы складываете 40dBm + (-20dBm) + (-20dBm) для усреднения получили 0 dbm в среднем . Ошибка есть и не маленькая . так делать нельзя, короче. Не, там совсем другие числа например -140, -142, -139, и т.д. Ведь в реальности я усредняю предварительно усредненные, а потом логарифмированные мощности, а не мгновенные. И потом , кто мешает усреднять уже усредненные значения до логарифмирования ? Вычислений же меньше , один раз логарифмировать вместо ...надцати. Я уже писал - мешает железо, но с утра пришла хорошая мысль, и она работает :) Правда считать пришлось в числах 96бит :laughing: Вот тут хорошо написано про особенности усреднения до и после http://cp.literature.agilent.com/litweb/pdf/5966-4008E.pdf Спасибо! Пмню когда-то читал этот документ, но ссылку потерял, а с ходу что-то не нашлось... Нашел свой случай: Averaging a number of computed results If we average individual channel-power measurements to get a lower-variance final estimate, we do not have to convert dB-format answers to absolute power to get the advantages of avoiding log averaging. The individual measurements, being the results of many measurement cells summed together, no longer have a distribution like the "logged Rayleigh" but rather look Gaussian. Also, their distribution is sufficiently narrow that the log (dB) scale is linear enough to be a good approximation of the power scale. Thus, we can dB-average our intermediate results. Выходит я зря переделал код измерителя мощности :) Но зато теперь у меня их два варианта Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 15 апреля, 2016 Опубликовано 15 апреля, 2016 · Жалоба У вас какая-то своя математика? Закон дистрибутивности в ней уже не работает? В обычной математике: p = sum(log(x^2)/n) = a/n + b/n +...+ z/n = (a + b +...+ z)/n = sum(log(x^2))/n Тупанул, виновен :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 18 апреля, 2016 Опубликовано 18 апреля, 2016 · Жалоба Приветствую всех! Вычисляю среднеквадратичную мощность шума и логарифмирую: p = log(sum(x^2)/n), тут все понятно :) Если при вычислении мощности шума производить усреднение после логарифмирования, вот так: p = sum(log(x^2)/n), Так делать нельзя. sum(log(x^2)/n) = sum(log((x^2)^(1/n))))=sum(log(x^(2/n))) Вы уверены, что Вам именно это надо. Свойства log Вам в помощь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 19 апреля, 2016 Опубликовано 19 апреля, 2016 · Жалоба Так делать нельзя. sum(log(x^2)/n) = sum(log((x^2)^(1/n))))=sum(log(x^(2/n))) Вы уверены, что Вам именно это надо. Свойства log Вам в помощь. То, что Вы написали, мне точно не нужно ;) Вы просто не поняли, что я спрашивал. Я прекрасно понимаю, что логарифм среднего и средний логариф никак не равны. Вопрос несколько оторван от чистой математики, и хоть знак равенства поставить нельзя, но именно так делали старые анализаторы спектра, потому там и возникали коррекции для разных "типов" сигналов. Собственно ответ уже найден в одном из документов от НР и приведен выше в виде цитаты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 20 апреля, 2016 Опубликовано 20 апреля, 2016 · Жалоба Приветствую всех! Вычисляю среднеквадратичную мощность шума и логарифмирую: p = log(sum(x^2)/n), тут все понятно :) Если при вычислении мощности шума производить усреднение после логарифмирования, вот так: p = sum(log(x^2)/n), то результат будет смещенным, и потребуется коррекция. Теперь вопрос. Если я вычисляю мощность шума блоками по 512отсчетов, потом логарифмирую и еще раз усредняю. Будет ли последнее усреднение вносить смещение и как оценить ошибку (если она будет)? Заранее спасибо! Усреднение логарифмов это логарифм среднего геометрического, про которое точно известно только то, что оно не превышает среднего арифметического. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться