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

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

|
Возникла такая проблема: Имеется Мега8 на вход АЦП которой через усилитель подключен микрофон. Нужно детектировать наличее сигнала определенной частоты (в моем случаи 1000Гц). Я понимаю что нужно что-то типа преобразования Фурье, но я далек от этого.  Буду рад любой помощи.
|
|
|
|
|
 |
Ответов
|
Nov 25 2008, 22:49
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Microwatt @ Nov 25 2008, 21:37)  Да, тяжело в электронике программерам... Ну, куда ни сунься - везде гигабайта- другого не хватает... Сказано было сразу:LM567. Вот от нее и пляшите после тщательного изучения матчасти.... И перестраиваемый по частоте программно фильтр достаточно просто на ней организовать. А то- Фурье, корреляторы, матрицы- накопители, синус-косинусные преобразования.... Да всё это звучит грозно, а на деле ... Гигобайты это на ПиСишках, а здесь их нет и сотнями байтов укладываемся. Тот же DTMF делал на м8 - 10 режекторных фильтров. Пару килобайтов. Тут ещё одной информации не хватает - а именно превышение сигнала над фоном. Насколько сигнал чёткий будет? Корелятором тоже делал, но ... выделяет хуже, соотношение сигнал/шум держит хуже, времени тратит больше, проц загружает намного больше. Конечно фильтр перестраевыемый сделать значительно сложнее. Плавучку не потянешь, а фиксированная времени больше захавает, но какого-нибудь второго порядка вполне реально потянуть с 16-ти битной арифметикой с фиксированной точкой. Одну частоту. Если сигнал отчётливый.
|
|
|
|
|
Nov 25 2008, 23:59
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(SasaVitebsk @ Nov 26 2008, 02:49)  Да всё это звучит грозно, а на деле ... Гигобайты это на ПиСишках, а здесь их нет и сотнями байтов укладываемся. Тут ещё одной информации не хватает - а именно превышение сигнала над фоном. Насколько сигнал чёткий будет? Конечно фильтр перестраевыемый сделать значительно сложнее. Так надо матчасть учить. Что умеет 16-разрядный процессор приблизительно понятно. И сколько времени программер будет уродоваться над всякими БПФ, пока 1000Гц от 2000Гц в идеальном спектре так-сяк программа отличать начнет. А почему все-таки стандартный тональный декодер не годится? При уровне сигнала -6 дБ уверенно обнаруживает. Когда на экране самого сигнала за помехами не видно. За несколько периодов всего. И перестраивается практически одним резистором. Это можно и программно делать. Просто программеры не ищут легких путей в жизни?
|
|
|
|
|
Nov 26 2008, 09:27
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Microwatt @ Nov 26 2008, 03:59)  Так надо матчасть учить. Что умеет 16-разрядный процессор приблизительно понятно. И сколько времени программер будет уродоваться над всякими БПФ, пока 1000Гц от 2000Гц в идеальном спектре так-сяк программа отличать начнет. А почему все-таки стандартный тональный декодер не годится? При уровне сигнала -6 дБ уверенно обнаруживает. Когда на экране самого сигнала за помехами не видно. За несколько периодов всего. И перестраивается практически одним резистором. Это можно и программно делать. Просто программеры не ищут легких путей в жизни? Да нет, наоборот. Я просто говорю, что этот параметр надо учитывать при выборе алгоритма. А то наши советы бессмысленны. Цифровой фильтр у меня также устойчиво обнаруживал сигнал DTMF на фоне разговора. При этом никогда не подрабатывал во время разговора. И, действительно, обнаруживал сигнал буквально по нескольким периодам. Мы добились качества работы неотличимого от ВЖ18. Точных параметров я вам не скажу, так как там всё несколько сложнее было (сигнал восстанавливался из цифры сначала). У корелятора эти параметры раз в 10 хуже были.
|
|
|
|
Сообщений в этой теме
Alex_1811 Обнаружение частоты Nov 25 2008, 09:43 МП41 А что если LM567 подвесить? Микросхема детектирует... Nov 25 2008, 09:57 Alex_1811 Цитата(МП41 @ Nov 25 2008, 13:57) Или пос... Nov 25 2008, 10:28  SasaVitebsk Цитата(Alex_1811 @ Nov 25 2008, 14:28) С ... Nov 25 2008, 10:34   Alex_1811 Цитата(SasaVitebsk @ Nov 25 2008, 14:34) ... Nov 25 2008, 10:42    Stanislav_S Цитата(Alex_1811 @ Nov 25 2008, 15:42) Па... Nov 25 2008, 10:59 МП41 Нужно в результатах этой функции найти регистр/обл... Nov 25 2008, 10:38 МП41 Адаптивный фильтр тоже будет проблемой, если часто... Nov 25 2008, 11:03 Designer56 Самое простое, если программно,- это вычислит ДПФ ... Nov 25 2008, 11:10 Alex_1811 Цитата(Designer56 @ Nov 25 2008, 15:10) С... Nov 25 2008, 11:22 mse Искать Goertzel algorithm Nov 25 2008, 11:16 МП41 У меня где-то были программы для расчёта коэффицие... Nov 25 2008, 11:18 ukpyr может, проще коррелятором ?
http://www.dspguide.co... Nov 25 2008, 11:26 Designer56 Цитата(ukpyr @ Nov 25 2008, 16:26) может,... Nov 25 2008, 11:32  GetSmart Цитата(Designer56 @ Nov 25 2008, 17:32) Т... Nov 25 2008, 12:22   Designer56 Цитата(GetSmart @ Nov 25 2008, 17:22) Не,... Nov 25 2008, 13:00 SasaVitebsk Цитата(ukpyr @ Nov 25 2008, 15:26) может,... Nov 25 2008, 15:46 GetSmart Цитата(Alex_1811)Нужно детектировать наличее сигна... Nov 25 2008, 13:30 klen 1. корелятор и БПФ/ДПФ - cуть одно и тоже, ДПФ - в... Nov 25 2008, 13:56 Alex_1811 Вот тут http://helper10.narod.ru/alg2.htm
Нашел та... Nov 25 2008, 14:01  klen пробуй Nov 25 2008, 14:14  Alex_1811 А какой длины таблицу Sin и Cos нужно брать (волну... Nov 25 2008, 14:19 ukpyr лучше делать выборки на частоте, кратной искомой (... Nov 25 2008, 15:41 demiurg_spb Цитата(ukpyr @ Nov 25 2008, 18:41) лучше ... Nov 25 2008, 20:45 Rst7 Цитата(Microwatt @ Nov 25 2008, 19:37) Да... Nov 25 2008, 18:56  klen Вот один из самых оригинальных в моем понятиии при... Nov 25 2008, 19:51  Microwatt Цитата(Rst7 @ Nov 25 2008, 22:56) Вашу не... Nov 25 2008, 21:17    Alex_1811 Вот до чего я докотился .
Пока на Delphi для прос... Nov 26 2008, 14:26 Serg76 Присоединяюсь к mse. Самое простое это применить а... Nov 25 2008, 20:02 Aleksandr Baranov А что, вычисление величины гармоники 1000 Гц - это... Nov 25 2008, 23:32 GetSmart Цитата(Aleksandr Baranov)А что, вычисление величин... Nov 25 2008, 23:57 GetSmart Цитата(Alex_1811)Кто скажет, похоже на правду?
Оче... Nov 26 2008, 22:52 Alex_1811 Цитата(GetSmart @ Nov 27 2008, 02:52) Тол... Nov 27 2008, 07:38  Alex_1811 А от корня квадратного никак избавиться нельзя, дл... Nov 27 2008, 08:01  Stanislav Цитата(Alex_1811 @ Nov 27 2008, 10:38) Фо... Nov 27 2008, 08:44 Stanislav Цитата(Alex_1811 @ Nov 25 2008, 12:43) Во... Nov 27 2008, 01:05 МП41 Это для синхронизации по 6-и точкам что-ли? Nov 27 2008, 07:47 GetSmart Цитата(Alex_1811)Розжуйте пожалуйста белее популяр... Nov 27 2008, 07:51 Alex_1811 Цитата(GetSmart @ Nov 27 2008, 11:51) Или... Nov 27 2008, 08:27 GetSmart Цитата(Alex_1811)А от корня квадратного никак изба... Nov 27 2008, 08:12
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|