Q

FFT-спектральный анализатор avr

11 сообщений в этой теме

Доброй ночи .
Как реализовать вывод на lcd в цифрах , частоты с максимальной амплитудой на промежутке от 0 до 120Гц. С частотой дискретизации 240 Гц .
Прошу помочь в написании кода , потому что в математике 0 .

 

 

0

Поделиться сообщением


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

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

Дискретизацию надо поднять хотябы раз в 10 - до 2400Гц. тогда уже можно применять математику не упираясь в теоретический предел. Но всеравно конечность выборки даст о себе знать, точность будет так себе.

Суть метода проста - умножаем исходную выборку на синус интересующей нас частоты - это элементарная операция сдвига сигнала по частоте! Потом надо высчитать DC(постоянную) составляющую результирующего сигнала и у вас в кармане численная характеристика составляющей исходного сигнала выбранной частоты - ведь в результате сдвига выбранная частота сдвигается в постоянный ток(частота = 0).

Если не ошибаюсь, реализация такого алгоритма и называется ДПФ.

Только на практике из-за дискретности функции и конечности интервала выборки(объёма памяти) результат будет так себе, и для остроты пиков желательно перед применением ДПФ на входную выборку применить функцию "окна" - плавно свести начало и конец выборки к нулю, чтобы небыло разрыва.

Изменено пользователем Alexeyslav
0

Поделиться сообщением


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

На пк я нашел похожую программу , но нужно на микроконтроллере  похожее сделать только вывод частоты с максимальной амплитудой на промежутке от 0 до 120Гц.

t.JPG

0

Поделиться сообщением


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

То что я и описал. Только учти, матиматика там ресурсоёмкая, контроллер нужен с достаточно большим объёмом памяти. Во-первых, чтобы поместить сам буффер(в программе это 256 семплов - если 16-битная выборка то 512 байт памяти нужно минимум) и во вторых, результат - это уже несколько больше, поскольку числа будут уже не целые... вобщем на дешёвых и широко распространённых контроллерах(типа меги 8-й) это реализовать НЕРЕАЛЬНО, нужны DSP-контроллеры иначе считать такую выборку как в программе будешь минуту.

Да, вижу в программе к выборке применяется окно Ханнинга.

И советую, сначала реализовать алгоритм на более человеческих условиях - делать всю математику на ПК на любом языке(хоть на бейсике в экселе, или на паскале), а уже ПОТОМ после того как получишь вменяемый результат переносить в МК ибо камней найдёшь массу, граблей насобираешь а делать это сразу на МК в сотню раз больнее.

Изменено пользователем Alexeyslav
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Q-ti сказал:

Прошу помочь в написании кода

Могу написать код за деньги. Если интересует - пишите в л.с.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, MagicianT сказал:

Похоже я и мои посты здесь невидимы.

Спасибо , посмотрю .

0

Поделиться сообщением


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

Ваша публикация должна быть проверена модератором

E
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

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

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

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

Загрузка...

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

  • Сообщения

    • С чего вы взяли!? До 100000000 легко получаем любое напряжение.
    • Ну так обратного никто не говорил. Я говорил что достаточно сравнить питание и выход - этого будет достаточно и просто.
    • @KRAB, по-моему, грех - не понимать принцип действия щупа с выносным делителем и его назначение (что мы и наблюдаем в случае@dimanaviator), т.е. не понимать базовые принципы работы с осциллографом и более-менее высокочастотными цепями. Если же ты всё это знаешь и понимаешь, то спаять электронную часть щупа самому, действительно, не проблема. Однако, проблема возникает с изготовлением корпусов, с поиском подходящих деталей и т.д. и т.п. И все эти проблемы по стоимости могут оказаться существенно больше, чем 300 рублей, за которые готовый щуп с делителем можно купить на Али или Ебэе. Входная ёмкость осциллографа с таким щупом составляет пару сотен пикофарад. Проще говоря, прикасаясь к измеряемой цепи, вы всякий раз шунтировали её указанной ёмкостью на землю.
    • Плюс тембр блок на  CXA1352SA  Колонки буду потом собирать , надо что то одно сначала собрать , потом остальное , и в колонках особых приколюх нет, выбрал по мощности и купил вот и готово, ну или купил ещё фанеру сделал закрытый ящик набил  его стекловатой и провода хорошие все, больше там замарочек нет, тут же с блоком питания ппц, кстати 500 это запас так как потери и т.д. микруха жрет 110 ватт максимум но её КПД около 60% т.е. на выходе я буду иметь порядка 60-70 ватт это не чертовски много но очень хорошо по сравнению с тем что я имею ... А именно простую авто магнитолу подключенную  к блоку питания от компа , и на ней 4 колонки которые она вообще не раскачивает или если делать звук громче то кооэфициент нелинейных искажений ппц какой и часть звука срезается так как основная микросхема не может дать больше 4x40 хоть и написанной 4x45 , поэтому хочу собрать хорошую музыку и чтоб усилитель не выкручивать на 100% а на 70% так как звук будет но будет просто орать дудуть и ...все остальное, возможно я возьму 2 транса по 250, у меня нет опыта в номотке,транса возможно я буду искать в своём городе может конечно буду пробовать сам, но у меня есть желание от которого я не могу сидеть на месте ,  Чтобы пробить стену лбом надо ,много лбов , или разбег по больше ,  Я по первой конечно думал что размеры будут куда скромнее , и хотел сделать как бы переносную акустику и тоскать за собой, но это уже не критично , будет стоять в зале (зал на 27 квадратов )  и длинные провода к динамикам  чтоб по ближе к окну можно протащить  Спасибо за понимание и помощь всем, просто мне нужен блок пининия , я не понимаю , ну или мало что понимаю, по этому прошу вас помочь , 
    • Сами возим и растомаживаем. Мы хотим сделать доступный магазин компонентов, где любой сможет купить от 1 штуки в забугорье, или если нужно у наших партнёров в России.
    • Резистор не менее чем 0,5Вт.