Страница 1 из 2

период сигнала

Добавлено: Вт янв 10, 2012 10:09:01
n_User123
контроллером tms320f28 читаем сигнал, в зависимости от частоты может набежать от 2 до 10 периодов за одно прочтение. каким образом найти период этого сигнала? БПФ не дает высокой точности (нужно либо делать очень большую выборку, либо снизить частоту дискретизации, но тогда время замера сильно вырастет). определение периода по АКФ тоже не дает высокой точности (вся беда в том, что читаем нецелое число периодов). Может есть еще какой-то способ?

Re: период сигнала

Добавлено: Вт янв 10, 2012 10:42:26
Gudd-Head
n_User123 писал(а):контроллером tms320f28 читаем сигнал

Что за сигнал-то?
n_User123 писал(а):Может есть еще какой-то способ?

Запустить таймер. Не?

Re: период сигнала

Добавлено: Вт янв 10, 2012 10:52:33
n_User123
Что за сигнал-то?


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

Запустить таймер. Не?

Определение периода по пересечению нуля не покатит. неизвестна постоянная составляющая (если вы об этом)

Re: период сигнала

Добавлено: Вт янв 10, 2012 10:59:44
pyzhman
DTMF что-ль?

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:02:46
n_User123
нет. Этот сигнал получается при замере расхода вязкой жидкости, текущей по трубе. Качать могут как один насос так и два. Отсюда могут быть две частоты.

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:08:38
pyzhman
неизвестна постоянная составляющая

Отсекаем конденсатором.
По отдельности с насосов никак?

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:37:14
n_User123
поотдельности никак. да и постоянку убирать нельзя. она для расчетов используется.

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:43:14
Gudd-Head
n_User123 писал(а):да и постоянку убирать нельзя. она для расчетов используется.

Дык, её отсечь только для определения периода.

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:45:07
n_User123
вот схему менять тоже нельзя. нужно просто доработать ПО.

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:45:45
МитяРа
Раздели сигнал на две составляющие, постоянку на вход АЦП, а переменку - на вход разрешения счёта таймера..

Re: период сигнала

Добавлено: Вт янв 10, 2012 11:47:53
pyzhman
МитяРа писал(а):постоянку на вход АЦП, а переменку - на вход разрешения счёта таймера..

Схему нельзя менять. Остается только выборками.

Re: период сигнала

Добавлено: Вт янв 10, 2012 12:06:26
n_User123
Остается только выборками.


Выходит, что нужно увеличивать выборку?

Re: период сигнала

Добавлено: Вт янв 10, 2012 12:12:11
pyzhman
Или частоту дискретизации.

Re: период сигнала

Добавлено: Вт янв 10, 2012 12:20:46
SmarTrunk
По измерению частоты (периода) с помощью МК есть много тем, на разных форумах. Хотя свои особенности могут быть у разных МК. Например, померить период с помощью таймера, ну или, для большей точности, несколько периодов.

Вот есть смесь двух синусоид, тут сложнее, тем более, если нужно измерить с разрешением 0,1 Гц. В АОНах, вроде, делали что-то вроде БПФ. Но для большого разрешения нужно взять много выборок, наверно.

Re: период сигнала

Добавлено: Вт янв 10, 2012 12:48:38
n_User123
подумал и решил так. Для БПФ разрешение по частоте определяется как 1 / (2 * T), где T - время измерения. Положим, что минимальная частота 2 Гц, тогда для определения периода с точностью 5% необходимо разрешение 2 * 0,05 = 0,1 Гц. то есть время измерения - T = 1 / (2 * 0.1) = 5 сек. будут ли согласны со мной мои начальники. но пока идей нет. а вейвлеты нам ничего хорошего не дадут?

Re: период сигнала

Добавлено: Вт янв 10, 2012 20:00:28
Сэр Мурр
не уверен в применимости вейвлетов для анализа частот. Спектральный анализ более подходит. Но и после него, надо решать- каие частоты есть основной сигнал, а какие- гармоники от сложенияХвычитания двух частот, и прочая белиберда, т.е. проводить фильтрацию. Если известны диапазоны изменения частот, то можно поставить фильтры.

Re: период сигнала

Добавлено: Ср янв 11, 2012 14:00:00
n_User123
основная проблема с БПФ - размазывание спектра, которая происходит по той причине, что в массив данных не укладывается целое число периодов.

Еще назрел вопрос: кто -нить пользовал библиотеку fft.lib с tms320f28

Re: период сигнала

Добавлено: Ср янв 11, 2012 14:13:03
ctpexhih
n_User123 писал(а):основная проблема с БПФ - размазывание спектра, которая происходит по той причине, что в массив данных не укладывается целое число периодов.


Чтобы снизить размазывание (в литературе это называется "утечка" спектра), нужно применять взвешивающие окна, например, Кайзера, Хемминга и др. Чтобы повысить точность определения частоты по БПФ, увеличивайте количество данных в выборке.

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

По преобразованиям Фурье есть просто великолепная книга Э. Айфичера и Б. Джервиса "Цифровая обработка сигналов". Много примеров и практических советов.

Re: период сигнала

Добавлено: Ср янв 11, 2012 14:19:27
n_User123
Чтобы снизить размазывание (в литературе это называется "утечка" спектра), нужно применять взвешивающие окна, например, Кайзера, Хемминга и др. Чтобы повысить точность определения частоты по БПФ, увеличивайте количество данных в выборке.


окно еще подобрать надо. да и не факт, что с окном бин приблизится к реальной гармонике

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


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

Re: период сигнала

Добавлено: Ср янв 11, 2012 14:27:11
ctpexhih
n_User123 писал(а):среднее значение, то бишь постоянка, вычисляется на периоде сигнала. если посчитать среднее значение четвертинки синусоиды, то ноль мы не получим.


Сколько периодов оцифровываете? Если оцифровываете 30 периодов и более, то можно и не гнаться за тем, чтобы вычислить постоянную составляющую на целом числе периодов, погрешность от не целого числа периодов будет небольшая.

Чтобы точнее вычислить частоты составляющих спектра, нужно увеличивать количество исходных данных, т.е. делать бОльшие выборки.