|
Нужен алгоритм определения частоты 1-й(основной) гармоники сложного сигнала, девайс на TMS320LF2407, который будет оцифровывать сложный сигнал и оп |
|
|
|
Jan 14 2006, 14:35
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Необходим алгоритм определения частоты 1-й(основной) гармоники сложного сигнала. Собираю девайс на TMS320LF2407, который будет оцифровывать сложный сигнал и определять частоту 1-й гармоники этого сигнала. Все у кого была уже подобная задача пожалуйста поделитесь информацией  ссылки на инфу, опыт разработки..., исходники)
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Jan 14 2006, 16:06
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Нет не рассматривал. Я чесно говоря новичек в обработке сигналов, и поэтому на данный момент сижу изучаю информацию из интернета про преобразования Фурье.... А диапазон основной гармоники известен: 0-100 Герц. Stanislav, большая просьба можете описать детально Автокорреляционный метод, для моего случая.
|
|
|
|
|
Jan 14 2006, 18:13
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(js_slider @ Jan 14 2006, 19:06)  Нет не рассматривал. Я чесно говоря новичек в обработке сигналов, и поэтому на данный момент сижу изучаю информацию из интернета про преобразования Фурье.... А диапазон основной гармоники известен: 0-100 Герц. Stanislav, большая просьба можете описать детально Автокорреляционный метод, для моего случая. Так не пойдет. Не из-за вредности, а из-за того, что нужно более точно поставить задачу: частота выборки, отношение С/Ш в интересующем диапазоне, необходимая точность определения частоты. Кроме того, нужно более строго определить диапазон снизу, т.к непонятно, что значит "частота основной гармоники 0 Гц". Чем выше нижняя граница, тем лучше. PS. От этих условий зависит применимость данного метода.
Сообщение отредактировал Stanislav - Jan 14 2006, 18:32
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jan 15 2006, 14:13
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Ну если быть более конкретным, то задача заключаеися в том чтобы оцифровывая напряжение, которое генерирует Асинхронная машина, вращающаяся от внешнего возмущения(т.е. грубо гшоворя её просто раскручивают за ротор, достаточным будет диапазон определения частоты 1-100 Гц), проблема в том что получается не гладкая синусойда, а сложный сигнал, с кучей гармоник. Возможно ли Stanislav применить Автокорреляционный метод для данного случая или какой-нибудь другой. Предполагается оцифровывать действительные значения сигнала с частотой не ниже 12,8 кГц, с диффиринциального датчика напряжения.
|
|
|
|
|
Jan 16 2006, 06:08
|
Частый гость
 
Группа: Свой
Сообщений: 123
Регистрация: 21-04-05
Пользователь №: 4 350

|
Цитата получается не гладкая синусойда, а сложный сигнал, с кучей гармоник. Вопрос в том насколько все плохо. Можно предложить несколько способов: 1. Если исходить из предположения что, амплитуда 1-й гармоники всегда максимальна, то бери фурье выбирай палку с максимальной амплитудой и буде тебе счастье. Сразу хочу предупредить, что когда найдешь в спектре максимальную палку - это еще не будет означать что, нашел частоту, потому что из-за дискретности истиная частота может попасть между двумя фурьешными палками. Для точного определения частоты надо брать максимальную палку, две соседних и потом их интерполировать. 2. Если сигнал - почти синусоида, то можно просто посчитать период переходов через ноль, это скорее способ для меандров. 3. Если амплитуда остальных гармоник сравнима с амплитудой первой гармоники, то никуда не денешься придется ставить датчик оборотов
Сообщение отредактировал Fakir - Jan 16 2006, 06:21
|
|
|
|
|
Jan 16 2006, 15:19
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Вариант с датчиком скорости не подходит. Проблема ещё заключается и в том что с уменьшением частоты вращения уменьшается и амплитуда генерируемого сигнала, что создаёт дополнительные проблемы в определении частоты.
|
|
|
|
|
Jan 17 2006, 03:15
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726

|
Цитата Вариант с датчиком скорости не подходит. Проблема ещё заключается и в том что с уменьшением частоты вращения уменьшается и амплитуда генерируемого сигнала, что создаёт дополнительные проблемы в определении частоты. Осциллограмму в студию?
|
|
|
|
|
Jan 17 2006, 15:19
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Я не совсем корректно объяснил проблему (только недавно разобрался)... Всего в сигнале 2-е гармоники, одна фиксированная гармоника (паразитная) равна 50 Hz, и одна полезная гармоника(частоту которой требуется определять), варьирует она от (0-100 Гц). Причём амплитуда "паразитной" частоты - const, а амплитуда полезной гармоники варьирует прямопропорционально своей частоте, т.е. чем выше частота тем выше амплитуда. Достаточно чувствительности диапазона определения полезной частоты от 10Гц до 100Гц. Есть у кого какие соображения?
|
|
|
|
|
Jan 17 2006, 17:56
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(js_slider @ Jan 15 2006, 17:13)  Ну если быть более конкретным, то задача заключаеися в том чтобы оцифровывая напряжение, которое генерирует Асинхронная машина, вращающаяся от внешнего возмущения(т.е. грубо гшоворя её просто раскручивают за ротор, достаточным будет диапазон определения частоты 1-100 Гц), проблема в том что получается не гладкая синусойда, а сложный сигнал, с кучей гармоник. Возможно ли Stanislav применить Автокорреляционный метод для данного случая или какой-нибудь другой. Предполагается оцифровывать действительные значения сигнала с частотой не ниже 12,8 кГц, с диффиринциального датчика напряжения. Суть автокорреляционного метода определения частоты периодического сигнала произвольной формы состоит примерно в следующем: 1. Из записанного в буфер сигнала выделяется участок с длиной, гарантированно превышающей 2 - 3 периода сигнала). Для уменьшения краевых эффектов его следует домножить на какое-либо спектральное окно (напр, Хэмминга). 2. Находится АКФ сигнала в этом окне. 3. Находится максимум автокорреляции. Он и соответствует периоду. Допишу позже...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jan 17 2006, 20:35
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Я не совсем корректно объяснил проблему (только недавно разобрался)... Всего в сигнале 2-е гармоники, одна фиксированная гармоника (паразитная) равна 50 Hz, и одна полезная гармоника(частоту которой требуется определять), варьирует она от (0-100 Гц). Причём амплитуда "паразитной" частоты - const, а амплитуда полезной гармоники варьирует прямопропорционально своей частоте, т.е. чем выше частота тем выше амплитуда. Достаточно чувствительности диапазона определения полезной частоты от 10Гц до 100Гц. Есть у кого какие соображения?
|
|
|
|
|
Jan 18 2006, 03:55
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726

