реклама на сайте
подробности

 
 
> мат. операция, "как ФАПЧ"
Stas-
сообщение May 18 2012, 08:38
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 157
Регистрация: 20-01-09
Из: Новосибирск
Пользователь №: 43 645



Есть генератор с частотой 0-100 Гц, частоту которого нужно измерять с точностью до 0.001 Гц. Это выход перемножителя гетеродина и генератора, собранного на температурозависимом кварце плюс НЧ фильтр (измеритель температуры, в общем). Выход генератора оцифровывается с частотой дискретизации 2 кГц. Сейчас частота измеряется тупо - берем окно нужной для заданной точности длины, делаем БПФ, выделяем максимум-палку-полку. В итоге получается не очень честно, т.к. температура оказывается "размазанной" по этому не очень маленькому времени (оттого и "полка" иногда). Если бы делали по честному, то надо было бы ставить не перемножитель и гетеродин, а ФАПЧ, который "знает" в любой момент времени, какова текущая частота. Но имеем то, что имеем.

Посоветуйте пожалуйста какую-нибудь математику на этот счет, заменитель ФАПЧ, чтобы так же знать частоту в любой момент времени. Ведь у нас есть полностью (ну почти, частота дискретизации вмешалась wink.gif) прописанный процесс, неужели ничего нельзя сделать?

Сообщение отредактировал Stas- - May 18 2012, 08:39
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 13)
Alex11
сообщение May 18 2012, 09:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



ФАПЧ Вас тоже не спасет: генетатор будет "знать" про изменение частоты после устаканивания фильтра, а на таких частотах этот процесс не быстрый. Считать по Фурье достаточно эффективно. Можно использовать оконную функцию и аппроксимацию, после этого требования к размеру окна можно снизить и увеличить скорость измерений. Какая все-таки минимальная частота генератора, которую нужно измерять? Частоту 0 вообще невозможно измерить с нужной точностью (нужно бесконечное окно), и от постоянки крайне неудобно считать по Фурье, т.к. "размазанная" палка будет сначала обрезана по 0, а затем окажется двусторонней. Алгоритм аппроксимации придется корректировать в зависимости от положения максимума. Для хорошей точности достаточно 5-10 периодов сигнала.
Go to the top of the page
 
+Quote Post
Stas-
сообщение May 18 2012, 09:43
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 157
Регистрация: 20-01-09
Из: Новосибирск
Пользователь №: 43 645



Да, совсем не обязательно измерять частоту от 0 Гц, ведь температура ведет себя достаточно предсказуемо в смысле верхнего и нижнего предела и я всегда смогу сдвинуть частоту гетеродина так, чтобы было удобно измерять. А можно по-подробнее про аппроксимацию в данном случае? Что тут имеется в виду?

И пару слов в защиту ФАПЧ. Ну и пусть фильтр устаканивается "долго", но ведь когда он устаканится - все идет как по маслу. Никто не заставляет измерять температуру сразу в момент включения, можно потормозить, главное потом чтобы в процессе она (частота) была привязана ко времени как можно более точно.

ПС: гм, я тут похоже затупил sm.gif Что-то мозги не в ту сторону поехали. Ведь, как ни странно, если хочешь ФАПЧ - ну так и сделай ФАПЧ sm.gif XOR (перемножение) с какой-нибудь теперь вообще любой частотой, интегратор и VCO (текущее значение интеграла, по сути). Юмор в том, что теперь нафиг не надо что-то подстраивать, достаточно просто знать разбег частот, прямо пропорциональный интегралу. Но вопрос, тем не менее не снимаю. Нет ли каких-нибудь более совершенных методов под это дело?

Сообщение отредактировал Stas- - May 18 2012, 10:24
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение May 18 2012, 13:51
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(Stas- @ May 18 2012, 12:38) *
Есть генератор с частотой 0-100 Гц, частоту которого нужно измерять с точностью до 0.001 Гц.

Не забудте фундаментальное соотношение dF*dT=1. где dT время измерения dF точность определения частоты. Для до 0.001 Гц требуется время измерения более 1000сек.
Go to the top of the page
 
+Quote Post
scifi
сообщение May 18 2012, 14:07
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(MaslovVG @ May 18 2012, 17:51) *
Не забудте фундаментальное соотношение dF*dT=1. где dT время измерения dF точность определения частоты. Для до 0.001 Гц требуется время измерения более 1000сек.

У периодического сигнала можно просто измерить период (с достаточной точностью, конечно), и будет совсем не так долго.
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение May 18 2012, 14:16
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(scifi @ May 18 2012, 18:07) *
У периодического сигнала можно просто измерить период (с достаточной точностью, конечно), и будет совсем не так долго.

Шумы просто не дадут обнаружить переход через ноль для такой точности.
Go to the top of the page
 
+Quote Post
scifi
сообщение May 18 2012, 14:24
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(MaslovVG @ May 18 2012, 18:16) *
Шумы просто не дадут обнаружить переход через ноль для такой точности.

