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

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

Почему бы в таком сигнале не быть гармоникам на частотах 200, 300 Гц или каких либо ещё.

По условию задачи, гармоника одна. Всё, точка.. :biggrin:

 

Понятно, что если это не так, то "простые" методы не работают. Но мы ведь не пытаемся "натянуть сову на глобус"?

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


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

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

Измерение частоты основной гармоники, основной Карл (с) :biggrin:

Никто не говорит, что в диапазоне 0...1600 Гц она единственная.

А по поводу простоты - покажите, что для случая гармонический сигнал + шум есть более простой метод чем MLE и что эта оценка будет несмещённой и оптимальной.

Фильтр - эта та мелочь, которая позволит перейти от произвольного процесса к гармоника + шум, при условии, что мы априори знаем где лежит интересующая нас частота (это то, что нам дано по условию задачи).

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


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

Ну вот хочет человек, чтобы во входном сигнале была единственная гармоника на фоне БГШ. Не нужно запрещать человеку хотеть. Дело за малым: приказать сигналу хорошо себя вести.

 

Никто не говорит, что в диапазоне 0...1600 Гц она единственная.

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


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

Измерение частоты основной гармоники, основной Карл (с) :biggrin:
А, ну да.. это я проморгал.. :biggrin:

 

А по поводу простоты - покажите, что для случая гармонический сигнал + шум есть более простой метод чем MLE и что эта оценка будет несмещённой и оптимальной.

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

 

Поясню..

 

Вот, допустим, у нас есть "гармонический сигнал + шум".

 

Шум мы сразу с негодованием отбрасываем.. :biggrin:

 

Тогда разыскиваемый сигнал можно записать в виде:

 

S(t) == S(n*∆t) = A*cos(ω*n*∆t+φ), где n = 0..N-1

 

Далее вычисляем сумму:

 

CN = Σ{S(n*∆t)*e-j*ω1*n*∆t} = Σ{A*cos(ω*n*∆t+φ)*e-j*ω1*n*∆t}, где суммирование по всем: n = 0..N-1

 

В предположении, что частота ω1 удовлетворяет соотношению: ω1*N*∆t/2 = 2*pi*M, где M - целое,

 

находим отношение мнимой и действительной частей полученной суммы:

 

Im[CN]/Re[CN] = tg[ω*(N-1)*∆t/2 - ω1*∆t/2 + φ] * tg[ω1*∆t/2] / tg[ω*∆t/2].

 

В этом уравнении две неизвестных: ω и φ. Чтобы их исключить, сумму CN нужно вычислить как минимум дважды для разных значений частоты ω1.

 

Затем, с помощью MLE можно вычислить оба искомых параметра: ω и φ..

 

Понятно, что шум, гармоники сигнала и прочие эффекты могут сместить оценку, но сделав несколько измерений для разных значений частоты ω1 их влияние можно сильно уменьшить, КМК..

 

Как-то так..

 

 

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


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

Вот кстати, наглядный пример того, что шумовой процесс должен быть белым для MLE. Если для этих "разных значений частоты ω1" узкополосные процессы будут коррелированны, то это будет смещать оценку.

 

Это так.. общее замечание.

 

Понятно, что шум, гармоники сигнала и прочие эффекты могут сместить оценку, но сделав несколько измерений для разных значений частоты ω1 их влияние можно сильно уменьшить, КМК..

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


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

но сделав несколько измерений для разных значений частоты ω1 их влияние можно сильно уменьшить, КМК..

 

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

 

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


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

Если для этих "разных значений частоты ω1" узкополосные процессы будут коррелированны, то это будет смещать оценку.

"Дьявол скрывается в деталях." В приложении к ЦОС можно даже сказать, что "Дьявол скрывается в значениях цифровых величин"..

 

Когда узкополосный фильтр вырезает из случайного процесса все лишние частоты, он точно так же смещает оценку,

 

если, конечно, этот фильтр не обладает как по волшебству идеально плоской частотной характеристикой..

 

Любая АЧХ имеющая наклон в точке измерения приведет к смещению оценки..

 

И таки да, для тех кто ещё не понял, CN это обычные коэффициенты разложения сигнала S(t) в ряд Фурье.. :biggrin:

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


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

В этом уравнении две неизвестных: ω и φ. Чтобы их исключить, сумму CN нужно вычислить как минимум дважды для разных значений частоты ω1.

...

Затем, с помощью MLE можно вычислить оба искомых параметра: ω и φ..

...

И таки да, для тех кто ещё не понял, CN это обычные коэффициенты разложения сигнала S(t) в ряд Фурье..

Вай! Сложно у вас всё! :biggrin:

Зачем считать Фурье на одной частоте, на другой частоте, получать систему с нелинейными уравнениями?

Почему бы не сделать вот так?

Fast_carrier_offset_estimation.pdf

Вы пытаетесь оценить частоту используя сравнение входного сигнала с некоторым паттерном - делаете ли вы корреляцию или расчитываете Фурье для некоторой частоты - вы задаетесь своим значением ω1 и пытаетесь получить ω.

В основе спектрального анализа лежит дуальность АКФ и СПМ. MLE в статье (вариант реализации) основан на получении частоты из АКФ. Не нужно подбирать частоты ω1, для рассчёта потребуется только входной сигнал. Идея, как я её понял, проста: с одной стороны у нас есть оценки АКФ, полученные по данным, с другой - аналитическое значение АКФ для комплексной экспоненты. Сопоставляя оценку с аналитическим выражением, можно получить частоту сигнала. Увеличивая размер выборки и порядок эстиматора увеличиваем точность и (при росте порядка эстиматора) уменьшаем полосу захвата.

 

Тут же кстати и объяснение тому, что гармоники отличные от искомой вносят искажение в оценку. При оценке АКФ они вносят свой вклад, а для аналитической формы АКФ мы считаем, что в сигнале только одна гармоника. При рассчёте это несоответствие выливается в смещение оценки.

 

MUSIC, Capon и прочие методы, кстати, также опираются на АКФ, только в форме автоковариационной матрицы, в отличие от Фурье, в котором в сущности происходит сравнение сигнала с набором комплексных экспонент, частоты которых заданы и определяются размерностью.

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

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


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

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

Смысл в том, что если усреднить отклик от четного числа последовательно расположенных по частоте синк-фильтров,

 

то суммарный вклад "неизвестной гармоники" будет уменьшен, так как АЧХ синк фильтров меняет знак при переходе к следующему бину..

 

Но это так.. Гипотеза.. :biggrin:

 

Зачем считать Фурье на одной частоте, на другой частоте, получать систему с нелинейными уравнениями?

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

 

Отличие состоит лишь в способе вычисления частоты.. Я просто предложил посчитать частоту "в лоб", минуя вычисление точки экстремума параболы.

 

И я отнюдь не призываю использовать предложенный способ в боевых условиях. Мне просто было интересно узнать мнение коллектива..

 

За сим, и спасибо!.. :biggrin:

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


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

Смысл в том, что если усреднить отклик от четного числа последовательно расположенных по частоте синк-фильтров,

 

то суммарный вклад "неизвестной гармоники" будет уменьшен, так как АЧХ синк фильтров меняет знак при переходе к следующему бину

 

Это такой запутывющий способ проектирования фильтра, да подобным способом можно уменьшить боковики синка, за счёт расширения основного лепестка, и соответствующих потерь в отношении сигнал/шум. Почему бы просто не проектировать сразу нужный FIR фильтр?

 

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


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

Почему бы просто не проектировать сразу нужный FIR фильтр?

ОК, уговорили.. Пойду проектировать нужный фильтр.. :rolleyes:

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


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

MUSIC, Capon и прочие методы, кстати, также опираются на АКФ, только в форме автоковариационной матрицы, в отличие от Фурье, в котором в сущности происходит сравнение сигнала с набором комплексных экспонент, частоты которых заданы и определяются размерностью.

 

Не смущает, что в одном случае мы умножаем зашумлённый сигнал на зашумлённый сигнал, а в другом случае на чистенькую комплексную экспоненту?

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


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

Не смущает, что в одном случае мы умножаем зашумлённый сигнал на зашумлённый сигнал, а в другом случае на чистенькую комплексную экспоненту?

Я знаю два способа оценки АКФ: по данным и параметрический. В первом случае мы имеем данные, во втором - модель. Второй может дать нам АКФ, которая будет максимально близкой к аналитической, т.е. к истинной, но она требует знание а) количества сигналов, входящих в смесь и б) их частот. Если количество может быть дано априорно, то частоты мы не знаем наверняка, т.к. именно их мы и оцениваем. Так что при оценке частот АКФ мы вынуждены оценивать по данным с ограниченной размерностью и в случае, как например с AR экстраполировать. Параметрический подход применим когда например нужно посчитать оптимальный фильтр, если даны все параметры модели, полученные каким-либо другим способом.

 

Что-то упускаю? )

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

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


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

Что-то упускаю? )

 

Что же касается Фурье + интерполяция - почему бы и нет, только MLE по ресурсам выигрывает, иначе бы все ставили бы на feedforward синхронизацию скоростных модемов Фурье и радовались :rolleyes:

 

Ну вот я так делаю и радуюсь, конечно всё БПФ смысла делать нет, только скользящие несколько бинов.

 

А вы говорите:

 

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

 

Типа что-то сигнал у вас слишком хорош, давайте-ка мы его ещё на шум умножим.

 

Что-то упускаю? )

 

 

 

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


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

Типа что-то сигнал у вас слишком хорош, давайте-ка мы его ещё на шум умножим.

Автокорреляционная матрица сигнала, состоящего из детерменированной составляющей (например комплексная синусоида) и аддитивного белого шума, x(t) = s(t) + n(t), где n(t) - нормально распредёленный шум -

R_xx = R_ss + N * I, где N - мощность шума, а I - единичная диагональная матрица. Мы можем рассматривать первую строку этой матрицы как правую половину АКФ. Т.к. белый шум не коррелирует сам с собой, то он вносит своё искажение только на диагональные элементы матрицы, иначе говоря для нулевого лага. Оценка АКМ тем ближе к тому, что написано выше чем больше отчётов мы имеем. При этом она не зависит от уровня шума, при условии что шум белый.

Шум при этом разумеется искажает оценку параметра, но смещение, которое он вносит не увеличивается от того, что мы оцениваем АКФ только по данным, т.е. по смещённым копиям самого сигнала. Почему это так, я привёл выше.

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

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


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

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

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

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

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

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

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

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

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

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