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

 
 
 
Reply to this topicStart new topic
Шаманъ
сообщение Apr 14 2016, 15:21
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Приветствую всех!

Вычисляю среднеквадратичную мощность шума и логарифмирую:

p = log(sum(x^2)/n),

тут все понятно sm.gif

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

p = sum(log(x^2)/n),

то результат будет смещенным, и потребуется коррекция.

Теперь вопрос. Если я вычисляю мощность шума блоками по 512отсчетов, потом логарифмирую и еще раз усредняю. Будет ли последнее усреднение вносить смещение и как оценить ошибку (если она будет)?

Заранее спасибо!
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 14 2016, 15:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Шаманъ @ Apr 14 2016, 19:21) *
Если при вычислении мощности шума производить усреднение после логарифмирования, вот так:

p = sum(log(x^2)/n),

то результат будет смещенным, и потребуется коррекция.

Шаманъ, меняйте бубен! Срочно!! biggrin.gif
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Apr 14 2016, 16:20
Сообщение #3


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



p = sum(log(x^2)/n)
Это что-то странное. Тоогда уж
p = sum(log(x^2))/n
чтоб осреднять. Но сумма логарифмов не равна логарифму суммы. Цель в чем?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 14 2016, 20:02
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(jorikdima @ Apr 14 2016, 19:20) *
p = sum(log(x^2)/n)
Это что-то странное. Тоогда уж
p = sum(log(x^2))/n
чтоб осреднять.

Да, описка вышла.

Цитата
Но сумма логарифмов не равна логарифму суммы. Цель в чем?

Я в курсе, что не равна, оттого и вопрос. Цель собственно в теме топика. Если посмотреть на вопрос немного шире, то в древних анализаторах спектра логарифмирование было до усреднения (видеофильтр) и потом выводили коррекцию для точного измерения мощности шума. Мне очень неудобно усреднять блоками более 512 отсчетов, вот и возникла такая идея.

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

Что, сильно плохая мысль rolleyes.gif ?
Go to the top of the page
 
+Quote Post
mcheb
сообщение Apr 15 2016, 02:04
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 30-05-06
Пользователь №: 17 602



Цитата(Шаманъ @ Apr 15 2016, 00:02) *
В принципе мне достаточно оценить погрешность которая может при этом возникнуть, чтобы решить применим ли такой метод.

Что, сильно плохая мысль rolleyes.gif ?

Допустим, один отсчёт равен 0. Тогда log(0^2) == ну в общем, идея понятна
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Apr 15 2016, 02:53
Сообщение #6


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(mcheb @ Apr 15 2016, 05:04) *
идея понятна

Нет. Логарифм среднего не может быть нулем в оригинальном алгоритме?
Это обычная процедура по анализу числа на около-ноль перед логарифмированием.

Автор, Цель мне все-равно не ясна. В чем принципиальная разница?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 15 2016, 04:36
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(jorikdima @ Apr 15 2016, 05:53) *
Автор, Цель мне все-равно не ясна. В чем принципиальная разница?

В смысле почему просто не усреднить бОльший блок, а потом взять логарифм? Это ограничения железа - мне придется переходить на вычисления с разрядностью 72 или 96 бит, получается очень непроизводительно. Есть правда одна идея - попробую сегодня.
Go to the top of the page
 
+Quote Post
тау
сообщение Apr 15 2016, 08:50
Сообщение #8


.
******

Группа: Участник
Сообщений: 2 424
Регистрация: 25-12-08
Пользователь №: 42 757



Цитата(Шаманъ @ Apr 14 2016, 19:21) *
Будет ли последнее усреднение вносить смещение и как оценить ошибку (если она будет)?


допустим Вы складываете 40dBm + (-20dBm) + (-20dBm) для усреднения получили 0 dbm в среднем . Ошибка есть и не маленькая .
так делать нельзя, короче.

И потом , кто мешает усреднять уже усредненные значения до логарифмирования ? Вычислений же меньше , один раз логарифмировать вместо ...надцати.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 15 2016, 09:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(jorikdima @ Apr 14 2016, 19:20) *
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

Go to the top of the page
 
