RuWorker2 0 8 сентября, 2015 Опубликовано 8 сентября, 2015 (изменено) · Жалоба Здравствуйте! Существует ли программный метод измерения частоты основной гармоники с точностью 0,01 Гц? Предполагается, что в системе есть антиалисинговый фильтр 0-1600 Гц, АЦП с частотой выборки 3200 Гц и микроконтроллер. Изменено 8 сентября, 2015 пользователем Pridnya Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 8 сентября, 2015 Опубликовано 8 сентября, 2015 · Жалоба Да. См методы MUSIC, ESPIRIT http://mathworks.com/help/signal/ref/pmusic.html Здравствуйте! Существует ли программный метод измерения частоты основной гармоники с точностью 0,01 Гц? Предполагается, что в системе есть антиалисинговый фильтр 0-1600 Гц, АЦП с частотой выборки 3200 Гц и микроконтроллер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 8 сентября, 2015 Опубликовано 8 сентября, 2015 (изменено) · Жалоба MUSIC или ESPRIT могут и не залезть в микроконтроллер. Если искомая частота всегда около 50 Гц, то как вариант сделать сначала узкополосную фильтрацию (для MCU возможно лучше подойдёт IIR фильтр, но это детали), а потом частоту гармоники оценивать с помощью MLE (Maximum likelihood estimator), т.к. задача сведётся к оцениванию синусоиды на фоне аддитивного шума. Эта задача хорошо изучена, есть множество статей, в которых даны различные варианты реализации. Время на оценку (размер выборки) определяется с помощью границы Крамера-Рао (CRB) для минимального ожидаемого сигнал-шума. Формула CRB для MLE приводится в тех же статьях. Ресурс на реализацию намного меньше чем MUSIC/ESPRIT. И сам алгоритм проще. Изменено 8 сентября, 2015 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 8 сентября, 2015 Опубликовано 8 сентября, 2015 · Жалоба Для единственной синусоиды music сведется mle. А насчет 'не залезть' принцип простой ведь: без денег в кабаке делать нечего. MUSIC или ESPRIT могут и не залезть в микроконтроллер. Если искомая частота всегда около 50 Гц, то как вариант сделать сначала узкополосную фильтрацию (для MCU возможно лучше подойдёт IIR фильтр, но это детали), а потом частоту гармоники оценивать с помощью MLE (Maximum likelihood estimator), т.к. задача сведётся к оцениванию синусоиды на фоне аддитивного шума. Эта задача хорошо изучена, есть множество статей, в которых даны различные варианты реализации. Время на оценку (размер выборки) определяется с помощью границы Крамера-Рао (CRB) для минимального ожидаемого сигнал-шума. Формула CRB для MLE приводится в тех же статьях. Ресурс на реализацию намного меньше чем MUSIC/ESPRIT. И сам алгоритм проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 8 сентября, 2015 Опубликовано 8 сентября, 2015 · Жалоба Для единственной синусоиды music сведется mle. А насчет 'не залезть' принцип простой ведь: без денег в кабаке делать нечего. Статистически. MUSIC для одной частоты - это тот же MUSIC, что и для N частот. От svd не уйти. Только сигнальное подпространство будет всегда единичной размерности. В MLE же нужно только фильтр по входу, коррелятор, одно деление и арктангенс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RuWorker2 0 8 сентября, 2015 Опубликовано 8 сентября, 2015 · Жалоба Спасибо ответившим! Много нового узнал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 77 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба Да. См методы MUSIC, ESPIRIT может кто-нибудь в двух словах объяснить: для одной частоты чем это будет лучше чем просто посчитать Фурье, и потом около максимума наименьшими квадратами найти коэффициенты у функции Гаусса или параболы и положение максимума взять оттуда? или сразу во временной области наименьшими квадратами искать в сигнале A*sin(wt+p). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба и потом около максимума наименьшими квадратами найти коэффициенты у или параболы и положение максимума взять оттуда? Именно так и делал на 50 Гц: ПФ + поиск по параболе. Вполне устраивало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 25 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба Если искомая частота всегда около 50 Гц, то как вариант сделать сначала узкополосную фильтрацию, а потом частоту гармоники оценивать с помощью MLE.. В MLE же нужно только фильтр по входу, коррелятор, одно деление и арктангенс. А зачем "фильтр по входу (..сделать сначала узкополосную фильтрацию)", если сам коррелятор уже и есть узкополосный фильтр? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба Про измеряемый сигнал нам мало что известно из описания, поэтому первичная задача, как я ее вижу, - быстро оценить реализуемость замысла, а уж потом что-то оптимизтровать. В случае с music всё уже сделано. Нужно немного прочитать документацию, ввести команду в матлабе и быстро получить оценку точности для реализации сигнала, который предполагается для обработки. А так вы всё правильно рассказываете: наименьших, параболы и т.п. Только эту всю канитель надо как-то делать и проверять. Но может быть и заниматься этим не нужно из-за того, что всё равно ничего путного не выйдет. Такие дела. может кто-нибудь в двух словах объяснить: для одной частоты чем это будет лучше чем просто посчитать Фурье, и потом около максимума наименьшими квадратами найти коэффициенты у функции Гаусса или параболы и положение максимума взять оттуда? или сразу во временной области наименьшими квадратами искать в сигнале A*sin(wt+p). В законченной системе при такой входной полосе фильтр нужен, чтобы обелить процесс на входе коррелятора. На всякий случай. А зачем "фильтр по входу (..сделать сначала узкополосную фильтрацию)", если сам коррелятор уже и есть узкополосный фильтр? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 25 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба В законченной системе при такой входной полосе фильтр нужен, чтобы обелить процесс на входе коррелятора. А кто сказал, что на входе коррелятора не аддитивная смесь сигнала и белого шума? PS. И потом, коррелятор в моём понимании это Линейная Стационарная Система (с точностью до эффектов квантования). То же, очевидно, касается и предполагаемого узкополосного фильтра на его входе. А раз так, то обе системы можно поменять местами. Но полоса пропускания коррелятора ~1/Tизм будет на порядки уже самого узкополосного фильтра, КМК.. Так зачем тогда делать двойную работу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба "We can neither confirm nor deny the existence of the information requested..." А кто сказал, что на входе коррелятора не аддитивная смесь сигнала и белого шума? Все так. Только вот подавление у коррелятора вне его полосы пропускания слабенькое. PS. И потом, коррелятор в моём понимании это Линейная Стационарная Система (с точностью до эффектов квантования). То же, очевидно, касается и предполагаемого узкополосного фильтра на его входе. А раз так, то обе системы можно поменять местами. Но полоса пропускания коррелятора ~1/Tизм будет на порядки уже самого узкополосного фильтра, КМК.. Так зачем тогда делать двойную работу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 9 сентября, 2015 Опубликовано 9 сентября, 2015 (изменено) · Жалоба если сам коррелятор уже и есть узкополосный фильтр? А что с чем мы будем коррелировать? В MLE обычно оценивается фрагмент АКФ случайного процесса, т.е. корреляция сигнала с задерженными копиями самого себя. Полоса такого фильтра определяется спектральным составом случайного процесса. Это не тоже самое, что корреляция входного процесса с некоторым гармоническим сигналом. С другой стороны, говорится, что MLE оптимальный метод для оценки комплексной экспоненты на фоне аддитвиного белого шума, т.е. фильтр нужен для подавления гармоник за пределами диапазона, в котором происходит оценка. Как сказал Fat Robot, это обеливание процесса на всякий случай. Если в системе может быть несколько гармоник или искомая частота варьируется в широком диапазоне, то да, MUSIC будет более разумным решением. Что же касается Фурье + интерполяция - почему бы и нет, только MLE по ресурсам выигрывает, иначе бы все ставили бы на feedforward синхронизацию скоростных модемов Фурье и радовались :rolleyes: Изменено 9 сентября, 2015 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 25 9 сентября, 2015 Опубликовано 9 сентября, 2015 · Жалоба А что с чем мы будем коррелировать? В MLE обычно оценивается фрагмент АКФ случайного процесса, т.е. корреляция сигнала с задержанными копиями самого себя. Если заранее известно, что сигнал гармонический, то на мой взгляд "корреляция с его задержанной копией" и есть просто корреляция с гармонической функцией, то есть с sin/cos. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 9 сентября, 2015 Опубликовано 9 сентября, 2015 (изменено) · Жалоба Если заранее известно, что сигнал гармонический, то на мой взгляд и "корреляция с его задержанной копией" есть просто корреляция с гармонической функцией, то есть с sin/cos. Заранее известно, что мы ищем сигнал с частотой близкой к 50 Гц в сигнале с символьной 3,2 кГц. Почему бы в таком сигнале не быть гармоникам на частотах 200, 300 Гц или каких либо ещё. Фильтр переведёт неизвестный случайный процесс к процессу вида "комплексная экспонента + белый шум", который является допустимым для работы MLE. Изменено 9 сентября, 2015 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться