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

 
 
> измерение частоты аналогового сигнала, mega32
Spym
сообщение Mar 12 2008, 23:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 24-02-08
Из: Москва
Пользователь №: 35 348



Доброго времени суток.

Требуется измерять частоту аналогового сигнала при помощи АЦП в mega32, точнее - искать сигнал с частотой 4850 - 4990Гц.

Какие существуют методы обнаружения известной частоты?
Чем определяется необходимая частота дискретизации входящего сигнала?

Мне это представляется как отсчет времени между всплесками на заданную амплитуду, и поиском всплесков с заданным периодом, с дальнейшей статистической обработкой полученных данных.
С ЦОС практически не знаком...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dopler
сообщение Mar 13 2008, 20:19
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Как быстро необходимо дать ответ об обнаруженной частоте?
Можно применить синхронный детектор.
В памяти контроллера нужно хранить два сигнала - sin и cos требуемой частоты (две квадратуры) с такой же частотой дискретизации, какая будет у входного сигнала. Опорные сигналы должны содержать целое число периодов. Входной сигнал перемножается на опорные. Если разложить по формуле sin(a)*sin(cool.gif, то получится сумма синусов с частотами a-b и a+b, т.е. если частота a=b, то получается постоянная составляющая, плюс сигнал удвоенной частоты. Таким образом, если пропустить полученный сигнал (входной, умноженный на опорный) через ФНЧ, то сигнал двойной частоты отфильтруется, останется только постоянная составляющая. Ее амплитуда определяется как корень квадратный из суммы квадратов синусной и косинусной составляющей.

В данном случае можно сделать ФНЧ на 100 Гц (а можно и на 20, в зависимости от скорости, с которой надо давать ответ), корень квадратный можно попробовать вычислять таблицей, хотя если не нужны точные значения амплитуды сигнала искомой частоты, а нужно только детектировать ее наличие - то корень брать вообще не обязательно.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 14 2008, 00:44
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Dopler @ Mar 14 2008, 00:19) *
Как быстро необходимо дать ответ об обнаруженной частоте?
Можно применить синхронный детектор.
************************************************************
Ее амплитуда определяется как корень квадратный из суммы квадратов синусной и косинусной составляющей.


Держу в руках старинную книжку
"Микропроцессорный комплект БИС серии К1815 для цировой обработки сигналов" М.:"Радио и связь",1992
Я ее не выбросил из-за одной цитаты (с.232)
Цитата
Yвых = max (|Y_Re|, 7/8 |Y_Re| + 1/2 |Y_Im|, 1/2|Y_Re|+7/8|Y_Im|, |Y_Im|)


Это касается приближенного вычисления амплитуды огибающей на выходе фильтра.
Заявленная погрешность 2.98%.
В формуле Y_Re, Y_Im - накопленные суммы в квадратурных каналах,
|x| - это я обозначил модуль значения (по-маткадовски)
Очень благородно! Пользовал лично, еще когда об аппаратном умножителе на аврках,пиках и мечтать не приходилось.

По-поводу собсно обнаружения, надо еще ловить динамику изменения этой огибающей, потому что в отсутствие сигнала у нас могут быть ложные срабатывания.
Ловить динамику можно скользящим средним с небольшим окном, дабы не добавлять задержки, плюс
отношение текущей огибающей к скользящему среднему.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Spym   измерение частоты аналогового сигнала   Mar 12 2008, 23:56
- - Т.Достоевский   Цитата(Spym @ Mar 13 2008, 02:56) ... С Ц...   Mar 13 2008, 01:09
- - DimaD   Цитата(Spym @ Mar 13 2008, 01:56) Требует...   Mar 13 2008, 09:33
|- - Spym   Сигнал этот есть выход микрофона, нужно определить...   Mar 13 2008, 13:06
|- - Lexdaw   Почему вы не хотите сделать на паре ОУполосовой а...   Mar 13 2008, 14:48
|- - jorikdima   Цитата(Lexdaw @ Mar 13 2008, 17:48) Почем...   Mar 13 2008, 15:28
- - GDI   Поиск частоты - это фурье, чтобы найти одну частот...   Mar 13 2008, 14:58
|- - Spym   Цитата(GDI @ Mar 13 2008, 17:58) Поиск ча...   Mar 13 2008, 15:36
|- - jorikdima   Цитата(Spym @ Mar 13 2008, 18:36) Тогда х...   Mar 13 2008, 15:38
|- - megachip   Может подойдет что нибудь вроде lm567(Tone Decoder...   Mar 13 2008, 15:54
- - uriy   Существует алгоритм Герцеля. Насколько я понял он ...   Mar 13 2008, 15:36
|- - DimaD   Spym, не влазьте в преобразование Фурье, там прост...   Mar 14 2008, 06:59
- - Spym   ЦитатаМожно применить синхронный детектор.[quote] ...   Mar 13 2008, 22:12
- - Spym   Получается тут, что определить наличие частоты нуж...   Mar 14 2008, 08:49
|- - Qwertty   Цитата(Spym @ Mar 14 2008, 11:49) Получае...   Mar 14 2008, 09:49
- - Spym   ага. 30 периодов это ~6мс. придётся вносить поправ...   Mar 14 2008, 11:15
- - DimaD   Spym, Вам нужно как минимум 1/5000Гц (если для опр...   Mar 14 2008, 11:19
- - GDI   Быстрое фурье может считать ТОЛЬКО ВСЕ гармоники, ...   Mar 14 2008, 11:34
- - DimaD   Позвольте Spym узнать, какое такое важное решение ...   Mar 14 2008, 11:48
- - GDI   ЦитатаКстати, какой должна быть минимальная частот...   Mar 14 2008, 12:45
- - Spym   я остановился на аппаратном фильтре. По этому слег...   Mar 14 2008, 18:33
- - Spym   Ступил извините. С 567 всё ясно. Кроме Цитатапри с...   Mar 14 2008, 23:07
- - rezident   Можно еще попробовать корреляционную функцию по ди...   Mar 14 2008, 23:33


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

 


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


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