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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Обнаружение частоты, Нужно вычеслить наличие 1000Гц
Alex_1811
сообщение Nov 25 2008, 09:43
Сообщение #1


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

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



Возникла такая проблема:
Имеется Мега8 на вход АЦП которой через усилитель подключен микрофон.
Нужно детектировать наличее сигнала определенной частоты (в моем случаи 1000Гц).
Я понимаю что нужно что-то типа преобразования Фурье, но я далек от этого. smile.gif
Буду рад любой помощи.
Go to the top of the page
 
+Quote Post
МП41
сообщение Nov 25 2008, 09:57
Сообщение #2


4 синих кубика
****

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



А что если LM567 подвесить? Микросхема детектирует любую частоту с некоторой регулируемой полосой и выдаёт логический сигнал.

Или посмотрите тут FFT7, но AVR будет сильно загружен. Можно еще попробовать на КИХ-фильтре детектор собрать.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Nov 25 2008, 10:28
Сообщение #3


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

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



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

С примером FFT проблемы не будет, мне не понятно как мне его применить под мою задачу.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 25 2008, 10:34
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Alex_1811 @ Nov 25 2008, 14:28) *
С примером FFT проблемы не будет, мне не понятно как мне его применить под мою задачу.

Если вам нужно только 1-2 частоты, то зачем вам фурье? Обычный фильтр режекторный на эту частоту. Выборки достаточно 8000Гц. Проц практически не загружен будет. Время реакции фильтра будет зависеть от добротности, но буквально несколько периодов частоты.
Go to the top of the page
 
+Quote Post
МП41
сообщение Nov 25 2008, 10:38
Сообщение #5


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 структура однако очень эффективна
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Nov 25 2008, 10:42
Сообщение #6


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

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



Цитата(SasaVitebsk @ Nov 25 2008, 14:34) *
Если вам нужно только 1-2 частоты, то зачем вам фурье?

Параметр частота может изменяться, так что детектированиє нужно реализовать программно.
Узкая полоса по частоте не нужна.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Nov 25 2008, 10:59
Сообщение #7


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Alex_1811 @ Nov 25 2008, 15:42) *
Параметр частота может изменяться, так что детектированиє нужно реализовать программно.
Узкая полоса по частоте не нужна.

Если заранее известно какая частота, то коэфициенты фильтра проще хранить во флэши для каждой частоты отдельно, если частота меняется "сама по себе", то стоит задуматься о более мощном вычислителе.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
МП41
сообщение Nov 25 2008, 11:03
Сообщение #8


4 синих кубика
****

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



Адаптивный фильтр тоже будет проблемой, если частот много. Иначе - коэффициенты фильтра можно рассчитать заранее и хранить для каждой конкретной частоты.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
Designer56
сообщение Nov 25 2008, 11:10
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Самое простое, если программно,- это вычислит ДПФ для одной гармоники, в данном случае- 1 кГц, т. е по периоду 1 мс.


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
mse
сообщение Nov 25 2008, 11:16
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Искать Goertzel algorithm
Go to the top of the page
 
+Quote Post
МП41
сообщение Nov 25 2008, 11:18
Сообщение #11


4 синих кубика
****

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



У меня где-то были программы для расчёта коэффициентов фильтра с визуальным контролем АЧХ и ФЧХ. Сейчас в сети их найти не могу.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Nov 25 2008, 11:22
Сообщение #12


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

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



Цитата(Designer56 @ Nov 25 2008, 15:10) *
Самое простое, если программно,- это вычислит ДПФ для одной гармоники, в данном случае- 1 кГц, т. е по периоду 1 мс.


Может есть у кого пример (желательно на Си) или скажите где искить.
Ваши умные реплики мне мало о чем говорят. smile.gif
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Nov 25 2008, 11:26
Сообщение #13


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

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



может, проще коррелятором ?
http://www.dspguide.com/ch7/3.htm
http://www.maths.abdn.ac.uk/~igc/tch/mx400...tes/node97.html
http://ccrma-www.stanford.edu/~jos/filters...esentation.html
http://cnx.org/content/m10091/latest/
http://cnx.org/content/m10149/latest/

или синхр. детектором ?

Сообщение отредактировал ukpyr - Nov 25 2008, 11:33
Go to the top of the page
 
+Quote Post
Designer56
сообщение Nov 25 2008, 11:32
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Цитата(ukpyr @ Nov 25 2008, 16:26) *
может, проще коррелятором ?
или синхр. детектором ?

Так это по сути то- же самое, что и Фурье


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 25 2008, 12:22
Сообщение #15


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Designer56 @ Nov 25 2008, 17:32) *
Так это по сути то- же самое, что и Фурье

Не, не то же. Коррелятор будет хуже фурье когда вместе в синусом 1000 Гц будут посторонние сигналы, например 1500 Гц сразу обломает результат. А Фурье это будет "до лампочки". Правда у корреляции есть свои плюсы в разных ситуациях.

Сообщение отредактировал GetSmart - Nov 25 2008, 12:25


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st August 2025 - 19:48
Рейтинг@Mail.ru


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