|
Обнаружение частоты, Нужно вычеслить наличие 1000Гц |
|
|
|
Nov 25 2008, 09:43
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Возникла такая проблема: Имеется Мега8 на вход АЦП которой через усилитель подключен микрофон. Нужно детектировать наличее сигнала определенной частоты (в моем случаи 1000Гц). Я понимаю что нужно что-то типа преобразования Фурье, но я далек от этого.  Буду рад любой помощи.
|
|
|
|
|
Nov 25 2008, 09:57
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
А что если LM567 подвесить? Микросхема детектирует любую частоту с некоторой регулируемой полосой и выдаёт логический сигнал. Или посмотрите тут FFT7, но AVR будет сильно загружен. Можно еще попробовать на КИХ-фильтре детектор собрать.
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Nov 25 2008, 10:28
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(МП41 @ Nov 25 2008, 13:57)  Или посмотрите тут FFT7, но AVR будет сильно загружен. Можно еще попробовать на КИХ-фильтре детектор собрать. С примером FFT проблемы не будет, мне не понятно как мне его применить под мою задачу.
|
|
|
|
|
Nov 25 2008, 10:38
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
Нужно в результатах этой функции найти регистр/область памяти (в общем место, куда она результаты сохраняет), значение в котором(ой) соответствует амплитуде сигнала на частоте 1000Гц (а реально - в некоторой полосе частот). Правда чтобы обеспечить узкую полосу обнаружения, нужен многоточечный БПФ, что для AVR проблема. Цитата(SasaVitebsk @ Nov 25 2008, 12:34)  Если вам нужно только 1-2 частоты, то зачем вам фурье? Обычный фильтр режекторный на эту частоту. Выборки достаточно 8000Гц. Проц практически не загружен будет. Время реакции фильтра будет зависеть от добротности, но буквально несколько периодов частоты. Т.е. какой-нибудь цифровой фильтр, где нужно только умножать и суммировать, а также сделать буфер для задержки выборок?
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Nov 25 2008, 10:42
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(SasaVitebsk @ Nov 25 2008, 14:34)  Если вам нужно только 1-2 частоты, то зачем вам фурье? Параметр частота может изменяться, так что детектированиє нужно реализовать программно. Узкая полоса по частоте не нужна.
|
|
|
|
|
Nov 25 2008, 11:22
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(Designer56 @ Nov 25 2008, 15:10)  Самое простое, если программно,- это вычислит ДПФ для одной гармоники, в данном случае- 1 кГц, т. е по периоду 1 мс. Может есть у кого пример (желательно на Си) или скажите где искить. Ваши умные реплики мне мало о чем говорят.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|