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

Измерение частоты основной гармоники (50 Гц) с точностью 0.01 Гц

Здравствуйте!

 

Существует ли программный метод измерения частоты основной гармоники с точностью 0,01 Гц? Предполагается, что в системе есть антиалисинговый фильтр 0-1600 Гц, АЦП с частотой выборки 3200 Гц и микроконтроллер.

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

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


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

Да. См методы MUSIC, ESPIRIT

 

http://mathworks.com/help/signal/ref/pmusic.html

 

Здравствуйте!

 

Существует ли программный метод измерения частоты основной гармоники с точностью 0,01 Гц? Предполагается, что в системе есть антиалисинговый фильтр 0-1600 Гц, АЦП с частотой выборки 3200 Гц и микроконтроллер.

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


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

MUSIC или ESPRIT могут и не залезть в микроконтроллер. Если искомая частота всегда около 50 Гц, то как вариант сделать сначала узкополосную фильтрацию (для MCU возможно лучше подойдёт IIR фильтр, но это детали), а потом частоту гармоники оценивать с помощью MLE (Maximum likelihood estimator), т.к. задача сведётся к оцениванию синусоиды на фоне аддитивного шума. Эта задача хорошо изучена, есть множество статей, в которых даны различные варианты реализации. Время на оценку (размер выборки) определяется с помощью границы Крамера-Рао (CRB) для минимального ожидаемого сигнал-шума. Формула CRB для MLE приводится в тех же статьях. Ресурс на реализацию намного меньше чем MUSIC/ESPRIT. И сам алгоритм проще.

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

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


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

Для единственной синусоиды music сведется mle. А насчет 'не залезть' принцип простой ведь: без денег в кабаке делать нечего.

 

MUSIC или ESPRIT могут и не залезть в микроконтроллер. Если искомая частота всегда около 50 Гц, то как вариант сделать сначала узкополосную фильтрацию (для MCU возможно лучше подойдёт IIR фильтр, но это детали), а потом частоту гармоники оценивать с помощью MLE (Maximum likelihood estimator), т.к. задача сведётся к оцениванию синусоиды на фоне аддитивного шума. Эта задача хорошо изучена, есть множество статей, в которых даны различные варианты реализации. Время на оценку (размер выборки) определяется с помощью границы Крамера-Рао (CRB) для минимального ожидаемого сигнал-шума. Формула CRB для MLE приводится в тех же статьях. Ресурс на реализацию намного меньше чем MUSIC/ESPRIT. И сам алгоритм проще.

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


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

Для единственной синусоиды music сведется mle. А насчет 'не залезть' принцип простой ведь: без денег в кабаке делать нечего.

Статистически. MUSIC для одной частоты - это тот же MUSIC, что и для N частот. От svd не уйти. Только сигнальное подпространство будет всегда единичной размерности. В MLE же нужно только фильтр по входу, коррелятор, одно деление и арктангенс.

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


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

Да. См методы MUSIC, ESPIRIT

может кто-нибудь в двух словах объяснить: для одной частоты чем это будет лучше чем просто посчитать Фурье, и потом около максимума наименьшими квадратами найти коэффициенты у функции Гаусса или параболы и положение максимума взять оттуда?

или сразу во временной области наименьшими квадратами искать в сигнале A*sin(wt+p).

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


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

Гость TSerg
и потом около максимума наименьшими квадратами найти коэффициенты у или параболы и положение максимума взять оттуда?

 

Именно так и делал на 50 Гц: ПФ + поиск по параболе.

Вполне устраивало.

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


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

Если искомая частота всегда около 50 Гц, то как вариант сделать сначала узкополосную фильтрацию, а потом частоту гармоники оценивать с помощью MLE..
В MLE же нужно только фильтр по входу, коррелятор, одно деление и арктангенс.

А зачем "фильтр по входу (..сделать сначала узкополосную фильтрацию)", если сам коррелятор уже и есть узкополосный фильтр?

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


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

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

 

