Перейти к содержанию
    

минимизация погрешности

На входе почти синусоида, сиг/шум~4, диапазон 10..90 Гц, погрешность оценки частоты +/-0.02 Гц по спектру за 200 точек (частота выборок 200 Гц, время измерения 1 с). Все утопталось в ATmega8, осталось под индикатор и обмен с PC. Алгоритм используется полгода в другом серийном устройстве.

Это же противоречит принципу неопределённости!!!

Щас придут умные дяди и по голове настучат :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

TigerSHARC, Вы определитесь - Вам вычисление частоты на каждом периоде нужно или, всё-таки, пересчёт действующего значения основной гармоники?

Подозреваю, что нужно именно действующее значение основной гармоники. Вот его и считайте по 24 точкам.

Что касается частоты. Поскольку речь идёт о промышленной частоте, то надо понимать, что энергосистема - штука ну очччень инертная и за один период частота не уйдёт не то что с 50 на 49 (или 51), но и даже в пределах требуемой по стандарту точности определения, а значит такого разрешения по времени и не требуется. Считайте частоту, как минимум, на 10 периодах для защит и быстрой автоматики и (см. выше у AlexU) - 0,5 - 1,0 секунду для индикации.

Все видели кадры с Саяно-Шушенской? Железная "юла" там немаленькая, правда? А уж какая тяжёлая... Так вот, в штатном режиме такая турбина каждые 20 мс свою скорость не менять не будет... а вот динамические искажения сигнала и броски фазы быть могут (локальная нагрузка коммутируется и меняет местный режим сети довольно шустро, но не частоту!) - их то и будете отлавливать весьма успешно, но для дела бестолково.

Кстати, какова разрядность АЦП и какая точность определения частоты требуется? 0.01 Гц?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это же противоречит принципу неопределённости!!!

Щас придут умные дяди и по голове настучат :biggrin:

На работе прибора это никак не отразится. :biggrin:

Пока разговор вертится вокруг ограничений FFT и цитатами из учебников будем спокойно его выпускать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это же противоречит принципу неопределённости!!!

Щас придут умные дяди и по голове настучат :biggrin:

 

"Умные дяди" как раз утверждают, что это предельная точность, соответствующая критерию Крамера-Рао

Стандартное отклонение = примерно Fd/(SNR*NS**(3/2))

Можете сами проверить, что он именно её получил.

 

При измерении частоты во всём представимом диапазоне частот (от 0 до Fd/2) точность оценки улучшить нельзя,

поскольку критерий Крамера-Рао - это оценка максимального правдоподобия.

Если диапазон частот узкий, наверное, точность можно улучшить предварительной фильтрацией и передискретизацией. Только предварительная фильтрация вносит ещё и задержку, что противоречит вообще-то требованию, что измерение за минимальное время.

 

А о разрешении (принципе неопределённости) можно говорить только когда необходимо различать хотя бы 2 спектральные линии. Не йорничайте.

Точность измерения частоты единственной линии достигается, как говорят, априорной информацией, что она там одна. Но это уже метафизика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Умные дяди" как раз утверждают, что это предельная точность, соответствующая критерию Крамера-Рао

Стандартное отклонение = примерно Fd/(SNR*NS**(3/2))

Можете сами проверить, что он именно её получил.

 

При измерении частоты во всём представимом диапазоне частот (от 0 до Fd/2) точность оценки улучшить нельзя,

поскольку критерий Крамера-Рао - это оценка максимального правдоподобия.

Если диапазон частот узкий, наверное, точность можно улучшить предварительной фильтрацией и передискретизацией. Только предварительная фильтрация вносит ещё и задержку, что противоречит вообще-то требованию, что измерение за минимальное время.

 

А о разрешении (принципе неопределённости) можно говорить только когда необходимо различать хотя бы 2 спектральные линии. Не йорничайте

Все верно, +1

Кстати, на практике увеличение частоты выборки не приводит к заметному увеличению точности. (Хотя диапазон соответственно расширяется)

