Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как посчитать среднее арифметическое двух чисел?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
_Anatoliy
При условии что эти числа комплексные. Есть три формы представления комплексного числа, но алгебраическое и экспоненциальное дают разные результаты. Вообще для комплексных чисел есть такое понятие?
blackfin
Цитата(_Anatoliy @ Dec 4 2016, 14:53) *
Вообще для комплексных чисел есть такое понятие?

Есть, конечно.
ViKo
Отдельно действительные и мнимые части?
_Anatoliy
Цитата(blackfin @ Dec 4 2016, 14:01) *
Есть, конечно.

Спасибо, но считать то как?
Код
c1 = complex(8,3);
c2 = complex(1,8);

a = (c1+c2)/2
e = (abs(c1)+abs(c2))/2 * exp(1i*(angle(c1) + angle(c2))/2)


Код
a =

   4.5000 + 5.5000i


e =

   5.1443 + 6.5175i
blackfin
Цитата(_Anatoliy @ Dec 4 2016, 15:16) *
Спасибо, но считать то как?
Код
c1 = complex(8,3);
c2 = complex(1,8);

a = (c1+c2)/2

Именно так и считать! laughing.gif
_Anatoliy
Цитата(blackfin @ Dec 4 2016, 14:22) *
Именно так и считать! laughing.gif

А почему в экспоненциальной форме нельзя?
blackfin
Цитата(_Anatoliy @ Dec 4 2016, 15:30) *
А почему в экспоненциальной форме нельзя?

Потому что читайте определение суммы комплексных чисел. В любом учебнике по арифметике есть это определение.
_Anatoliy
Цитата(blackfin @ Dec 4 2016, 15:33) *
Потому что читайте определение суммы комплексных чисел. В любом учебнике по арифметике есть это определение.

Тьфу, блин. Спасибо! Три месяца без выходных всё таки как то сказываются... laughing.gif
ViKo
Потому что части комплексного числа - ортогональны, т.е. независимые.
_Anatoliy
Так коллеги, что то я совсем запутался. Сначала объясню что мне нужно : нужно снять комплексный коэффициент передачи некоего устройства. Измерения произвожу на 30-ти частотах. Далее была задумка на каждой частоте делать 8 замеров и усреднить эти 8 значений для повышения правдоподобия результата (уменьшения погрешности). Для простоты возьму всего два замера на одной частоте.
Итак, комплексные коэффициенты передачи для одной частоты и двух замеров:

1). -0,3677 + 0,1555i
2). 0,3501 - 0,1913i

модули коэффициентов передачи соответственно:
0,3993
0,3990
различие незначительное.

теперь считаем среднее значение по методике оговоренной выше:

(-0,3677 + 0,3501)/2 + (0,1555i - 0,1913i)/2 = -0,0088 - 0,0179i

тогда модуль среднего значения : 0,0199
Он совсем не бьёт с модулями каждого замера. И снова я вернулся к тому откуда начал : как правильно вычислить среднее арифметическое двух комплексных чисел?
ViKo
http://ru.dsplib.org/content/complex.html
Если посмотреть на картинку 3а, видно, как складываются векторы, и чему будет равна половина суммы. Если бы вектора z0, z1 были одинаковыми, то модуль среднего был бы меньше каждого из них.
Наверное, вам нужно усреднять отдельно модуль, отдельно фазу. Возможно, даже термин есть для такого среднего.
_Anatoliy
Цитата(ViKo @ Dec 5 2016, 11:04) *
Наверное, вам нужно усреднять отдельно модуль, отдельно фазу. Возможно, даже термин есть для такого среднего.


Вроде выше пришли к выводу что так делать нельзя.
Тыц
ViKo
Как насчет среднего геометрического?
_Anatoliy
Цитата(ViKo @ Dec 5 2016, 11:14) *
Как насчет среднего геометрического?

Хм, а это то здесь при чём?
ViKo
Цитата(hsoft @ Dec 5 2016, 12:17) *
По определению среднее арифметическое это сумма членов деленная на количество членов.
Следовательно по теории Вам надо сложить ВЕКТОРА и поделить их на 2, для двух векторов.
Вектора складываются ну сами знаете как.

