Уважаемые коты!!!
Решил сделать цифровой анализатор спектра на меге. Изучил метод дискретного преобразования Фурье, все понятно.
Хочу сделать 20 столбиков с основными частотами 31.25-62.5-125-250-500-1k-2k-4k-8k-16k и еще 10 полуоктавных частот, которые на 1.41 выше основных тонов.
Промоделировал в маткаде, вроде все красиво. Но!!!
Для получения разложения спектра сигнала вплоть до 16кГц и 22.56кГц нужно иметь 32000 и 45000 выборок в секунду. Способен ли на такое АЦП Меги 8 и 16??? В даташите написано, что время преобразования 65-260мкс.
А второй вопрос - это быстродействие.
Нужно 20*2*(1+1024)+20 операций умножения
20 операций нахождения корня и 1024+1 операций сложения
и все это 4-5 раз за секунду
Потянет ли все это мега8-16???
Или делать 4 выборки по 32 значения вместо 2х по 1024???
Скорость АЦП Меги для применения в спектроанализаторе
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
напрямую не выйдет, надо хитрить.
АЦП и быстродействия хватит.
Я лично проверял
АЦП и быстродействия хватит.
Я лично проверял
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
а вы посчитайте неспеша: солько отсчетов для FFT надо сделать, чтобы получить вашу сетку частот... и станет ясно, что далеко не все так просто в лоб возможно сделать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
ARV писал(а):а вы посчитайте неспеша: солько отсчетов для FFT надо сделать, чтобы получить вашу сетку частот... и станет ясно, что далеко не все так просто в лоб возможно сделать.
Считаю, в слух
Надо сделать 1024 отсчета с частотой 32000Гц для получения основных октавных частот, при этом основные частоты будут соответствовать номерам 1,2,4,8,16,32...512 в матрице после дискретного преобразования Фурье
для самого дискретного преобразования для получения значения в определенной частоте надо сделать:
1024*2 операции умножения + 2*1024 операции сложения+2 раза возвести в квадрат и сложить и один раз найти корень
поправьте если не так
Для уменьшения вычислений можно разбить весь диапазон на 2 участка по пять октав и делать 2 выборки по 32 значения, второй путь мне кажется более перспективным
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
1024 отсчета в ОЗУ AVR (во всяком случае, очень многих доступных моделей) просто не влезут, особенно если учесть, что потребуется память для FFT и прочего. Но если использование МК с ОЗУ в 4К и более для вас не проблема - количество извращений резко сократится...
мои эксперименты с atmega8 от встроенного 8-мгц генератора привели меня к выводу, что больше 128 семплов обрабатывать особого смысла уже нет - не хватит быстродействия. применять меги с большим объемом ОЗУ - так же, имхо, не имеет смысла - проще (и выгоднее) уже использовать что-то более продвинутое...
мои эксперименты с atmega8 от встроенного 8-мгц генератора привели меня к выводу, что больше 128 семплов обрабатывать особого смысла уже нет - не хватит быстродействия. применять меги с большим объемом ОЗУ - так же, имхо, не имеет смысла - проще (и выгоднее) уже использовать что-то более продвинутое...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!