В случае с music всё уже сделано. Нужно немного прочитать документацию, ввести команду в матлабе и быстро получить оценку точности для реализации сигнала, который предполагается для обработки.

 

А так вы всё правильно рассказываете: наименьших, параболы и т.п. Только эту всю канитель надо как-то делать и проверять. Но может быть и заниматься этим не нужно из-за того, что всё равно ничего путного не выйдет.

 

Такие дела.

 

может кто-нибудь в двух словах объяснить: для одной частоты чем это будет лучше чем просто посчитать Фурье, и потом около максимума наименьшими квадратами найти коэффициенты у функции Гаусса или параболы и положение максимума взять оттуда?

или сразу во временной области наименьшими квадратами искать в сигнале A*sin(wt+p).

 

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

 

А зачем "фильтр по входу (..сделать сначала узкополосную фильтрацию)", если сам коррелятор уже и есть узкополосный фильтр?

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


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

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

А кто сказал, что на входе коррелятора не аддитивная смесь сигнала и белого шума?

 

PS. И потом, коррелятор в моём понимании это Линейная Стационарная Система (с точностью до эффектов квантования).

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

А раз так, то обе системы можно поменять местами.

Но полоса пропускания коррелятора ~1/Tизм будет на порядки уже самого узкополосного фильтра, КМК..

Так зачем тогда делать двойную работу?

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


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

"We can neither confirm nor deny the existence of the information requested..."

 

А кто сказал, что на входе коррелятора не аддитивная смесь сигнала и белого шума?

 

Все так. Только вот подавление у коррелятора вне его полосы пропускания слабенькое.

 

PS. И потом, коррелятор в моём понимании это Линейная Стационарная Система (с точностью до эффектов квантования).

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

А раз так, то обе системы можно поменять местами.

Но полоса пропускания коррелятора ~1/Tизм будет на порядки уже самого узкополосного фильтра, КМК..

Так зачем тогда делать двойную работу?

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


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

если сам коррелятор уже и есть узкополосный фильтр?

А что с чем мы будем коррелировать? В MLE обычно оценивается фрагмент АКФ случайного процесса, т.е. корреляция сигнала с задерженными копиями самого себя. Полоса такого фильтра определяется спектральным составом случайного процесса. Это не тоже самое, что корреляция входного процесса с некоторым гармоническим сигналом. С другой стороны, говорится, что MLE оптимальный метод для оценки комплексной экспоненты на фоне аддитвиного белого шума, т.е. фильтр нужен для подавления гармоник за пределами диапазона, в котором происходит оценка. Как сказал Fat Robot, это обеливание процесса на всякий случай. Если в системе может быть несколько гармоник или искомая частота варьируется в широком диапазоне, то да, MUSIC будет более разумным решением. Что же касается Фурье + интерполяция - почему бы и нет, только MLE по ресурсам выигрывает, иначе бы все ставили бы на feedforward синхронизацию скоростных модемов Фурье и радовались :rolleyes:

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

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


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

А что с чем мы будем коррелировать? В MLE обычно оценивается фрагмент АКФ случайного процесса, т.е. корреляция сигнала с задержанными копиями самого себя.

Если заранее известно, что сигнал гармонический, то на мой взгляд "корреляция с его задержанной копией" и есть просто корреляция с гармонической функцией, то есть с sin/cos.

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


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

Если заранее известно, что сигнал гармонический, то на мой взгляд и "корреляция с его задержанной копией" есть просто корреляция с гармонической функцией, то есть с sin/cos.

Заранее известно, что мы ищем сигнал с частотой близкой к 50 Гц в сигнале с символьной 3,2 кГц. Почему бы в таком сигнале не быть гармоникам на частотах 200, 300 Гц или каких либо ещё. Фильтр переведёт неизвестный случайный процесс к процессу вида "комплексная экспонента + белый шум", который является допустимым для работы MLE.

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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