По-видимому, вы с автором вместе работаете и знаете, какой у него уровень шумов. Так и скажите, чтобы не вводить людей в заблуждение.
Go to the top of the page
 
+Quote Post
Alex11
сообщение May 18 2012, 14:34
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Цитата
И пару слов в защиту ФАПЧ. Ну и пусть фильтр устаканивается "долго", но ведь когда он устаканится - все идет как по маслу. Никто не заставляет измерять температуру сразу в момент включения, можно потормозить, главное потом чтобы в процессе она (частота) была привязана ко времени как можно более точно.

Если Ваша температура изменяется очень медленно, то все так и будет. Но если, теоретически, температура изменится скачком, то ФАПЧ примет новое правильное значение с постоянной времени фильтра.
Если сместить частоту из 0 хотя бы до 50 Гц, то можно сделать следующее. Накладываете оконную функцию Гаусса. Параметры нужно будет подобрать в зависимости от размера окна. Далее делаете Фурье. Форма линии будет тоже Гауссом. Далее делаете аппроксимацию по методу наименьших квадратов или любым другим способом. Полезное соотношение - логарифм от Гаусса - квадратичная функция. Еще очень полезно использовать веса при аппроксимации - точки ближе к вершине должны иметь вес, больший, чем на краях. Если этого не сделать - слабые шумы приводят к сильному сдвигу вершины. На модели при окне 8192 точки, частоте дискретизации 25600 Гц при измерении частоты около 50 Гц получается точность порядка 1е-8 Гц. Реально при наличии небольших шумов будет хуже, но не сильно. Где-то 1е-6 Гц.
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение May 18 2012, 16:05
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(Alex11 @ May 18 2012, 18:34) *
Если этого не сделать - слабые шумы приводят к сильному сдвигу вершины. На модели при окне 8192 точки, частоте дискретизации 25600 Гц при измерении частоты около 50 Гц получается точность порядка 1е-8 Гц. Реально при наличии небольших шумов будет хуже, но не сильно. Где-то 1е-6 Гц.

Если вычислять интеграл Фурье чистой синусоиды за время Т то получим в частотной области всплеск вида (Sinx)/x c шириной главного лепестка лепестка 1/T Определение положения вершины этого лепестка при наличии шумов с точностью более половины его ширины при наличии шумов дело безнадежное. Добавте сюда нестабильность частоты гетеродина
Go to the top of the page
 
+Quote Post
alex_os
сообщение May 18 2012, 16:16
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(MaslovVG @ May 18 2012, 20:05) *
Если вычислять интеграл Фурье чистой синусоиды за время Т то получим в частотной области всплеск вида (Sinx)/x c шириной главного лепестка лепестка 1/T Определение положения вершины этого лепестка при наличии шумов с точностью более половины его ширины при наличии шумов дело безнадежное. Добавте сюда нестабильность частоты гетеродина

При благоприятном стечении обстоятельств , совсем не безнадежное sm.gif. Мильон раз уже обсуждалось интерполяция DFT, вот например http://electronix.ru/forum/index.php?s=&am...st&p=995269


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Stas-
сообщение May 18 2012, 18:02
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 157
Регистрация: 20-01-09
Из: Новосибирск
Пользователь №: 43 645



Alex11
Спасибо за рецепт. Это мне и нужно было для начала sm.gif

Сообщение отредактировал Stas- - May 18 2012, 19:21
Go to the top of the page
 
+Quote Post
AlexeyW
сообщение May 18 2012, 19:56
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 988
Регистрация: 3-11-10
Пользователь №: 60 636



Цитата(scifi @ May 18 2012, 18:07) *
У периодического сигнала можно просто измерить период (с достаточной точностью, конечно), и будет совсем не так долго.

Источником является кварц - т.е. резонатор. Он сам по себе имеет задержку порядка период*добротность (добротность кварца, ясное дело, велика).
Go to the top of the page
 
+Quote Post
mihalevski
сообщение May 19 2012, 15:32
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Цитата(scifi @ May 18 2012, 21:07) *
У периодического сигнала можно просто измерить период (с достаточной точностью, конечно), и будет совсем не так долго.


Может сместить опорную частоту так, чтобы разностная частота менялась не 0...100 Гц, а допустим, 50…150Гц. Тогда суммарная
частота с выхода умножителя может быть подавленна ФНЧ. Это позволит измерять частоту обычным частотомером и вообще
уменьшить время измерения. Для уменьшения среднеквадратической погрешности квантования цифрового частотомера
(уменьшения времени измерения) используют ступенчатые оконные функции. Эти функции отличаются от применяемых в
Фурье для уменьшения боковых лепестков.
Go to the top of the page
 
+Quote Post
Santik
сообщение May 21 2012, 02:35
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096



По точности http://dsplib.ru/forum/viewtopic.php?f=7&t=142
По методам http://forum.vingrad.ru/forum/tech-algorit...que-method.html
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01611 секунд с 7
ELECTRONIX ©2004-2016