Знаем. И на картинке видим. Но это явно не то, что нужно топикстартеру. Представьте - у вас сигнал качается по фазе, а вы его усредняете. ЗагУбите.
Swup
Ну нет, вам нужно именно сделать это отдельно.
По сути ваша система при этом это умножитель (амплитуда ККП) и фазовращатель (фаза ККП).
Усредните отдельно амплитуду, отдельно фазу.

Амплитуду ясно как мерить, как вы меряете фазу? У вас ведь не анализатор цепей?
_Anatoliy
Цитата(hsoft @ Dec 5 2016, 11:17) *
По определению среднее арифметическое это сумма членов деленная на количество членов.
Следовательно по теории Вам надо сложить ВЕКТОРА и поделить их на 2, для двух векторов.
Вектора складываются ну сами знаете как.

Ну да, я так и делал в примере... Результат никакой.
=SSN=
Цитата(_Anatoliy @ Dec 5 2016, 11:41) *
Итак, комплексные коэффициенты передачи для одной частоты и двух замеров:

1). -0,3677 + 0,1555i
2). 0,3501 - 0,1913i

Если комплексные значения отличаются, значит это не "комплексные коэффициенты передачи", а некие сферические кони сами знаете где..

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

U1вых(w) = K(w)*U1вх(w),
U2вых(w) = K(w)*U2вх(w),

где:

U1вх(w) != U2вх(w), даже если их амплитуды и равны..

_Anatoliy
Цитата(Swup @ Dec 5 2016, 11:23) *
Усредните отдельно амплитуду, отдельно фазу.

Т.е Вы предлагаете отказаться от определения суммы комплексных чисел?
Swup
Цитата(_Anatoliy @ Dec 5 2016, 13:29) *
Т.е Вы предлагаете отказаться от определения суммы комплексных чисел?


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

А по отдельности можете хоть амплитуду померить...

Все же расскажите методику измерения. Это сильно поможет.
@Ark
Цитата(_Anatoliy @ Dec 5 2016, 12:29) *
... предлагаете отказаться от определения суммы комплексных чисел?

ТС, почему Вы решили, что нужно именно среднее арифметическое?
Средних значений есть много всяких-разных: https://ru.wikipedia.org/wiki/%D0%A1%D1%80%...%BD%D0%B8%D0%B5
Выбирайте, то которое вам нужно (либо придумывайте свое) - главное, чтобы не потерялся физический смысл того, что усредняете.
_Anatoliy
Всё коллеги, я понял где меня занесло. Всем спасибо за участие! Сдам проект - автомашину куплю, пошью костюм с отливом и в Ялту! (с)
Kuzmi4
2 _Anatoliy:
таки
Цитата(Swup @ Dec 5 2016, 12:33) *
..нельзя складывать эти вектора.

??
ViKo
Цитата(_Anatoliy @ Dec 5 2016, 12:20) *
Хм, а это то здесь при чём?

А вот при чем:
Код
>> c1 = complex(1,0)
c1 =
   1.0000 + 0.0000i
>> c2 = complex(0,1)
c2 =
   0.0000 + 1.0000i
>> a = mean([c1,c2])
a =
   0.5000 + 0.5000i
>> a = geomean([c1,c2])
a =
   0.7071 + 0.7071i
Tanya
Цитата(_Anatoliy @ Dec 5 2016, 11:41) *
Так коллеги, что то я совсем запутался. Сначала объясню что мне нужно : нужно снять комплексный коэффициент передачи некоего устройства. Измерения произвожу на 30-ти частотах. Далее была задумка на каждой частоте делать 8 замеров и усреднить эти 8 значений для повышения правдоподобия результата (уменьшения погрешности).

И снова я вернулся к тому откуда начал : как правильно вычислить среднее арифметическое двух комплексных чисел?


Надо определиться, что Вы хотите получить... Среднее значение функции (Ваш коэффициент передачи) или значение функции от среднего. Это разные вещи, если функция нелинейная.
_Anatoliy
Цитата(Kuzmi4 @ Dec 5 2016, 12:28) *
2 _Anatoliy:
таки

??

