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

 
 
 
Reply to this topicStart new topic
> Аппаратное измерение частоты сигнала в AVR
Буратино
сообщение May 6 2009, 07:36
Сообщение #1


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Подскажите, как точно измерить частоту сигнала (50-100кHz) используя таймеры процессора?
Какой тип таймеров лучше использовать в Меге и какой именно режим их работы?
В детали можно не вдаваться, но вот сам принцип если можно.
спсsmile.gif


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
akl
сообщение May 6 2009, 08:16
Сообщение #2


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

Группа: Свой
Сообщений: 127
Регистрация: 4-04-07
Из: Ижевск
Пользователь №: 26 773



Здравствуйте! Посмотрите эту знаковую, ИМХО, веточку
http://electronix.ru/forum/index.php?showtopic=29796
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 6 2009, 09:58
Сообщение #3


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(akl @ May 6 2009, 12:16) *
Здравствуйте! Посмотрите эту знаковую, ИМХО, веточку
http://electronix.ru/forum/index.php?showtopic=29796


Спасибо, и правда знаковая. Тем более, что там засветилось сразу нескольо звезд АВР. Но в ветке основное внимание уделено быстрому и точному измерению частоты сигналов с малыми периодами (большой частоты в смысле). Плюс ветка расположена в разделе профи, что несколько "рассеивает" внимание новичков. Конечно буду изучать, там масса полезной инфы.

Но у меня специфическая задача. Дело в том, что мне необходимо измерять частоту сигнала на фоне помех! То есть мне не подходит вариант где просто будет считаться кол-во фронтов за единицу времени. Нужен совет. Давайте помогайте наверноеsmile.gif

Сообщение отредактировал Буратино - May 6 2009, 10:00


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 6 2009, 10:08
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Буратино @ May 6 2009, 13:58) *
Но у меня специфическая задача. Дело в том, что мне необходимо измерять частоту сигнала на фоне помех! То есть мне не подходит вариант где просто будет считаться кол-во фронтов за единицу времени. Нужен совет. Давайте помогайте наверноеsmile.gif

Значит, надо его сначала очистить от помех. Например, компаратором.
Тем более что у АВРок выход компаратора можно вывести на защёлку таймера (не помню какого, там у них чёрт ногу сломит)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 6 2009, 11:06
Сообщение #5


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Отделить шум от полезного сигнала не представляется возможным.
Посмотрите на рисунок. Допустим необходимо фиксить наличие частоты 50kHz и 51kHz.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 6 2009, 12:09
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Буратино @ May 6 2009, 14:06) *
Отделить шум от полезного сигнала не представляется возможным. Допустим необходимо фиксить наличие частоты 50kHz и 51kHz.
В первом посте было только "точно измерить частоту сигнала (50-100кHz) используя таймеры процессора". Вы, уж, задачу огласите полностью. Что значит "фиксить наличие частоты 50kHz и 51kHz"?
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 6 2009, 12:37
Сообщение #7


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(Палыч @ May 6 2009, 16:09) *
В первом посте было только "точно измерить частоту сигнала (50-100кHz) используя таймеры процессора". Вы, уж, задачу огласите полностью. Что значит "фиксить наличие частоты 50kHz и 51kHz"?


необходимо "слушая" мегой поток данных идентифицировать участки с частотой например 50kHz. При этом уметь отличить таковые от участков с частотой 51kHz. Длительность участков без шума (ну вот тех оторые я подкрасил на рисунке) 0,05-0,1с
Я прошу прощения за сумбурность в изложении, но я потом расскажу анекдот в качестве компенсации за труды.


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 6 2009, 12:48
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Буратино @ May 6 2009, 15:37) *
необходимо "слушая" мегой поток данных идентифицировать участки с частотой например 50kHz.
Другими словами: нужно определять длительность пребывания сигнала в высоком уровне и в низком уровне и если эти длительности лежат в интервале, скажем, 19.9...20.1мс, то выставить некий сигнал?
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 6 2009, 13:02
Сообщение #9


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(Палыч @ May 6 2009, 16:48) *
Другими словами: нужно определять длительность пребывания сигнала в высоком уровне и в низком уровне и если эти длительности лежат в интервале, скажем, 19.9...20.1мс, то выставить некий сигнал?


Мне больше нравится работь с периодом, так как скважность в моем случае не строго 50ти процентная, а какая получится на этапах выделения и обработки сигнала(а вот частота стабильная). И потом, разве можно будет таим образом с приемлемой (для радиогубителя) точностью и достоверностью отличить 50 от 51kHz?
Я планировал считать кол-во импульсов за ед. времени, потом математически рассчитывать частоту, но столнулся с ложными срабатываниями из-за шума. Вот и решил узнать о методах измерения частот, вдруг встречу решение своей траблы.

Сообщение отредактировал Буратино - May 6 2009, 13:04


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Goodefine
сообщение May 6 2009, 13:07
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581



Как вариант. Использовать режим с захватом таймера. Детерминировать полезный сигнал при помощи некого минимального отрезка времени (у вас ок. 0.05с), в течении которого длительность между фронтами соответствует требуемой (зависит от частоты полезного сигнала) и меняется не более чем на величину погрешности измерения и самого источника...


--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 6 2009, 13:20
Сообщение #11


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(Goodefine @ May 6 2009, 17:07) *
Как вариант. Использовать режим с захватом таймера. Детерминировать полезный сигнал при помощи некого минимального отрезка времени (у вас ок. 0.05с), в течении которого длительность между фронтами соответствует требуемой (зависит от частоты полезного сигнала) и меняется не более чем на величину погрешности измерения и самого источника...


Можно немного подробнее?


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Goodefine
сообщение May 6 2009, 13:32
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581



Цитата(Буратино @ May 6 2009, 16:20) *
Можно немного подробнее?

У вас, по сути, две основных задачи:
1. С достаточной точностью определять временные интервалы между фронтами импульсов. Этого можно (наверное можно, в цифрах еще не считал) сделать с помощью захвата таймера. Допустим, мерять научились, тогда
2. Уметь отличить полезный сигнал от шума. Можно подобрать такой участок (короткий, разумеется) с шумом, что он будет практически неотличим от полезного сигнала. Но шум в отличие от сигнала не есть стабильный. Поэтому проще всего установить какую-то временные рамку, в течении которой полезный сигнал однозначно присутствует. При этом ,последовательно определяя период следования фронтов, оцениваем стабильность этого самого периода. Как только период примерно одинаков (на величину погрешностей) некоторое время "ч", фиксируем событие "полезный сигнал", затем зная период (можно даже простейшее накапливание сделать, для точности) находим частоту без особых проблем...


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

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

 


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


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