+Quote Post
D.I.M.A
сообщение Apr 15 2016, 10:43
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 26-08-08
Из: Москва
Пользователь №: 39 824



Вот тут хорошо написано про особенности усреднения до и после

http://cp.literature.agilent.com/litweb/pdf/5966-4008E.pdf

Сообщение отредактировал D.I.M.A - Apr 15 2016, 10:44
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 15 2016, 11:16
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(blackfin @ Apr 15 2016, 12:32) *
У вас какая-то своя математика?

Закон дистрибутивности в ней уже не работает?

В обычной математике:

p = sum(log(x^2)/n) = a/n + b/n +...+ z/n = (a + b +...+ z)/n = sum(log(x^2))/n

Закон работает, я кстати тоже об этом подумал сразу, но суть лучше отображает откорректированная формула. К тому же из-за усечения разрядности закон дистрибутивности на реальном железе нарушается, но то тонкости не относящиеся непосредственно к теме.

Цитата(тау @ Apr 15 2016, 11:50) *
допустим Вы складываете 40dBm + (-20dBm) + (-20dBm) для усреднения получили 0 dbm в среднем . Ошибка есть и не маленькая .
так делать нельзя, короче.

Не, там совсем другие числа например -140, -142, -139, и т.д. Ведь в реальности я усредняю предварительно усредненные, а потом логарифмированные мощности, а не мгновенные.

Цитата
И потом , кто мешает усреднять уже усредненные значения до логарифмирования ? Вычислений же меньше , один раз логарифмировать вместо ...надцати.

Я уже писал - мешает железо, но с утра пришла хорошая мысль, и она работает sm.gif Правда считать пришлось в числах 96бит laughing.gif

Цитата(D.I.M.A @ Apr 15 2016, 13:43) *
Вот тут хорошо написано про особенности усреднения до и после

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.


Выходит я зря переделал код измерителя мощности sm.gif Но зато теперь у меня их два варианта biggrin.gif
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Apr 15 2016, 21:27
Сообщение #12


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(blackfin @ Apr 15 2016, 12:32) *
У вас какая-то своя математика?

Закон дистрибутивности в ней уже не работает?

В обычной математике:

p = sum(log(x^2)/n) = a/n + b/n +...+ z/n = (a + b +...+ z)/n = sum(log(x^2))/n

Тупанул, виновен sm.gif
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Apr 18 2016, 07:31
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(Шаманъ @ Apr 14 2016, 18:21) *
Приветствую всех!

Вычисляю среднеквадратичную мощность шума и логарифмирую:

p = log(sum(x^2)/n),

тут все понятно sm.gif

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

p = sum(log(x^2)/n),


Так делать нельзя.

sum(log(x^2)/n) = sum(log((x^2)^(1/n))))=sum(log(x^(2/n)))

Вы уверены, что Вам именно это надо.

Свойства log Вам в помощь.

Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 19 2016, 08:50
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Tpeck @ Apr 18 2016, 10:31) *
Так делать нельзя.

sum(log(x^2)/n) = sum(log((x^2)^(1/n))))=sum(log(x^(2/n)))

Вы уверены, что Вам именно это надо.

Свойства log Вам в помощь.

То, что Вы написали, мне точно не нужно wink.gif Вы просто не поняли, что я спрашивал. Я прекрасно понимаю, что логарифм среднего и средний логариф никак не равны.

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

Собственно ответ уже найден в одном из документов от НР и приведен выше в виде цитаты.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Apr 20 2016, 13:57
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Шаманъ @ Apr 14 2016, 19:21) *
Приветствую всех!

Вычисляю среднеквадратичную мощность шума и логарифмирую:

p = log(sum(x^2)/n),

тут все понятно sm.gif

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

p = sum(log(x^2)/n),

то результат будет смещенным, и потребуется коррекция.

Теперь вопрос. Если я вычисляю мощность шума блоками по 512отсчетов, потом логарифмирую и еще раз усредняю. Будет ли последнее усреднение вносить смещение и как оценить ошибку (если она будет)?

Заранее спасибо!


Усреднение логарифмов это логарифм среднего геометрического, про которое точно известно только то, что оно не превышает среднего арифметического.
Go to the top of the page
 
+Quote Post

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

 


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


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