период сигнала
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
контроллером tms320f28 читаем сигнал, в зависимости от частоты может набежать от 2 до 10 периодов за одно прочтение. каким образом найти период этого сигнала? БПФ не дает высокой точности (нужно либо делать очень большую выборку, либо снизить частоту дискретизации, но тогда время замера сильно вырастет). определение периода по АКФ тоже не дает высокой точности (вся беда в том, что читаем нецелое число периодов). Может есть еще какой-то способ?
- Реклама
Что за сигнал-то?n_User123 писал(а):контроллером tms320f28 читаем сигнал
Запустить таймер. Не?n_User123 писал(а):Может есть еще какой-то способ?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
сигнал чаще синусоида, но может складываться из двух синусоид разных частот. Вообще надо бы не просто период, а эти самые частоты с разрпешением до 0,1 Гц.Что за сигнал-то?
Определение периода по пересечению нуля не покатит. неизвестна постоянная составляющая (если вы об этом)Запустить таймер. Не?
DTMF что-ль?
Docendo discimus
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
нет. Этот сигнал получается при замере расхода вязкой жидкости, текущей по трубе. Качать могут как один насос так и два. Отсюда могут быть две частоты.
- Реклама
Отсекаем конденсатором.неизвестна постоянная составляющая
По отдельности с насосов никак?
Docendo discimus
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
поотдельности никак. да и постоянку убирать нельзя. она для расчетов используется.
Дык, её отсечь только для определения периода.n_User123 писал(а):да и постоянку убирать нельзя. она для расчетов используется.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
Раздели сигнал на две составляющие, постоянку на вход АЦП, а переменку - на вход разрешения счёта таймера..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Схему нельзя менять. Остается только выборками.МитяРа писал(а):постоянку на вход АЦП, а переменку - на вход разрешения счёта таймера..
Docendo discimus
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
Или частоту дискретизации.
Docendo discimus
По измерению частоты (периода) с помощью МК есть много тем, на разных форумах. Хотя свои особенности могут быть у разных МК. Например, померить период с помощью таймера, ну или, для большей точности, несколько периодов.
Вот есть смесь двух синусоид, тут сложнее, тем более, если нужно измерить с разрешением 0,1 Гц. В АОНах, вроде, делали что-то вроде БПФ. Но для большого разрешения нужно взять много выборок, наверно.
Вот есть смесь двух синусоид, тут сложнее, тем более, если нужно измерить с разрешением 0,1 Гц. В АОНах, вроде, делали что-то вроде БПФ. Но для большого разрешения нужно взять много выборок, наверно.
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
подумал и решил так. Для БПФ разрешение по частоте определяется как 1 / (2 * T), где T - время измерения. Положим, что минимальная частота 2 Гц, тогда для определения периода с точностью 5% необходимо разрешение 2 * 0,05 = 0,1 Гц. то есть время измерения - T = 1 / (2 * 0.1) = 5 сек. будут ли согласны со мной мои начальники. но пока идей нет. а вейвлеты нам ничего хорошего не дадут?
не уверен в применимости вейвлетов для анализа частот. Спектральный анализ более подходит. Но и после него, надо решать- каие частоты есть основной сигнал, а какие- гармоники от сложенияХвычитания двух частот, и прочая белиберда, т.е. проводить фильтрацию. Если известны диапазоны изменения частот, то можно поставить фильтры.
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
основная проблема с БПФ - размазывание спектра, которая происходит по той причине, что в массив данных не укладывается целое число периодов.
Еще назрел вопрос: кто -нить пользовал библиотеку fft.lib с tms320f28
Еще назрел вопрос: кто -нить пользовал библиотеку fft.lib с tms320f28
- Сообщения: 119
- Зарегистрирован: Пн окт 05, 2009 20:01:20
Чтобы снизить размазывание (в литературе это называется "утечка" спектра), нужно применять взвешивающие окна, например, Кайзера, Хемминга и др. Чтобы повысить точность определения частоты по БПФ, увеличивайте количество данных в выборке.n_User123 писал(а):основная проблема с БПФ - размазывание спектра, которая происходит по той причине, что в массив данных не укладывается целое число периодов.
Постоянную составляющую можно убрать прямо в программе, не надо менять схему. Нужно вычислить среднее значение всех отсчетов сигнала, а затем вычесть из каждого отсчета это значение.
По преобразованиям Фурье есть просто великолепная книга Э. Айфичера и Б. Джервиса "Цифровая обработка сигналов". Много примеров и практических советов.
- Сообщения: 43
- Зарегистрирован: Чт окт 08, 2009 15:00:53
окно еще подобрать надо. да и не факт, что с окном бин приблизится к реальной гармоникеЧтобы снизить размазывание (в литературе это называется "утечка" спектра), нужно применять взвешивающие окна, например, Кайзера, Хемминга и др. Чтобы повысить точность определения частоты по БПФ, увеличивайте количество данных в выборке.
среднее значение, то бишь постоянка, вычисляется на периоде сигнала. если посчитать среднее значение четвертинки синусоиды, то ноль мы не получим.Постоянную составляющую можно убрать прямо в программе, не надо менять схему. Нужно вычислить среднее значение всех отсчетов сигнала, а затем вычесть из каждого отсчета это значение.
- Сообщения: 119
- Зарегистрирован: Пн окт 05, 2009 20:01:20
Сколько периодов оцифровываете? Если оцифровываете 30 периодов и более, то можно и не гнаться за тем, чтобы вычислить постоянную составляющую на целом числе периодов, погрешность от не целого числа периодов будет небольшая.n_User123 писал(а):среднее значение, то бишь постоянка, вычисляется на периоде сигнала. если посчитать среднее значение четвертинки синусоиды, то ноль мы не получим.
Чтобы точнее вычислить частоты составляющих спектра, нужно увеличивать количество исходных данных, т.е. делать бОльшие выборки.


