GetSmart 0 1 ноября, 2009 Опубликовано 1 ноября, 2009 · Жалоба На входе почти синусоида, сиг/шум~4, диапазон 10..90 Гц, погрешность оценки частоты +/-0.02 Гц по спектру за 200 точек (частота выборок 200 Гц, время измерения 1 с). Все утопталось в ATmega8, осталось под индикатор и обмен с PC. Алгоритм используется полгода в другом серийном устройстве. Это же противоречит принципу неопределённости!!! Щас придут умные дяди и по голове настучат Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 1 ноября, 2009 Опубликовано 1 ноября, 2009 · Жалоба TigerSHARC, Вы определитесь - Вам вычисление частоты на каждом периоде нужно или, всё-таки, пересчёт действующего значения основной гармоники? Подозреваю, что нужно именно действующее значение основной гармоники. Вот его и считайте по 24 точкам. Что касается частоты. Поскольку речь идёт о промышленной частоте, то надо понимать, что энергосистема - штука ну очччень инертная и за один период частота не уйдёт не то что с 50 на 49 (или 51), но и даже в пределах требуемой по стандарту точности определения, а значит такого разрешения по времени и не требуется. Считайте частоту, как минимум, на 10 периодах для защит и быстрой автоматики и (см. выше у AlexU) - 0,5 - 1,0 секунду для индикации. Все видели кадры с Саяно-Шушенской? Железная "юла" там немаленькая, правда? А уж какая тяжёлая... Так вот, в штатном режиме такая турбина каждые 20 мс свою скорость не менять не будет... а вот динамические искажения сигнала и броски фазы быть могут (локальная нагрузка коммутируется и меняет местный режим сети довольно шустро, но не частоту!) - их то и будете отлавливать весьма успешно, но для дела бестолково. Кстати, какова разрядность АЦП и какая точность определения частоты требуется? 0.01 Гц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ursa 0 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба Это же противоречит принципу неопределённости!!! Щас придут умные дяди и по голове настучат На работе прибора это никак не отразится. Пока разговор вертится вокруг ограничений FFT и цитатами из учебников будем спокойно его выпускать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fontp 0 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба Это же противоречит принципу неопределённости!!! Щас придут умные дяди и по голове настучат "Умные дяди" как раз утверждают, что это предельная точность, соответствующая критерию Крамера-Рао Стандартное отклонение = примерно Fd/(SNR*NS**(3/2)) Можете сами проверить, что он именно её получил. При измерении частоты во всём представимом диапазоне частот (от 0 до Fd/2) точность оценки улучшить нельзя, поскольку критерий Крамера-Рао - это оценка максимального правдоподобия. Если диапазон частот узкий, наверное, точность можно улучшить предварительной фильтрацией и передискретизацией. Только предварительная фильтрация вносит ещё и задержку, что противоречит вообще-то требованию, что измерение за минимальное время. А о разрешении (принципе неопределённости) можно говорить только когда необходимо различать хотя бы 2 спектральные линии. Не йорничайте. Точность измерения частоты единственной линии достигается, как говорят, априорной информацией, что она там одна. Но это уже метафизика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ursa 0 2 ноября, 2009 Опубликовано 2 ноября, 2009 (изменено) · Жалоба "Умные дяди" как раз утверждают, что это предельная точность, соответствующая критерию Крамера-Рао Стандартное отклонение = примерно Fd/(SNR*NS**(3/2)) Можете сами проверить, что он именно её получил. При измерении частоты во всём представимом диапазоне частот (от 0 до Fd/2) точность оценки улучшить нельзя, поскольку критерий Крамера-Рао - это оценка максимального правдоподобия. Если диапазон частот узкий, наверное, точность можно улучшить предварительной фильтрацией и передискретизацией. Только предварительная фильтрация вносит ещё и задержку, что противоречит вообще-то требованию, что измерение за минимальное время. А о разрешении (принципе неопределённости) можно говорить только когда необходимо различать хотя бы 2 спектральные линии. Не йорничайте Все верно, +1 Кстати, на практике увеличение частоты выборки не приводит к заметному увеличению точности. (Хотя диапазон соответственно расширяется) Изменено 2 ноября, 2009 пользователем AlexU Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба На входе почти синусоида, сиг/шум~4, диапазон 10..90 Гц, погрешность оценки частоты +/-0.02 Гц по спектру за 200 точек (частота выборок 200 Гц, время измерения 1 с). Все утопталось в ATmega8, осталось под индикатор и обмен с PC. Алгоритм используется полгода в другом серийном устройстве. Откуда сигнал и какой он природы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ursa 0 3 ноября, 2009 Опубликовано 3 ноября, 2009 · Жалоба Откуда сигнал и какой он природы? Датчик (чего-то там :laughing: ) частотный. На выходе от 7 до 3000 Гц. От 7 до 100 Гц сигнал очень слабый много шума s/n до 1,5. Бывают кратковременные импульсные помехи большой амплитуды. Форма сигнала зависит от частоты (5мВ синусоида <40Гц)-(15мВ синусоида ограниченная сверху или снизу, плавает постоянная составляющая <120Гц) -(20..500мВ синусоида<500Гц)-(3В почти меандр). Измерять по спектру - самое то. Хотя я бы для начала сам датчик переделал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 3 ноября, 2009 Опубликовано 3 ноября, 2009 · Жалоба TigerSHARC, Вы определитесь - Вам вычисление частоты на каждом периоде нужно или, всё-таки, пересчёт действующего значения основной гармоники? Подозреваю, что нужно именно действующее значение основной гармоники. Вот его и считайте по 24 точкам. Что касается частоты. Поскольку речь идёт о промышленной частоте, то надо понимать, что энергосистема - штука ну очччень инертная и за один период частота не уйдёт не то что с 50 на 49 (или 51), но и даже в пределах требуемой по стандарту точности определения, а значит такого разрешения по времени и не требуется. Считайте частоту, как минимум, на 10 периодах для защит и быстрой автоматики и (см. выше у AlexU) - 0,5 - 1,0 секунду для индикации. Все видели кадры с Саяно-Шушенской? Железная "юла" там немаленькая, правда? А уж какая тяжёлая... Так вот, в штатном режиме такая турбина каждые 20 мс свою скорость не менять не будет... а вот динамические искажения сигнала и броски фазы быть могут (локальная нагрузка коммутируется и меняет местный режим сети довольно шустро, но не частоту!) - их то и будете отлавливать весьма успешно, но для дела бестолково. Кстати, какова разрядность АЦП и какая точность определения частоты требуется? 0.01 Гц? мне очень интересно узнать вот такую вещ: Есть сигнал (50Гц + гармоники). Вычисляем с помощью БПФ значения гармоник кратных основной частоте(50Гц). Частота дискретизации фиксирована, временное окно наблюдения тоже. Проблема в том, что как только основная частота не равно 50Гц, то значения гармоник искажаются (оно и понятно, т.к. в окне наблюдения умещается не полное число периодов). Основная задача - это узнать максимально достоверную информацию о значении гармоник. При этом приоритетными задачами являются: постоянная(аппаратная) частота дискретизации, и минимальное временное окно наблюдение (насколько это возможно). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Если аппаратно, то речь, как я понимаю идёт о ПЛИС... Тогда я Вам советую реализовать цифровой узкополосый КИХ-фильтр фильтр для 50 Гц (Матлаб и fdatool в помощь), который порежет всё остальное. К очищенному сигналу применить простой, но достаточно эффективный метод определения периода по переходам через ноль. И от этого "плясать" дальше. Естественно, учитывать надо будет не 1 период, а 10-20 и момент перехода через ноль интерполировать (для дискретизации 1200 - линейно). Будет полезно сверять однородность периодов (хотя бы примерно) внутри интервала, чтобы избежать погрешностей от динамических искажений фазы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Если аппаратно, то речь, как я понимаю идёт о ПЛИС... Тогда я Вам советую реализовать цифровой узкополосый КИХ-фильтр фильтр для 50 Гц (Матлаб и fdatool в помощь), который порежет всё остальное. К очищенному сигналу применить простой, но достаточно эффективный метод определения периода по переходам через ноль. И от этого "плясать" дальше. Естественно, учитывать надо будет не 1 период, а 10-20 и момент перехода через ноль интерполировать (для дискретизации 1200 - линейно). Будет полезно сверять однородность периодов (хотя бы примерно) внутри интервала, чтобы избежать погрешностей от динамических искажений фазы. предполагалось использовать DSP-процессор. А если требуется узнать информацию о большем количестве гармоник(20-40 гамоник), что бы на их основе коэффицент несинусоидальности посчитать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба коэффицент несинусоидальности посчитать... Устройство контроля качества электроэнергии? :) Вообще, на это дело есть пара иностранных стандартов и наш ГОСТ, где ширина окна наблюдения и интервалы усреднения оговариваются. Ищите... (20-40 гамоник) Ну тогда 1200 Гц это не просто мало, а мало до нереализуемости. Приглядитесь к частотам дискретизации 6кГц-10кГц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Устройство контроля качества электроэнергии? :) Вообще, на это дело есть пара иностранных стандартов и наш ГОСТ, где ширина окна наблюдения и интервалы усреднения оговариваются. Ищите... Ну тогда 1200 Гц это не просто мало, а мало до нереализуемости. Приглядитесь к частотам дискретизации 6кГц-10кГц )) понятно что мало... пусть даже для предотвращения наложения используется RC-цепь и передискретизация... Как минимизировать погрешность для всех гармоник (пусть 20 гармоник) при том что основная частота сигнала 45-55Гц... (т.е. нужно как то предотвратить растекание спектра... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба для предотвращения наложения используется RC-цепь и передискретизация... 8-10-ая гармоника это максимум при 1200 Гц. основная частота сигнала 45-55Гц... Да ладно Вам, см. ГОСТ 13109-97 5.6 Отклонение частоты Отклонение частоты напряжения переменного тока в электрических сетях характеризуется показателем отклонения частоты, для которого установлены следующие нормы: - нормально допустимое и предельно допустимое значения отклонения частоты равны ± 0,2 и ± 0,4 Гц соответственно. Если частота вышла за эти пределы, то коэффициент несинусоидальности как-то малоинтересен, т.к. в системе начинают происходить совсем другие процессы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба 8-10-ая гармоника это максимум при 1200 Гц. Да ладно Вам, см. ГОСТ 13109-97 Если частота вышла за эти пределы, то коэффициент несинусоидальности как-то малоинтересен, т.к. в системе начинают происходить совсем другие процессы. Да знаю я теорему котельникова!!! ладно объясню по порядку: При ДПФ есть два источника методической погрешности: 1) наложение частот ввиду несоблюдения теоремы отсчётов; 2) неполное число периодов во временном окне; ТАК ВОТ МЕНЯ ИНТЕРЕСУЕТ 2 ПУНКТ!!!! пусть условия теоремы котельникова соблюдены абсолютно(эта задача уже решена) Я говорю, то что знаю точно!!! Существуют промышленные приборы(видел лично). В руководстве по эксплуатации сказано, что выдаются значения до 40-й гармоники с такой-то погрешностью при том, что частота сети 45-55Гц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 6 ноября, 2009 Опубликовано 6 ноября, 2009 · Жалоба Все эти приборы работают с окном наблюдения намного превышающем период сети, а потом результаты от нескольких замеров ещё и усредняются. Значение частоты, кстати, усредняется за время 20 секунд(!). Если на пальцах, то выбрал один из двух способов определения частоты: а) по переходам через ноль (в тяжёлых случаях - сигнал чистить) б) из самого же Фурье - по приращению фазы основной гармоники. Грубо говоря, преобразовали на тех же 20 мс, получили модуль1-фазу1, на следующих 20 мс опять модуль2-фазу2 и т.п. Если частота сети идеальна, то разница фаза2 - фаза1 будет равна нулю. Если же частота меньше 50Гц или больше, то появится эффект скольжения частоты и Вы будете наблюдать поворот фазы в "+" или в "-". При 45(55)Гц это скольжение будет видно на двух соседних интервалах 20мс, при отклонении частоты на 0.05Гц период наблюдения увеличивается. Допустим, с частотой разобрались. Начинаем изменять период таймера-задатчика частоты дискретизации в соответствии с определённой нами частотой, натягивая сетку квантования времени на реальный сигнал. При этом продолжаем "измерять" частоту. В итоге добиваемся необходимой кратности частоты дискретизации и сетевой и все прочие расчёты остаются нетронутыми - никаких пересчётов коэффициентов, переменной длины буфера, комплексного доворота и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться