|
|
  |
минимизация погрешности, при плавающей частоте |
|
|
|
Nov 6 2009, 14:00
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(Евгений Николаев @ Nov 6 2009, 16:17)  Все эти приборы работают с окном наблюдения намного превышающем период сети, а потом результаты от нескольких замеров ещё и усредняются. Значение частоты, кстати, усредняется за время 20 секунд(!). Если на пальцах, то выбрал один из двух способов определения частоты: а) по переходам через ноль (в тяжёлых случаях - сигнал чистить) б) из самого же Фурье - по приращению фазы основной гармоники. Грубо говоря, преобразовали на тех же 20 мс, получили модуль1-фазу1, на следующих 20 мс опять модуль2-фазу2 и т.п. Если частота сети идеальна, то разница фаза2 - фаза1 будет равна нулю. Если же частота меньше 50Гц или больше, то появится эффект скольжения частоты и Вы будете наблюдать поворот фазы в "+" или в "-". При 45(55)Гц это скольжение будет видно на двух соседних интервалах 20мс, при отклонении частоты на 0.05Гц период наблюдения увеличивается. Допустим, с частотой разобрались. Начинаем изменять период таймера-задатчика частоты дискретизации в соответствии с определённой нами частотой, натягивая сетку квантования времени на реальный сигнал. При этом продолжаем "измерять" частоту. В итоге добиваемся необходимой кратности частоты дискретизации и сетевой и все прочие расчёты остаются нетронутыми - никаких пересчётов коэффициентов, переменной длины буфера, комплексного доворота и т.п. Спасибо. Вы предлагаете, как я понял, аппаратно частоту менять. Существуют ли способы при неизменной аппаратной частоте дискретизации???
|
|
|
|
|
Nov 6 2009, 16:07
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(Евгений Николаев @ Nov 6 2009, 17:54)  А чем Вас так держит аппаратная частота? Можно менять её и не аппаратно  а только для расчётов. А исходный сигнал, если необходимо сохранять осциллограммы, записывать на железной частоте. Спасибо за совет! Думаю это то что надо!
|
|
|
|
|
Nov 7 2009, 15:23
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Евгений Николаев @ Nov 6 2009, 16:17)  Если на пальцах, то выбрал один из двух способов определения частоты: а) по переходам через ноль (в тяжёлых случаях - сигнал чистить) б) из самого же Фурье - по приращению фазы основной гармоники. Грубо говоря, преобразовали на тех же 20 мс, получили модуль1-фазу1, на следующих 20 мс опять модуль2-фазу2 и т.п. Если частота сети идеальна, то разница фаза2 - фаза1 будет равна нулю. Если же частота меньше 50Гц или больше, то появится эффект скольжения частоты и Вы будете наблюдать поворот фазы в "+" или в "-". При 45(55)Гц это скольжение будет видно на двух соседних интервалах 20мс, при отклонении частоты на 0.05Гц период наблюдения увеличивается. Допустим, с частотой разобрались. Начинаем изменять период таймера-задатчика частоты дискретизации в соответствии с определённой нами частотой, натягивая сетку квантования времени на реальный сигнал. При этом продолжаем "измерять" частоту. Правильное решение, но менять собственную частоту дискретизации - это лишнее. В GPS приемниках частоту не меняют, но слежение за фазой позволяет измерять задержки до спутника с точностью до наносекунд.
|
|
|
|
|
Nov 20 2012, 12:13
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 28-12-04
Из: Нижний Новгород
Пользователь №: 1 714

|
Цитата(fontp @ Sep 4 2009, 14:55)  Посмотрите здесь http://home.comcast.net/~kootsoop/EricJ2/index.htmТам есть Матлаб-файлы. Я когда-то пробовал их все. Macleod's estimator лучший в отношении систематических ошибок. При достаточно большом отношении сигнал/шум они выходят все на предельные ошибки по Крамеру-Рао: дисперсия ошибки измерения частоты CRLB(f) = 3/(2*pi*pi*N*N*N*SNR) N - размер блока, SNR - сиигнал/шум По мере увеличения размера блока и отношения сигнал/шум, когда предельная ошибка стремится к нулю, точность определяется систематическими ошибками алгоритма. Добрый день! Прошу прощение за поднятие давней темы. Где сейчас возможно достать файлы, обозначенные ссылкой? Буду очень признателен, если кто-то сможет выслать, или где то выложит. С уважением, Den.
|
|
|
|
|
Nov 21 2012, 05:13
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 28-12-04
Из: Нижний Новгород
Пользователь №: 1 714

|
Спасибо.
Уважаемый fontp, прочитал много Ваших постов. Позвольте задать Вам вопрос, как человеку, разбирающемуся в этой теме. Правильный ли ход моих рассуждений по поводу следующей задачи…
Сетевое напряжение 50 Гц. Необходимо вычислять фазу, частоту, амплитуду. Также необходимо проводить анализ гармонического состава. Значение фазы, частоты и амплитуды необходимо получать как можно быстрее…
Планирую так: АЦП 16 бит, частота дискретизации 6400Гц, FIFO буфер БПФ на 512 точек, т.е. получается 128 точек на период. При поступлении каждой новой точки с АЦП в FIFO буфер, на него накладывается окно (Гауссовское?), производится БПФ. Далее нахожу амплитуду и фазу основной гармоники. Остается частота основной гармоники, необходимая точность измерения которой равна 0,01Гц. Возможно ли её определение по скорости изменения мгновенной фазы основной гармоники? Или же необходимо построение параболы по максимумам?
С уважением, Den.
|
|
|
|
|
Nov 21 2012, 07:40
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Цитата(Den @ Nov 21 2012, 09:13)  Спасибо.
Уважаемый fontp, прочитал много Ваших постов. Позвольте задать Вам вопрос, как человеку, разбирающемуся в этой теме. Правильный ли ход моих рассуждений по поводу следующей задачи…
Сетевое напряжение 50 Гц. Необходимо вычислять фазу, частоту, амплитуду. Также необходимо проводить анализ гармонического состава. Значение фазы, частоты и амплитуды необходимо получать как можно быстрее…
Планирую так: АЦП 16 бит, частота дискретизации 6400Гц, FIFO буфер БПФ на 512 точек, т.е. получается 128 точек на период. При поступлении каждой новой точки с АЦП в FIFO буфер, на него накладывается окно (Гауссовское?), производится БПФ. Далее нахожу амплитуду и фазу основной гармоники. Остается частота основной гармоники, необходимая точность измерения которой равна 0,01Гц. Возможно ли её определение по скорости изменения мгновенной фазы основной гармоники? Или же необходимо построение параболы по максимумам?
С уважением, Den. получается вы хотите считать 128 точечное БПФ за 156,25 мкс. успеете?
Сообщение отредактировал TigerSHARC - Nov 21 2012, 07:43
|
|
|
|
|
Nov 21 2012, 08:32
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 28-12-04
Из: Нижний Новгород
Пользователь №: 1 714

|
128 точечное БПФ у меня высчитывается за 1.1 мкс. БПФ хочу делать по 4-м периодам, соответственно 512 точечное.
С уважением, Den.
|
|
|
|
|
Nov 21 2012, 09:12
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
QUOTE (Den @ Nov 21 2012, 08:13)  Спасибо.
Уважаемый fontp, прочитал много Ваших постов. Позвольте задать Вам вопрос, как человеку, разбирающемуся в этой теме. Правильный ли ход моих рассуждений по поводу следующей задачи…
Сетевое напряжение 50 Гц. Необходимо вычислять фазу, частоту, амплитуду. Также необходимо проводить анализ гармонического состава. Значение фазы, частоты и амплитуды необходимо получать как можно быстрее…
Планирую так: АЦП 16 бит, частота дискретизации 6400Гц, FIFO буфер БПФ на 512 точек, т.е. получается 128 точек на период. При поступлении каждой новой точки с АЦП в FIFO буфер, на него накладывается окно (Гауссовское?), производится БПФ. Далее нахожу амплитуду и фазу основной гармоники. Остается частота основной гармоники, необходимая точность измерения которой равна 0,01Гц. Возможно ли её определение по скорости изменения мгновенной фазы основной гармоники? Или же необходимо построение параболы по максимумам?
С уважением, Den. Амплитуда и фаза максимального бина будут скакать из-за размывания спектра. Наоборот, сначала вы строите параболу по максимальному и соседним бинам. Определяете положение максимума (и возможно амплитуду).Потом уже гармонику точной частоты накладываете на входной сигнал и точно определяете фазу и амплитуду. Известно, что такой способ определения частоты и фазы достигает предельно возможной точности (максимального правдоподобия), при заданной длительности сигнала и умереннных отношениях сигнал шум (0-30 дб). Большинство других методов, тот же ФАПЧ, не оптимальны с точки зрения измерений по коротким последовательностям. То есть точность может быть достигнута, но время захвата не соответствует критериям Крамера-Рао Я приводил ссылки на серию исчерпывающих исследований Стэнфордского университета по поводу частного способа интерполяции спектра с добавлением нулей http://electronix.ru/forum/index.php?showt...amp;hl=StanfordТам есть всё - выбор окон, влияние нестабильности частоты сигнала, и т.д. и т.п.
|
|
|
|
|
Nov 21 2012, 09:33
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 28-12-04
Из: Нижний Новгород
Пользователь №: 1 714

|
Цитата(fontp @ Nov 21 2012, 13:12)  Амплитуда и фаза максимального бина будут скакать из-за размывания спектра. Наоборот, сначала вы строите параболу по максимальному и соседним бинам. Определяете положение максимума (и возможно амплитуду).Потом уже гармонику точной частоты накладываете на входной сигнал и точно определяете фазу и амплитуду. Известно, что такой способ определения частоты и фазы достигает предельно возможной точности (максимального правдоподобия), при заданной длительности сигнала и умереннных отношениях сигнал шум (0-30 дб). Большинство других методов, тот же ФАПЧ, не оптимальны с точки зрения измерений по коротким последовательностям. То есть точность может быть достигнута, но время захвата не соответствует критериям Крамера-Рао А разве наложение весового окна не устранит (не минимизирует) растекание спектра?
|
|
|
|
|
Nov 21 2012, 09:36
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
QUOTE (Den @ Nov 21 2012, 12:33)  А разве наложение весового окна не устранит (не минимизирует) растекание спектра? Оно в некотором смысле минимизирует, но мы собираемся определять частоту с точностью на порядок или даже два выше чем ширина спектрального окна. Причем ДПФ определяет выборки спектра в точках не совпадающих с реальной частотой и даже малые изменения частоты будут приводить к большим изменениям амплитуды и фазы центрального бина. При интерполяции спектра окна используются совсем с другой целью - изолировать область максимума спектра от других удаленных спектральных пиков, завалить им хвосты. Причем доказано, что если априорно известно, что других пиков в спектре нет - то никаких окон не нужно, прямоугольное окно оптимально. А верхушка любого окна, обычно так или иначе в области максимума аппроксимируется параболой по трем точкам. Если точки взять поближе к спектральному максимуму. Поскольку для трех точек на параболе есть простое аналитическое решение, а парабола верхушку приближает обычно не намного хуже, чем известная форма окна по многим точкам (большинство этих многих точек всё равно тонут в шуме).
|
|
|
|
|
Nov 21 2012, 09:47
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 28-12-04
Из: Нижний Новгород
Пользователь №: 1 714

|
Цитата(fontp @ Nov 21 2012, 13:12)  Я приводил ссылки на серию исчерпывающих исследований Стэнфордского университета по поводу частного способа интерполяции спектра с добавлением нулей http://electronix.ru/forum/index.php?showt...amp;hl=StanfordТам есть всё - выбор окон, влияние нестабильности частоты сигнала, и т.д. и т.п. Большое спасибо, буду разбираться. С уважением, Den. Цитата(fontp @ Nov 21 2012, 13:12)  Определяете положение максимума (и возможно амплитуду).Потом уже гармонику точной частоты накладываете на входной сигнал и точно определяете фазу и амплитуду. Ещё один вопрос. Под наложением гармоники точной частоты, Вы имеете ввиду свертку с комплексной синусоидой, частоты определенной по максимуму параболы?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|