Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вычисление амплитуды сигнала
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
usercod
Добрый день!

Есть синусоидальный сигнал известной частоты, нужно определить его амплитудное значение по трем отчетам отстоящих друг от друга на 120 градусов. Начальная фаза сигнала не известна. Тактирующий и исследуемый сигнал когерентны.

По друм отчетам через 90 градусов, все понятно. Тут работатет c^2 =a^2+b^2. В данном случае погрешность определения амп. будет большая при малых значениях сдвига фаз.

По трем отчетам через 120 градусов можно существенно снизить погрешность.

Задача: как посчитать амплитудное значение сигнала по трем отчетам через 120 град?

Xenia
Цитата(usercod @ Jul 28 2013, 12:35) *
По друм отчетам через 90 градусов, все понятно. Тут работатет c^2 =a^2+b^2. В данном случае погрешность определения амп. будет большая при малых значениях сдвига фаз.
Задача: как посчитать амплитудное значение сигнала по трем отчетам через 120 град?


А все так же - запихайте и третий отсчет в сумму квадратов: sm.gif
a^2+b^2+d^2
только от этого получится не квадрат амплитуды, а в полтора раза больше.
Амплитуду тогда вычислите так:
u = sqrt( (a^2+b^2+d^2)/1.5)

P.S. не могла использовать символ "c" для третьего измерения, т.к. вы его заняли под гипотенузу.
ivan219
Составить уравнение и решить его
Y[0] = A * Sin(W * t0 + Fi0)
Y[1] = A * Sin(W * t1 + Fi0)
Y[2] = A * Sin(W * t2 + Fi0)

Три уравнения три не известных A, W, Fi0 (ампл., част., нач. фаза)
Для простоты t0 = -1 t1 = 0 t2 = 1

Y[0] = A * Sin(-W + Fi0)
Y[1] = A * Sin(Fi0)
Y[2] = A * Sin(W + Fi0)
usercod
Цитата
u = sqrt( (a^2+b^2+d^2)/1.5)


Xenia, все работает, спасибо. Было выведено через формулы приведения?
Xenia
Цитата(usercod @ Jul 28 2013, 14:37) *
Xenia, все работает, спасибо. Было выведено через формулы приведения?


Ничего не выводила, просто из соображений симметрии сказала. А что, разве не правильно?

В общем случае из тех же соображений следует:
u = sqrt( sum(ai^2)/(N/2))
при N=2 она тоже работает, вырождаясь в закон Пифагора. Но мой закон шире sm.gif.
т.е. что-то в духе среднеквадратичного среднего измерений, если те следуют через равный фазовый угол.

Впрочем, все мы еще из школы знаем, что амплитуда переменного тока в корень из двух больше его средне-квадратичного значения:
Um = sqrt(2) * Uq
Cредне-квадратичное трех отчетов это:
Uq = sqrt( (a^2+b^2+d^2)/3)
Значит амплитуда равна:
Um = sqrt(2) * sqrt( (a^2+b^2+d^2)/3)
Я же только объединила двойку с остальным выражением под одним знаком квадратного корня:
Um = sqrt( 2*(a^2+b^2+d^2)/3)
Отсюда и делитель в моей формуле 1.5 = 3/2
usercod
Цитата
А что, разве не правильно?


Все работает, спасибо.

Просто я думал, что должно быть немного сложнее. wacko.gif
fontp
QUOTE (Xenia @ Jul 28 2013, 15:04) *
Ничего не выводила, просто из соображений симметрии сказала. А что, разве не правильно?

В общем случае из тех же соображений следует:
u = sqrt( sum(ai^2)/(N/2))
при N=2 она тоже работает, вырождаясь в закон Пифагора. Но мой закон шире sm.gif.
т.е. что-то в духе среднеквадратичного среднего измерений, если те следуют через равный фазовый угол.


Точно! Ваш закон шире, хороший, годный закон
только не любой фазовый сдвиг подойдет, а только k*пи/N, то есть равномерное усреднение на целом числе полупериодов
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.