Здравствуйте, Eugene .
Вы писали 16 января 2008 г., 15:01:39:
Здравствуйте
> Eugene Markov пишет:
>> Hi!
>>
>> Misha Ivanov snipped-for-privacy@megabox.ru writes:
>>
>> MI> действующее значение. Из-за не всегда синусоидального характера
напряжения
> MI> в РЕАЛЬHОМ приборе выходит большая погрешность.
>>
>> Hасколько я помню, при таких условиях - только в "лоб", т.е. как
>> среднеквадратичное. Корень квадратный - ф-я неприятная, но можно
>> попробовать по таблице.
> Что именно неприятного?
> Я использовал формулу (поиск N^(-1/2)):
> Xi=(X(i-1)+N/X(i-1))/2
> За 3-4 итерации сходилось с точностью 0,1%
> Поиск X0:
> N
> X0=--------+2
> 200
> но можно и без этого шага.
Смоделировал в Matlab алгоритм, "по честному" вычисляющий корень, т.е. предлагаешь формулу заменить формулой поиска N^(-1/2))? Я тут изобразил функцию синусоиды которую надо мерить.
function VoltmeterRMS % Действующее значение входного напряжения, В Ud = 220; % Частота входного сигнала, Гц Fin = 50; % Время наблюдения процесса, с Tmax = 1/Fin; % Частота дискретизации, с td = 0.2e-3; % построение входного сигнала t = 0:td:Tmax-td; Uin = Ud * sqrt(2) * sin(2*pi*Fin*t + 0) + 0.1*Ud * sqrt(2)
*sin(3*Fin*t*2*pi); figure(1); %subplot(2,2,1), plot(t, Uin); grid on; % вычисление среднеквадратического значения стандартным способом RMS1 = sqrt(sum(Uin.^2)/length(Uin))
- Можешь попробовать свою формулу на этой синусоиде?
- Я моделировал переменное напряжение 220 В, по стандартной формуле вышло
221.0973, интересно при скольки итерациях погрешность будет менее 0,5 % ?
С уважением, Misha. mailto: snipped-for-privacy@megabox.ru