Изменено пользователем AlexU

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На входе почти синусоида, сиг/шум~4, диапазон 10..90 Гц, погрешность оценки частоты +/-0.02 Гц по спектру за 200 точек (частота выборок 200 Гц, время измерения 1 с). Все утопталось в ATmega8, осталось под индикатор и обмен с PC. Алгоритм используется полгода в другом серийном устройстве.

Откуда сигнал и какой он природы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Откуда сигнал и какой он природы?

Датчик (чего-то там :laughing: ) частотный. На выходе от 7 до 3000 Гц. От 7 до 100 Гц сигнал очень слабый много шума s/n до 1,5. Бывают кратковременные импульсные помехи большой амплитуды. Форма сигнала зависит от частоты (5мВ синусоида <40Гц)-(15мВ синусоида ограниченная сверху или снизу, плавает постоянная составляющая <120Гц) -(20..500мВ синусоида<500Гц)-(3В почти меандр). Измерять по спектру - самое то. Хотя я бы для начала сам датчик переделал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

TigerSHARC, Вы определитесь - Вам вычисление частоты на каждом периоде нужно или, всё-таки, пересчёт действующего значения основной гармоники?

Подозреваю, что нужно именно действующее значение основной гармоники. Вот его и считайте по 24 точкам.

Что касается частоты. Поскольку речь идёт о промышленной частоте, то надо понимать, что энергосистема - штука ну очччень инертная и за один период частота не уйдёт не то что с 50 на 49 (или 51), но и даже в пределах требуемой по стандарту точности определения, а значит такого разрешения по времени и не требуется. Считайте частоту, как минимум, на 10 периодах для защит и быстрой автоматики и (см. выше у AlexU) - 0,5 - 1,0 секунду для индикации.

Все видели кадры с Саяно-Шушенской? Железная "юла" там немаленькая, правда? А уж какая тяжёлая... Так вот, в штатном режиме такая турбина каждые 20 мс свою скорость не менять не будет... а вот динамические искажения сигнала и броски фазы быть могут (локальная нагрузка коммутируется и меняет местный режим сети довольно шустро, но не частоту!) - их то и будете отлавливать весьма успешно, но для дела бестолково.

Кстати, какова разрядность АЦП и какая точность определения частоты требуется? 0.01 Гц?

 

мне очень интересно узнать вот такую вещ:

Есть сигнал (50Гц + гармоники). Вычисляем с помощью БПФ значения гармоник кратных основной частоте(50Гц).

Частота дискретизации фиксирована, временное окно наблюдения тоже. Проблема в том, что как только основная частота не равно 50Гц, то значения гармоник искажаются (оно и понятно, т.к. в окне наблюдения умещается не полное число периодов).

Основная задача - это узнать максимально достоверную информацию о значении гармоник.

При этом приоритетными задачами являются: постоянная(аппаратная) частота дискретизации, и минимальное временное окно наблюдение (насколько это возможно).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если аппаратно, то речь, как я понимаю идёт о ПЛИС...

Тогда я Вам советую реализовать цифровой узкополосый КИХ-фильтр фильтр для 50 Гц (Матлаб и fdatool в помощь), который порежет всё остальное. К очищенному сигналу применить простой, но достаточно эффективный метод определения периода по переходам через ноль. И от этого "плясать" дальше.

Естественно, учитывать надо будет не 1 период, а 10-20 и момент перехода через ноль интерполировать (для дискретизации 1200 - линейно). Будет полезно сверять однородность периодов (хотя бы примерно) внутри интервала, чтобы избежать погрешностей от динамических искажений фазы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если аппаратно, то речь, как я понимаю идёт о ПЛИС...

Тогда я Вам советую реализовать цифровой узкополосый КИХ-фильтр фильтр для 50 Гц (Матлаб и fdatool в помощь), который порежет всё остальное. К очищенному сигналу применить простой, но достаточно эффективный метод определения периода по переходам через ноль. И от этого "плясать" дальше.

Естественно, учитывать надо будет не 1 период, а 10-20 и момент перехода через ноль интерполировать (для дискретизации 1200 - линейно). Будет полезно сверять однородность периодов (хотя бы примерно) внутри интервала, чтобы избежать погрешностей от динамических искажений фазы.

предполагалось использовать DSP-процессор.