|
Цитата(Stanislav @ Jan 17 2006, 23:56)  2. Находится АКФ сигнала в этом окне.
3. Находится максимум автокорреляции. Он и соответствует периоду.
Допишу позже... Мне кажется, что если 50 Гц будет превышать необходимую гармонику по амплитуде, то максимум АКФ как раз и будет приходиться на эти 50 Гц. Надо ставить режекторный фильтр. Но тогда не понятно как отслеживать рабочую гармонику, если она соответствует 50 Гц.
|
|
|
|
|
Jan 18 2006, 14:18
|

учащийся
    
Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249

|
Цитата(subver @ Jan 18 2006, 05:55)  Цитата(Stanislav @ Jan 17 2006, 23:56)  2. Находится АКФ сигнала в этом окне.
3. Находится максимум автокорреляции. Он и соответствует периоду.
Допишу позже...
Мне кажется, что если 50 Гц будет превышать необходимую гармонику по амплитуде, то максимум АКФ как раз и будет приходиться на эти 50 Гц. Надо ставить режекторный фильтр. Но тогда не понятно как отслеживать рабочую гармонику, если она соответствует 50 Гц. Если требуемая для определения частота всегда присутствуют то легко : Если найдены две частоты - то отличная от 50 будет ваша , если же нет - 50 Гц. Определeнная проблема может выявиться если частоты и амплитуды помехи и полезного сигнала равны а фазы противоположны - произойдет замирание сигнала , которое невозможно будет определить если нет флуктуации сигнала либо по фазе или по амплитуде. Эту вероятность надо вам априорно оценить ибо она будет влиять на размер выборки для частотного анализа и на детектирование .
Сообщение отредактировал _artem_ - Jan 18 2006, 14:19
--------------------
Зачем лаять на караван , когда на него можно плюнуть?
|
|
|
|
|
Jan 18 2006, 17:24
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 22-12-05
Пользователь №: 12 577

|
Господа это всё здорово, а можно более конструктивно... Как это выглядет с точки зрения математики? Меня интересуют формулы, алгоритмы...
|
|
|
|
|
Jan 18 2006, 17:53
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(js_slider @ Jan 18 2006, 20:24)  Господа это всё здорово, а можно более конструктивно... Как это выглядет с точки зрения математики? Меня интересуют формулы, алгоритмы... Нет, тут сначала нужно идеологически... В заблуждение ввел неправильно употребленный Вами термин "гармоника". Итак, имеем: а) квазипериодический сигнал, частоту которого нужно измерить; б) постоянную по уровню и частоте помеху. Нужно сначала отделить сигнал от помехи. Предлагаемые решения: 1. Линейная фильтрация. Работает, если спектры сигнала и помехи не перекрываются. Не наш случай, т.к. при частоте сигнала, близкой к помехе, задавлены будут оба. 2. Оценка спектральных характеристик сигнала. Для разрешения близко расположенных частот, придется брать фурье-преобразование очень большой длины, такой, что даже этот DSP может не потянуть. Кроме того, этот способ довольно сложен. 3. Оценка параметров периодической помехи, ее реконструкция и вычитание из сигнала. Может быть реализовано с помощью адаптивной системы, как во временнОй, так и в частотной области . Достоинство - простота программирования и малая выч. нагрузка на процессор. Вот это решение я и предлагаю сперва обсудить, а потом уж поговорить об оценке частоты сигнала. PS. Запись 2-х - 3-х реализаций Вашего процесса в студии бы действительно не помешала...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jan 23 2006, 15:12
|
Частый гость
 
Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032

|
Очень рекомендую прочитать книгу Марпла. http://dsp-book.narod.ru/marpl1_7.djvuhttp://dsp-book.narod.ru/marpl8_16.djvuЯ бы попробовал использовать метод Прони, вот только исходя из вашего сигнала подобрал параметры модели. Например увеличил бы количество синусоид в модели. Этот метод дает не достаточно устойчивые результаты на зашумленных сигналах, однако это частично можно решить добавив число синусоид в модели. Если частоты синусоид заранее известны метод существенно упрощается. Если делать реализацию как в книге, мне не понравилась реализация факторизации комплексного полинома, я переделал на метод Мюллера, более простой.
|
|
|
|
|
Jan 25 2006, 11:14
|
Участник

Группа: Свой
Сообщений: 61
Регистрация: 24-01-06
Пользователь №: 13 541

|
Не уверен, что с помощью TMS320LF2407 что-то получится...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|