Перейти к содержанию

Прошу помощи в обработке сигнала в реальном времени avr


Рекомендуемые сообщения

Всем добрый день . Есть такой сигнал который подаю на ацп 32атмеги . Нужно измерять частоту от 20 до 150Гц этого сигнала в реальном времени и выводить на lcd . Помогите с реализацией этой задачи .
Я так понимаю надо рыть в сторону быстрого преобразования Фурье или есть другие способы ?

3.jpg

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Так тебе надо частоту измерять или частотный спектр? Чуть усилить, подать на вход таймера и измерять уже без проблем цифровым способом. И ещё зависит от того насколько быстро и точно надо выдавать результат - если 1Гц и 1с времени на измерение достаточно, тогда можно просто считать количество импульсов за период, если надо быстрее - тогда измерять период и выполнять деление 1/T потом пропустить через простейший оконный усредняющий фильтр и хоть на стрелочный прибор подавай.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Альтернативный вариант для БПФ - кросскореляция. Обеспечивает максимальную точность (кстати требования надо сразу указывать), но он ресурсоёмкий.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

4 часа назад, Q-ti сказал:

Нужно измерять частоту от 20 до 150Гц этого сигнала

"Этот сигнал" - 1 Кгц. Что значит частота 20...150 Гц ЭТОГО сигнала ? Какого "этого" и причём тут 20...150 ?
И что в Вашем понятии "реальное время" ? Это как ?

По подробнее можете описать задачу ? Из Ваших слов вообще ничего не понятно. Какие то отрывки мыслей, а не описание задачи...

 

PS: Ну и, собственно, самый главный вопрос - какую помощь от нас ждёте ? Чем конкретно помочь ?
 

Ссылка на комментарий
Поделиться на другие сайты

На картинке да частота 1кГц но она может быть и меньше например 100Гц.

Допустим есть микрофон подключённый к ацп который может измерять ~ от 0 и до 20кГц .

А мне нужно измерять частоту в приделах от 20 до 150Гц и выводить на lcd .

Из этого всего как я понимаю нужно отфильтровать всё что выше 150Гц , а всё что ниже выводить на lcd с частой обновления 1с.

Прошу может кто писал подобный проект поделится исходником .

На просторах интернета я нашел то что мне нужно но там передача по uart , возможно кто то поможет править код так как для меня  в нем трудно разобраться .

Ссылка на комментарий
Поделиться на другие сайты

Вам нужен обычный частотомер, на входе которого лог. уровни (без АЦП). Ищите примеры или проекты с кодом.
А синус в прямоугольники, как уже сказали выше, переводите обычным усилителем. Хотя бы на том же ОУ. На нём, заодно, и фильтр сделаете.
 

Ссылка на комментарий
Поделиться на другие сайты

Боюсь не всё так просто. Во-первых, одна только задача вырезать всё начиная со 150Гц довольно трудно будет реализовать. Обычный фильтр что RC что LC даёт ослабление только 6дб/октаву, а чтобы достаточно хорошо отфильтровать "ненужное" понадобится фильтр не менее 6-7 порядка а там уже схема довольно громоздкая выходит на операционниках.

Потом компаратор и на вход таймера настроенного на счет внешних импульсов. дальше уже всё просто - обнуляете таймер программно, ждёте секунду, считываете содержимое таймера и можно выводить.

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

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

51 минуту назад, Q-ti сказал:

А вот мне тоже интересно что покажет

Ерунду он вам покажет. Ибо мы так и не услышали ничего ни о форме входного сигнала, ни что вы собрались измерять в нём, ни .... Одни только догадки...
Боюсь, Вы сами с трудом понимаете, что Вам нужно. Отсюда и объяснить нормально не можете.

 

Ссылка на комментарий
Поделиться на другие сайты

И не удивительно что не получилось. Я предлагал метод кросс-кореляции, математика предельно проста

for(i=0; i < len; i++)
  {
    sum = 0;
    for(k=0; k < len-i; k++) sum += (rawData[k]-128)*(rawData[k+i]-128)/256;
  }

Тут называется авто-корреляция, наверно правильнее, но разницы особой нету как называть.  

http://www.akellyirl.com/reliable-frequency-detection-using-dsp-techniques/

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Ведь этож надо... такое совпадение. И я тоже делаю без сверлений. Более того, прилагаю фото имеющихся у меня  "хоть чуток острых предметов", несмотря на наличие которых, столь несложный и общедоступный  способ зачистки, к.м.к.  имеет право на демонстрацию в данной теме. Вдруг кому-то пригодится... Тем более, что тема простаивает аж с марта, будто на белом свете нет ничего, что можно было бы сюда  разместить,  хотя бы для сведения. 
    • В описании сказано, что МК включится после размыкания кнопки включения.
    • Мои слова ни как не относятся к тому куску кода Знаете что такое функция, аргумент, результат?
    • Устройство сделано на базе МК ATtiny44A. Так как девайс нужен был мобильный, то в качестве индикатора был выбран модуль ЖКИ на НТ1621. Схема устройства: Так как питание девайса 3 В, то пришлось на плате дисплея заменить резистор контрастности и резистор подсветки ЖКИ. R1 установил 4,7 кОм в место 20 кОм, а R2 в место 100 Ом поставил 300 Ом. Прошивка для МК: test_LCD.hex МК тактируется на заводских установках (от внутреннего генератора 1 МГц.)   Аккумулятор Li-ion 1100 мАч. В качестве зарядного устройства, используется модуль ТР4056.   При полной зарядке аккумулятора, устройство работает без подзаряда около 27 дней. Индикатор на дисплее, помогает визуально контролировать уровень заряда для последующей подзарядки аккумулятора. При напряжении на аккумуляторе ниже 3,4 В подсветка индикатора гаснет для снижении потребляемого тока. Подсветка гаснет и в ночное время (при недостаточном освещении), чтобы свет дисплея не мешал во время сна.
    • @korsaj Ну согласно твоих слов и этот код примерно тоже самое и получается. Я и не вижу особых отличий. Но нужно только как то доработать чтоб оно работало. В том то всё и дело что оно не работает. А учитывая как раз таки что мне нужны будут определённые фрагменты где хранятся данные, то это очень хорошее решение, но нужно его доработать до рабочего состояния.
    • Чет непонятка у меня образовалась. Измерял индуктивность первички ТВЗ двумя методами: Василича и из книги Цыкина И чет всё разное получилось. ХЗ чему верить. Если по Василичу, то у ТОРа индуктивность растет вместе с амплитудой напряжения. 645Гн мне совсем много показалось. По Цыкину у ТОРа наоборот падает... У  ШЛМ сердечника +/- хотя бы рядом значения. В общем, может объясните? Может неправильно что сделал?  
    • Это условно упрощенный А вы ченить навояли?
×
×
  • Создать...