А если требуется узнать информацию о большем количестве гармоник(20-40 гамоник), что бы на их основе коэффицент несинусоидальности посчитать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

коэффицент несинусоидальности посчитать...

Устройство контроля качества электроэнергии? :)

Вообще, на это дело есть пара иностранных стандартов и наш ГОСТ, где ширина окна наблюдения и интервалы усреднения оговариваются. Ищите...

(20-40 гамоник)

Ну тогда 1200 Гц это не просто мало, а мало до нереализуемости. Приглядитесь к частотам дискретизации 6кГц-10кГц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Устройство контроля качества электроэнергии? :)

Вообще, на это дело есть пара иностранных стандартов и наш ГОСТ, где ширина окна наблюдения и интервалы усреднения оговариваются. Ищите...

 

Ну тогда 1200 Гц это не просто мало, а мало до нереализуемости. Приглядитесь к частотам дискретизации 6кГц-10кГц

 

)) понятно что мало... пусть даже для предотвращения наложения используется RC-цепь и передискретизация...

Как минимизировать погрешность для всех гармоник (пусть 20 гармоник) при том что основная частота сигнала 45-55Гц... (т.е. нужно как то предотвратить растекание спектра...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для предотвращения наложения используется RC-цепь и передискретизация...

8-10-ая гармоника это максимум при 1200 Гц.

основная частота сигнала 45-55Гц...

Да ладно Вам, см. ГОСТ 13109-97

5.6 Отклонение частоты

Отклонение частоты напряжения переменного тока в электрических сетях характеризуется показателем отклонения частоты, для которого установлены следующие нормы:

- нормально допустимое и предельно допустимое значения отклонения частоты равны ± 0,2 и ± 0,4 Гц соответственно.

Если частота вышла за эти пределы, то коэффициент несинусоидальности как-то малоинтересен, т.к. в системе начинают происходить совсем другие процессы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8-10-ая гармоника это максимум при 1200 Гц.

 

Да ладно Вам, см. ГОСТ 13109-97

 

Если частота вышла за эти пределы, то коэффициент несинусоидальности как-то малоинтересен, т.к. в системе начинают происходить совсем другие процессы.

Да знаю я теорему котельникова!!!

 

ладно объясню по порядку:

При ДПФ есть два источника методической погрешности:

1) наложение частот ввиду несоблюдения теоремы отсчётов;

2) неполное число периодов во временном окне;

 

ТАК ВОТ МЕНЯ ИНТЕРЕСУЕТ 2 ПУНКТ!!!!

пусть условия теоремы котельникова соблюдены абсолютно(эта задача уже решена)

 

Я говорю, то что знаю точно!!!

Существуют промышленные приборы(видел лично).

В руководстве по эксплуатации сказано, что выдаются значения до 40-й гармоники с такой-то погрешностью при том, что частота сети 45-55Гц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все эти приборы работают с окном наблюдения намного превышающем период сети, а потом результаты от нескольких замеров ещё и усредняются. Значение частоты, кстати, усредняется за время 20 секунд(!).

Если на пальцах, то выбрал один из двух способов определения частоты:

а) по переходам через ноль (в тяжёлых случаях - сигнал чистить)

б) из самого же Фурье - по приращению фазы основной гармоники. Грубо говоря, преобразовали на тех же 20 мс, получили модуль1-фазу1, на следующих 20 мс опять модуль2-фазу2 и т.п. Если частота сети идеальна, то разница фаза2 - фаза1 будет равна нулю. Если же частота меньше 50Гц или больше, то появится эффект скольжения частоты и Вы будете наблюдать поворот фазы в "+" или в "-". При 45(55)Гц это скольжение будет видно на двух соседних интервалах 20мс, при отклонении частоты на 0.05Гц период наблюдения увеличивается.

Допустим, с частотой разобрались. Начинаем изменять период таймера-задатчика частоты дискретизации в соответствии с определённой нами частотой, натягивая сетку квантования времени на реальный сигнал. При этом продолжаем "измерять" частоту.

В итоге добиваемся необходимой кратности частоты дискретизации и сетевой и все прочие расчёты остаются нетронутыми - никаких пересчётов коэффициентов, переменной длины буфера, комплексного доворота и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...