|
|
|
|
johnU меряю так протеус осциллограф ..частота тактовая 16МГц.. F1=0x0000ffff; F2=0x0000010 ; F3=0xf0f0f0f0; PORTD.6 =1; (0.125us) F3=F1+F2; // 2.3-0.125 US PORTD.6=0 ; (0.125us) PORTD.6 =1; (0.125us) F3=F1*F2; // 5.5-0.125 US PORTD.6=0 ; (0.125us) напишите что нужно между PORTD.6 =1;и PORTD.6=0 ;замеряем я так понял уперлись в скорость вычисления частных сумм ? что мешает сделать так (измерительная частота 1000Гц) взяли отсчёт напряжения за время 0 посчитали частные суммы взяли напряжения за время 1.05 миллисек посчитали частные суммы взяли напряжения за время 1.1 миллисек посчитали частные суммы взяли напряжения за время 1.15 миллисек посчитали частные суммы и т д за 10миллисекунд посчитаем период напряжения http://s003.radikal.ru/i204/1004/20/0918297a2b83.jpg клок ацп 250000 мега 16Мгц "измерение "на частоте 18900 Гц резистором подстройка нулевой фазы при КЗ (компенсация вроеменных задержек ацп-цап) |
|
|
12val12: напишите что нужно между PORTD.6 =1;и PORTD.6=0 ;замеряем unsigned long long int F1=0xff; unsigned long long int F2=0xff; F2+=F1; как то так 12val12: я так понял уперлись в скорость вычисления частных сумм ? Да Необходимо пересчитать отсчет за время пока получим следующий необходимо 2 32битных умножения и 2 64битных сложения тогда число периодов измерения можно взять 200-300 остальное время уйдет на окончательный расчет и вывод результатов |
|
|
float F4=0xabcdabcd; float F5=0xabcdabcd; float F6=0xabcdabcd; PORTD.6 =1; F4=F5*F6; --13.5 мксек PORTD.6=0 ; PORTD.6=0 ; PORTD.6 =1; F5=F4+F6; 7.1мксек PORTD.6=0 ; ..64бит целого в кодевижине вроде нет (float 1.175e-38 -:- 3.402 e38). зря вы уперлись в эти суммы допустим вычисления вместе с ацп занимают 800мксек ( в сумме два канала) Вы добиваете это время до 1050 миллисекунд и работайте с генератором 1000 при этом будете имееть 20 точек на период а фазовые соотношения будут как для 1000ГЦ я же показал на примере 18900Гц вобщем забудьте про 1000ГЦ 100ГЦ вообще неинтересно кому нужно мерять индуктивности 10Гн и емкость 1000UF ? (мне без разнийы 900 или 1100мкф а вот ESR вч прибор тоже покажет точно (при низкоомном шунте) если это все формировать от одного кварца то все будет окможно и нужно больше .. где то так
 на рисунке измерительная частота 10000Гц период взятия выборок 1010 мксек время выборки 7мксек (кау у атмеги при клоке АЦП 250кГц).выборки берутся последовательно напряжение и сразу ток.
|
|
|
12val12: ..64бит целого в кодевижине вроде нет (float 1.175e-38 -:- 3.402 e38). Жаль 12val12: допустим вычисления вместе с ацп занимают 800мксек ( в сумме два канала) один отсчет 40мксек два канала 80мксек 20 точек 1600мксек плюс преобразование во флоат ,генерация синуса получение отсчетов не попадаем |
|
|
johnU какие к черту 20 точек ? у нас целая миллисекунда на вычисление частной суммы !! ладно на пальцах допустим частота генератора 1000Гц первая точка за время 0 вторая точка за время 50микросекунд третья точка 100микросекунд четвёртая точка 150микросекунд но мы всех обхитрили и взяли вторую точку в момент 1050 микросекунд третью точку вместо времени 100микросекунд взяли за время 2100 микросекунд чётвёртую 2100+1050=3150 во время дырок считайте что хотите главное выдерживать точно период 1050мкс
|
|
|
12val12: какие к черту 20 точек ? у нас целая миллисекунда на вычисление частной суммы !! я уже запутался 12val12: при этом будете имееть 20 точек на период
|
|
|
именно так один период будет обработан за 20миллисекунд. принципы тут http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B8%D0%B0%D1%81%D0%B8%D0%BD%D0%B3 http://www.daqarta.com/dw_0haa.htm |
|
|
Причем здесь алиасинг ? Наверное мы про разное говорим. Насколько я понял идею прибора Нам необходимо примерно за 1сек произвести измерения на частоте 1кгц Если мы успеваем обработать отсчет за время когда будет готов новый то при 20 отсчетах за период у нас получится по 10 000 отсчетов для тока и напряжения Реально меньше так как часть времени придется отдать на окончательный расчет и вывод на экран |
|
|
цель растянуть вычисления конечно и результат будет пропорционально позже но он ,будет уже проверил мне нужен товарищ GO он поймет // вопрос для всех сколько займет времени на меге вычисление частной суммы для напряжения и тока? я так понял это так Uc =Uc+U_adс*K_cos[i] Us =Us+U_adс*K_sin[i] Ic =Ic+ I_adc*_cos[i] Is =Is+ I_adc*K_sin[i] ну и for (i=0 ;i>19;i++) { K_cos[i]=cos(W*I/20)shift left-<16 ; K_sin[i]=sin(W*I/20) shift left-<16 } вот моделирование ..фильтрацию убрал все равно считает -фурье твою мать
 |
|
|
GO ищите в соседней ветке, здесь он не бывает. Ваша идея понятна, я сам так намеревался делать для 100 кГц синуса, но времени на выборки уходит вагон и маленькая тележка. Ответ чуть ниже |
|
|
|
|