Ксения (01.05.2005 13:47, просмотров: 1) ответил Amal на Спасибо, возникает вопрос
Погрешность есть цена за непрерывность > Что произойдет в момент копирования Т1=Т2, если Т2 не будет еще подсчитан (произошло удлинение Т2 относительно Т1)?
T1 и T2 придется проинициализировать при старте МК самым медленным периодом (T1=T2=1000 мкс). Т.е. в самом начале эти значения равны между собой. В последствии, при переходе на каждый следующий полупериод синусоиды, T1 принимает значения T2. Это означает, что если T2 не менять, то период всегда остается прежним, поскольку T1 и T2 будут оставаться одинаковыми.
Данный ваш вопрос некорректен, поскольку если, как вы говорите, "T2 еще не посчитано", то как можно при этом утверждать, что "произошло удлинение T2 относительно T1"?
Следует понять, что менять частоту синусоиды "на ходу" невозможно без риска того, что выходной сигнал будет иметь РАЗРЫВЫ непрерывности. Поэтому изменять параметры синусоиды можно только в моменты прохождения ее через нуль и, если несколько усложнить алгоритм, в моменты ее экстремальных значений (-1 и +1). Только такая стратегия позволяет генерировать непрерывную кривую. Таким образом коррекция параметров синусоиды происходит два или четыре раза за период. Такова цена за непрерывность. Не думаю, что будет лучше, если в момент изменения меандра и вычисления нового значения периода T2 вы сорвете синусоиде фазу.