Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровой фильтр/спектроанализатор?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
trancer1019
Здравствуйте!
На входе имею: звуковой сигнал 20Гц-20кГц
Необходимо: разбить данный участок на 3 диапазона и получить на выходе 3 числа равных амплитуде сигналов на каждом из этих участков (для последующего формирования ШИМ)...
Нажмите для просмотра прикрепленного файла
На рис. показаны примерные АЧХ фильтров которые желательно получить... (каждый цвет - свой фильтр; там где полосы пропускания пересекаются необходимо)

Подскажите как это реализовать? Что использовать лучше микроконтроллер или ПЛИС??
Раньше с цифровыми фильтрами не сталкивался.. так что буду рад любой информации (в том числе и направления в которое нужно копать)
Заранее спасибо...
DRUID3
Светомузыка? sm.gif
trancer1019
Цитата(DRUID3 @ Dec 12 2010, 14:25) *
Светомузыка? sm.gif

Ага sm.gif
Вот решил, для общего развития сваять цифровую а не на 3х ОУsm.gif Да и с характеристикой заодно не прямоугольной а линейной...
DRUID3
Цитата(trancer1019 @ Dec 12 2010, 13:30) *
Ага sm.gif
Вот решил, для общего развития сваять цифровую а не на 3х ОУsm.gif

Похвально...

Цитата(trancer1019 @ Dec 12 2010, 13:30) *
Да и с характеристикой заодно не прямоугольной а линейной...

А вот с этим сложно... Да и линейность в логарифмический шкале частот и амплитуд или линейной?

А так - любой мкроконтроллер с АЦП, возможностью получить 3-и канала ШИМ(даже софтово) и который потянет 3-и IIR фильтра... AVR ATmega 8, Или новые LPC младших серий... FPGA, как по-мне так слишком жирно для такой задачи...
rx3apf
Цитата(trancer1019 @ Dec 12 2010, 14:24) *
Раньше с цифровыми фильтрами не сталкивался.. так что буду рад любой информации (в том числе и направления в которое нужно копать)

Например, глянуть на готовое решение - http://www.airylight.nm.ru/ и его основу (http://elm-chan.org/works/akilcd/report_e.html).
trancer1019
Цитата(DRUID3 @ Dec 12 2010, 14:40) *
А вот с этим сложно... Да и линейность в логарифмический шкале частот и амплитуд или линейной?

По частоте логорифмический масштаб...
Цитата(DRUID3 @ Dec 12 2010, 14:40) *
и который потянет 3-и IIR фильтра... AVR ATmega 8, Или новые LPC младших серий... [

А Мега 8 потянет?
DRUID3
Цитата(trancer1019 @ Dec 12 2010, 14:16) *
А Мега 8 потянет?

Да... Если не ставить условием изменение цвета с частотой в районе 20 kHz. Но если такое условие важно - тогда и вправду FPGA sad.gif ...

Кстати - вот...
trancer1019
Цитата(DRUID3 @ Dec 12 2010, 19:10) *
Да... Если не ставить условием изменение цвета с частотой в районе 20 kHz. Но если такое условие важно - тогда и вправду FPGA sad.gif ...

Благодарю всех за информационную поддержку, помогает потихонечку...

Как я понимаю алгоритм моих действий должен быть таким:
1) АЦП контролера считываем звуковой сигнал с частотой порядка 40 кГц (что бы получить диапазон до 20кГц)?
2) Делаем 2000 отчетов ((40 000Гц/20Гц=2000раз) что бы нижняя граница получилась 20 Гц)?
3) Далее делаем что то типа "дискретного преобразования Фурье" и получаем спектр сигнала? (Контролер такую задачу вытянет??? Именно преобразование Фурье использовать нужно, и вообще его ли? Подкиньте формул если есть)
4) Далее полученный спектр, с каким то шагом (20 Гц 40Гц 80Гц 120Гц... 20кГц), домножим на линейные функции (график: красный, желтый, синий), в результате получаем 3 числа для каждой точки (пример: красный "0" желтый "3" синий "7")
Потом выбираем максимальную амплитуду в спектре для каждого цвета, и присваиваем ее в ШИМ..
Либо суммируем все амплитуды в спектре для каждого цвета и сумму отправляем в ШИМ...
(что посоветуете выбрать?)

Я в правильную сторону иду?
Делитесь идеями ПЛЗ?
toweroff
bb-offtopic.gif trancer1019, прошу прощения, что здесь напишу
а вообще, сделать не только спектроанализ, но и еще всякие психоакустические модели? Или это вообще делается визуальный ряд специально только под конкретную композицию?
trancer1019
Цитата(toweroff @ Dec 15 2010, 20:43) *
bb-offtopic.gif trancer1019, прошу прощения, что здесь напишу
а вообще, сделать не только спектроанализ, но и еще всякие психоакустические модели? Или это вообще делается визуальный ряд специально только под конкретную композицию?

Лично я пока хочу просто что бы у меня получилась равномерная радуга от красного (20Гц) до синего (20кГц); и что бы каждая нота отличалась по температуре свечения от соседней..
Но в принципе имея спектральный анализ можно много что придумать...
trancer1019
Цитата(trancer1019 @ Dec 15 2010, 13:21) *
Благодарю всех за информационную поддержку, помогает потихонечку...

Как я понимаю алгоритм моих действий должен быть таким:
1) АЦП контролера считываем звуковой сигнал с частотой порядка 40 кГц (что бы получить диапазон до 20кГц)?
2) Делаем 2000 отчетов ((40 000Гц/20Гц=2000раз) что бы нижняя граница получилась 20 Гц)?
3) Далее делаем что то типа "дискретного преобразования Фурье" и получаем спектр сигнала? (Контролер такую задачу вытянет??? Именно преобразование Фурье использовать нужно, и вообще его ли? Подкиньте формул если есть)
4) Далее полученный спектр, с каким то шагом (20 Гц 40Гц 80Гц 120Гц... 20кГц), домножим на линейные функции (график: красный, желтый, синий), в результате получаем 3 числа для каждой точки (пример: красный "0" желтый "3" синий "7")
Потом выбираем максимальную амплитуду в спектре для каждого цвета, и присваиваем ее в ШИМ..
Либо суммируем все амплитуды в спектре для каждого цвета и сумму отправляем в ШИМ...
(что посоветуете выбрать?)

Я в правильную сторону иду?
Делитесь идеями ПЛЗ?


Ауу!! Эксперты! ХЭЛП! smile3046.gif
diglook
для 3 и 4 пунктов
В 7 топике DRUID3 дал Вам ссылочку, замечательная штучка. Думаю она Вам поможет.
можно попробовать на АВР .
Где-то в сети были анализаторы спектра( аля эквалайзер)на АВРке для звуковых частот с отображением на дисплей.
Гугль выдает кучу ссылок "анализатор спектра на AVR".
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.