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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> измерение частоты аналогового сигнала, 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
fmdost
сообщение Mar 13 2008, 01:09
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(Spym @ Mar 13 2008, 02:56) *
... С ЦОС практически не знаком ...

То-же.
Хочу сделать себе светамузычку. Вот что насобирал фильтры с укороченными коэффициэнтами, правда ссылка на первоисточник платная, мож кто поделится. Вот ещё есть програмка по расчёту фильтров, правда 1998года. Прикрепленный файл  FIR.RAR ( 614.06 килобайт ) Кол-во скачиваний: 140

Ув Камрады. Если кто знает доходчивый сайт или книжку, особенно применительно к экономии вычислительных ресурсов по теме, поделитесь, очень актуально, pls.
Go to the top of the page
 
+Quote Post
DimaD
сообщение Mar 13 2008, 09:33
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645



Цитата(Spym @ Mar 13 2008, 01:56) *
Требуется измерять частоту аналогового сигнала при помощи АЦП в mega32, точнее - искать сигнал с частотой 4850 - 4990Гц.


Сформулируйте точнее, что именно Вам необходимо.
Go to the top of the page
 
+Quote Post
Spym
сообщение Mar 13 2008, 13:06
Сообщение #4


Участник
*

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



Сигнал этот есть выход микрофона, нужно определить наличие звука с частотой, близкой к 4920Гц.
Используется вход АЦП с усилением 200х.
Go to the top of the page
 
+Quote Post
Lexdaw
сообщение Mar 13 2008, 14:48
Сообщение #5


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

Группа: Участник
Сообщений: 87
Регистрация: 5-02-08
Пользователь №: 34 772



Почему вы не хотите сделать на паре ОУполосовой аналоговый фильтр?Цифровой фильтр для не спеца вещь достаточно сложная.
Go to the top of the page
 
+Quote Post
GDI
сообщение Mar 13 2008, 14:58
Сообщение #6


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

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Поиск частоты - это фурье, чтобы найти одну частоту надо выполнить дискретное преобразование фурье, причем не быстрое, а полное.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Mar 13 2008, 15:28
Сообщение #7


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Lexdaw @ Mar 13 2008, 17:48) *
Почему вы не хотите сделать на паре ОУполосовой аналоговый фильтр?Цифровой фильтр для не спеца вещь достаточно сложная.

почему?

про аналоговый фильтр согласен. наличие/отсутствие определять по порогу
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 13 2008, 15:36
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Существует алгоритм Герцеля. Насколько я понял он предназначен для нахождения энергии некоторого небольшого количества спектральных составляющих. Вроде пишут что гораздо проще FFT.
Go to the top of the page
 
+Quote Post
Spym
сообщение Mar 13 2008, 15:36
Сообщение #9


Участник
*

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



Цитата(GDI @ Mar 13 2008, 17:58) *
Поиск частоты - это фурье, чтобы найти одну частоту надо выполнить дискретное преобразование фурье, причем не быстрое, а полное.

Тогда хотелось бы ознакомиться с теорией фурье преобразований, если не существует упрощённых методов поиска частоты.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Mar 13 2008, 15:38
Сообщение #10


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Spym @ Mar 13 2008, 18:36) *
Тогда хотелось бы ознакомиться с теорией фурье преобразований, если не существует упрощённых методов поиска частоты.

В любой книге по ЦОС. Кроме того, после того как освоитесь, не помешает использовать пакет fdatool из matlab это сильно упростит расчет и визуализацию фильтра.
Go to the top of the page
 
+Quote Post
megachip
сообщение Mar 13 2008, 15:54
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 13-06-05
Пользователь №: 5 967



Может подойдет что нибудь вроде lm567(Tone Decoder).
Go to the top of the page
 
+Quote Post
Dopler
сообщение Mar 13 2008, 20:19
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 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
Spym
сообщение Mar 13 2008, 22:12
Сообщение #13


Участник
*

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



Цитата
Можно применить синхронный детектор.[quote]
Наложение частоты?
Хотелось бы увидеть реализацию на С. Особенно фильтр нижних частот 07.gif .

или использовать таки быстрое Фурье.
Определять значение преобразования только для 4920гц?

Кстати, какой должна быть минимальная частота дискретизации?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 14 2008, 00:44
Сообщение #14


;
******

Группа: Участник
Сообщений: 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
DimaD
сообщение Mar 14 2008, 06:59
Сообщение #15





Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645



Spym, не влазьте в преобразование Фурье, там просто утоните.

Прислушайтесь к Megachip, Вам может подойти lm567. Сам использовал.
С помощью конденсаторов и резисторов настраиваетесь на необходимую частоту. Если эта частота совпадет с входной частотой, тогда на выходе будете иметь лог. 1 (или лог. 0, точно не помню).
Go to the top of the page
 
+Quote Post

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

 


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


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