[an error occurred while processing this directive]
Ответ: Тогда думай про фильтрацию.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено Oldring 15 июля 2002 г. 12:44
В ответ на: Ответ: отправлено Миша 12 июля 2002 г. 19:52

Не жмись по поводу числа точек - если можешь сделать 40 на период - тогда делай. Заведомо, результат будет не хуже, чем с тремя точками, а гармоники побороть будет сильно проще.

ДПФ достаточно сложно в реализации. Тем более, если нужно получить разрешение по частоте лучшее, чем 1/T (где T - длина выборки в секундах), он не дает сразу однозначного ответа. В этом случае действительно единственный путь тот, про который писал OFF - пытаться по величине нескольких соседних частот определить точную частоту исходной зашумленной синусоиды - занятие не для слабонервных. Подбор синусоиды с заданными частотой и фазой по критерию максимума скалярного произведения не отличается принципиально от работы через преобразование Фурье.

Таким образом, чтобы при наличии ограниченных ресурсов определить частоту промышленной сети, лучший путь - считать время одного или нескольких периодов. 0.1 Гц точности измерения промышленной частоты соответствует относительной погрешности 0.2%. Если измеряется время N периодов синусоиды, это время также должно быть измерено с точнорстью 0.2%. Т. е. если неопределенность опрелеления положения перехода через нуль детектора нуля (аппаратного или програмного - не имеет значения) составляет D градусов синусоидального сигнала, N должно быть не менее 1000*D/360 периодов, или 20*D/360 секунд (шумит как начало измерения, так и конец). Желательно слегка перестраховаться и взять N в несколько раз больше рассчетного.

Нужно также гарантировать, что если за один период детектор нуля выдаст несколько переходов через нуль, будет засчитан только один период синусоиды. Иначе неопределеннось определения положения конца N-го периода сразу резко возрастает и добиться заданной точности не удастся.

Подумай все-таки про цифровой полосовой фильтр. Он не слишком сложен в реализации - несколько тысяч умножений в секунду можно сделать практически на любом кристалле, тем более, если можно поиграться с частотой дискретизации и формой отклика фильтра, чтобы сделать коэффициенты фильтра попроще - в конце концов, точность характеристики фильтра совершенно не важна, его главная задача - отфильтровать гармоники малого порядка и импульсные помехи. Зато на его выходе получишь практически идеальную синусоиду, в которой скорее всего будет только два перехода через нуль на период - положение ребуемого перехода через нуль можно определить гораздо точнее и с использованием гораздо более простых эвристик.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru