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

Нужен алгоритм определения частоты 1-й(основной) гармоники сложного сигнала

Необходим алгоритм определения частоты 1-й(основной) гармоники сложного сигнала. Собираю девайс на TMS320LF2407, который будет оцифровывать сложный сигнал и определять частоту 1-й гармоники этого сигнала. Все у кого была уже подобная задача пожалуйста поделитесь информацией:(ссылки на инфу, опыт разработки..., исходники)

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


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

Необходим алгоритм определения частоты 1-й(основной) гармоники сложного сигнала. Собираю девайс на TMS320LF2407, который будет оцифровывать сложный сигнал и определять частоту 1-й гармоники этого сигнала. Все у кого была уже подобная задача пожалуйста поделитесь информацией :( ссылки на инфу, опыт разработки..., исходники)
Автокорреляционный метод рассматривали? Если известен диапазон изменения частоты, может получиться очень быстро.

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


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

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

А диапазон основной гармоники известен: 0-100 Герц.

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

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


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

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

А диапазон основной гармоники известен: 0-100 Герц.

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

Так не пойдет. Не из-за вредности, а из-за того, что нужно более точно поставить задачу: частота выборки, отношение С/Ш в интересующем диапазоне, необходимая точность определения частоты. Кроме того, нужно более строго определить диапазон снизу, т.к непонятно, что значит "частота основной гармоники 0 Гц". Чем выше нижняя граница, тем лучше.

PS. От этих условий зависит применимость данного метода.

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

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


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

Ну если быть более конкретным, то задача заключаеися в том чтобы оцифровывая напряжение, которое генерирует Асинхронная машина, вращающаяся от внешнего возмущения(т.е. грубо гшоворя её просто раскручивают за ротор, достаточным будет диапазон определения частоты 1-100 Гц), проблема в том что получается не гладкая синусойда, а сложный сигнал, с кучей гармоник. Возможно ли Stanislav применить Автокорреляционный метод для данного случая или какой-нибудь другой.

Предполагается оцифровывать действительные значения сигнала с частотой не ниже 12,8 кГц, с диффиринциального датчика напряжения.

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


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

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

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


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

получается не гладкая синусойда, а сложный сигнал, с кучей гармоник.

 

Вопрос в том насколько все плохо. Можно предложить несколько способов:

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

Сразу хочу предупредить, что когда найдешь в спектре максимальную палку - это еще не будет означать что, нашел частоту, потому что из-за дискретности истиная частота может попасть между двумя фурьешными палками. Для точного определения частоты надо брать максимальную палку, две соседних и потом их интерполировать.

2. Если сигнал - почти синусоида, то можно просто посчитать период переходов через ноль, это скорее способ для меандров.

3. Если амплитуда остальных гармоник сравнима с амплитудой первой гармоники, то никуда не денешься придется ставить датчик оборотов

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

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


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

Вариант с датчиком скорости не подходит.

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

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


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

Вариант с датчиком скорости не подходит.

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

 

Осциллограмму в студию?

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


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

Я не совсем корректно объяснил проблему (только недавно разобрался)...

Всего в сигнале 2-е гармоники, одна фиксированная гармоника (паразитная) равна 50 Hz, и одна полезная гармоника(частоту которой требуется определять), варьирует она от (0-100 Гц).

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

Достаточно чувствительности диапазона определения полезной частоты от 10Гц до 100Гц.

Есть у кого какие соображения?

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


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

Ну если быть более конкретным, то задача заключаеися в том чтобы оцифровывая напряжение, которое генерирует Асинхронная машина, вращающаяся от внешнего возмущения(т.е. грубо гшоворя её просто раскручивают за ротор, достаточным будет диапазон определения частоты 1-100 Гц), проблема в том что получается не гладкая синусойда, а сложный сигнал, с кучей гармоник. Возможно ли Stanislav применить Автокорреляционный метод для данного случая или какой-нибудь другой.

Предполагается оцифровывать действительные значения сигнала с частотой не ниже 12,8 кГц, с диффиринциального датчика напряжения.

Суть автокорреляционного метода определения частоты периодического сигнала произвольной формы состоит примерно в следующем:

 

1. Из записанного в буфер сигнала выделяется участок с длиной, гарантированно превышающей 2 - 3 периода сигнала). Для уменьшения краевых эффектов его следует домножить на какое-либо спектральное окно (напр, Хэмминга).

 

2. Находится АКФ сигнала в этом окне.

 

3. Находится максимум автокорреляции. Он и соответствует периоду.

 

Допишу позже...

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


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

Я не совсем корректно объяснил проблему (только недавно разобрался)...

Всего в сигнале 2-е гармоники, одна фиксированная гармоника (паразитная) равна 50 Hz, и одна полезная гармоника(частоту которой требуется определять), варьирует она от (0-100 Гц).

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

Достаточно чувствительности диапазона определения полезной частоты от 10Гц до 100Гц.

Есть у кого какие соображения?

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


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

2. Находится АКФ сигнала в этом окне.

 

3. Находится максимум автокорреляции. Он и соответствует периоду.

 

Допишу позже...

 

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

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


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

2. Находится АКФ сигнала в этом окне.

 

3. Находится максимум автокорреляции. Он и соответствует периоду.

 

Допишу позже...

 

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

 

Если требуемая для определения частота всегда присутствуют то легко :

Если найдены две частоты - то отличная от 50 будет ваша , если же нет - 50 Гц.

 

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

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

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


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

Господа это всё здорово, а можно более конструктивно... Как это выглядет с точки зрения математики?

Меня интересуют формулы, алгоритмы...

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


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

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

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

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

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

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

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

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

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

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