Ну да. Меня переклинило с фазой, я меряю сигнал с помощью БПФ , поэтому фазы на разных замерах будут совершенно разные. Эти замеры нельзя так усреднять, а как можно пока не понятно.
ViKo
Цитата(_Anatoliy @ Dec 5 2016, 15:13) *
Ну да. Меня переклинило с фазой, я меряю сигнал с помощью БПФ , поэтому фазы на разных замерах будут совершенно разные. Эти замеры нельзя так усреднять, а как можно пока не понятно.

Если фаза каждый раз случайная, то ее никак не усреднить. Надо синхронизировать. Когерентные сигналы усреднять.
Использовать часть сигналов, сдвинуть каждый под одну фазу. До БПФ.
Swup
Вы можете сделать отвод перед своим устройством. Измерять одновременно его и выход. Потом измерять разницу фазы между входом и выходом. И эту разницу уже усреднять при разных измерениях.
Собственно вам и не нужна ведь фаза, нужен именно поворот.
_Anatoliy
Цитата(Swup @ Dec 5 2016, 15:36) *
Вы можете сделать отвод перед своим устройством. Измерять одновременно его и выход. Потом измерять разницу фазы между входом и выходом. И эту разницу уже усреднять при разных измерениях.
Собственно вам и не нужна ведь фаза, нужен именно поворот.

Не, так не получится, измеряемое устройство - АЦП. В аналоге я точно ничего измерять не буду.

Цитата(ViKo @ Dec 5 2016, 15:21) *
Если фаза каждый раз случайная, то ее никак не усреднить. Надо синхронизировать. Когерентные сигналы усреднять.
Использовать часть сигналов, сдвинуть каждый под одну фазу. До БПФ.

Согласен,похоже нужно ещё поработать с методикой измерений.
Tpeck
Цитата(_Anatoliy @ Dec 5 2016, 15:49) *
Согласен,похоже нужно ещё поработать с методикой измерений.


Точность оценки фазы и амплитуды, зависит от отношения сигнал, а она в свою очередь зависит от длительности сигнала.
Вопрос, а зачем усреднять?
Swup
Тогда вам нужен 2х канальный генератор (или 2 генератора) в когерентном режиме со стабильностью амплитуды и фазы большими, чем у вашего АЦП.
На одном канале инструментальный сигнал какой удобнее (радиоимпульс например), на втором тактовая частота для АЦП.
можно еще согласованную фильтрацию сделать и по ней померить вместо ПФ.

Цитата(Tpeck @ Dec 5 2016, 17:00) *
Точность оценки фазы и амплитуды, зависит от отношения сигнал, а она в свою очередь зависит от длительности сигнала.
Вопрос, а зачем усреднять?


Например в случае когда нельзя увеличивать длительность сигнала.
_Anatoliy
Цитата(Swup @ Dec 5 2016, 16:03) *
Например в случае когда нельзя увеличивать длительность сигнала.

А кстати очень неплохая мысль - попробовать увеличить длительность,спасибо. Я делаю БПФ на 32 точки, но вроде никто не мешает сделать БПФ например на 256 точек, а результат проредить. Как-то не подумал об этом.

Цитата(Swup @ Dec 5 2016, 16:03) *
Тогда вам нужен 2х канальный генератор (или 2 генератора) в когерентном режиме со стабильностью амплитуды и фазы большими, чем у вашего АЦП.
На одном канале инструментальный сигнал какой удобнее (радиоимпульс например), на втором тактовая частота для АЦП.
можно еще согласованную фильтрацию сделать и по ней померить вместо ПФ.

Нет, аналоговый вариант не подходит,он внесёт дополнительную погрешность. Я занимаюсь коррекцией параметров двух АЦП (интерливинг), здесь ошибка фазы даже в 2 градуса даст паразитный образ -40дБс.
ViKo
Цитата(_Anatoliy @ Dec 5 2016, 16:20) *
Я занимаюсь коррекцией параметров двух АЦП (интерливинг), здесь ошибка фазы даже в 2 градуса даст паразитный образ -40дБс.

Я в Матлабе подгонял так (еще на оконную функцию умножал предварительно):
% Определить и скорректировать сдвиг
[R,Lag] = xcorr(A1W,A2W,1000);
[~,I] = max(abs®);
Shift = Lag(I)
A2 = circshift(A2,[0,Shift]);
Потом обрезал хвосты, которых нет общих.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.