24.10.2013, 10:03
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Спектральный анализатор звука
Здравствуйте. Перед тем как приступить к изготовлению есть куча вопросов. По производительности процессора, объему памяти и математике. Планирую сделать анализатор примерно как в плейре AIMP.
на индикацию прикинул выводить амплитуды 18 спектров следующих частот (в KГц):
0,02 |1,13 |2,24 |3,35 |4,46 |5,57 |6,68 |7,79 |8,90 |10,01 |11,12 |12,23 |13,34 |14,45 |15,56 |16,67 |17,78 |18,89
Планирую производить набор данных из ADC в массив, а потом его обрабатывать. Теперь по математике. Правильно я понимаю что частота опроса ADC должна быть в 2 раза больше 18,89 КГц * 2 = 37,78 КГц -округлим до 40КГц. Далее, время которое будет производиться выборка в массив - должна быть не меньше периода 20Гц - то есть 0,05С (нужно ли здесь брать с запасом или хватит точного числа 0,05С мне пока не понятно). 0,05С/(1/40КГц)=2000 выборок с промежутком между выборками 1/40КГц=25мкС. разрядность преобразования будет размером в байт - поэтому мне надо масив в 2000 байт(2Кб) в памяти для оцифровки. На данном этапе я рассуждаю правильно?
__________________
Kvsrk85(Андрей)
Последний раз редактировалось kvark85; 24.10.2013 в 10:07.
|
|
|
|
24.10.2013, 10:12
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 116
Сказал спасибо: 10
Сказали Спасибо 58 раз(а) в 34 сообщении(ях)
|
Re: Спектральный анализатор звука
Ты рассуждаешь правильно, только для получения более менее приемлемого решения, ты будешь использовать как я понимаю БПФ, а для этого тебе придется работать все таки с 16 битными данными. И еще для обработки частоты в 20 гц - это очень долгое время измерения - насколько ты хочешь иметь быстрые данные преобразования?
|
|
|
|
24.10.2013, 10:31
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Спектральный анализатор звука
Сообщение от Catcatcat1
|
... а для этого тебе придется работать все таки с 16 битными данными.
|
но ведь все равно можно накапливать данные в 8-и битный массив, для последующей работы. Чтоб места меньше занимало. Частота обновления индикатора приблизительно 10Гц (как считаете, не мало это?). кроме этого тратится время на математику для вывода изображения на индикатор. Но предположим, получать данные нужно каждые 1/15Гц=0,07С (взято довольно грубо, чтоб сказать точнее нужно написать функцию вывода спектра на экран и посмотреть максимальную частоту обновления экрана).
__________________________________________________ _____
я понял в чем суть. ну тогда придется делать пропуски. преобразования 20Гц делать через раз, если нет других вариантов.
__________________
Kvsrk85(Андрей)
Последний раз редактировалось kvark85; 24.10.2013 в 10:42.
|
|
|
|
24.10.2013, 10:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.09.2010
Адрес: 6 светофоров до Майдана
Сообщений: 2,557
Сказал спасибо: 2,256
Сказали Спасибо 2,820 раз(а) в 1,196 сообщении(ях)
|
Re: Спектральный анализатор звука
kvark85
А почему такая странная и неравномерная шкала частот?
Обычно используют полуоктавную шкалу (F2/F1=1,414)
Низшая "полезная" частота в музыке - 40 Гц. Высшая воспроизводимая - 18 кГц. Если это не для профессионального звукорежиссерского пульта, я бы посоветовал привязаться по низам к 63 Гц, по верхам 16 кГц, будет более информативно.
__________________
По просьбе адекватного россиянина изменил подпись. Но "дятлы" в игноре остались.
|
|
|
|
24.10.2013, 10:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
|
Re: Спектральный анализатор звука
Фиговенький эквалайзер получится.
А почему не аналоговый?
__________________
Смерть бандеровской мразоте!
|
|
|
|
24.10.2013, 11:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.09.2010
Адрес: 6 светофоров до Майдана
Сообщений: 2,557
Сказал спасибо: 2,256
Сказали Спасибо 2,820 раз(а) в 1,196 сообщении(ях)
|
Re: Спектральный анализатор звука
eddy, это не эквалайзер, а спектроанализатор.
kvark85
частота вывода на сегменты, если без защелкивания, должна быть не ниже 25 Гц.
__________________
По просьбе адекватного россиянина изменил подпись. Но "дятлы" в игноре остались.
|
|
|
|
24.10.2013, 11:18
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Спектральный анализатор звука
Сообщение от Wugluscr
|
kvark85
А почему такая странная и неравномерная шкала частот?
Обычно используют полуоктавную шкалу (F2/F1=1,414)
Низшая "полезная" частота в музыке - 40 Гц. Высшая воспроизводимая - 18 кГц. Если это не для профессионального звукорежиссерского пульта, я бы посоветовал привязаться по низам к 63 Гц, по верхам 16 кГц, будет более информативно.
|
в моей шкале разность между всеми частотами - 1,11КГц. Попытался сейчас нарисовать ту шкалу которую предлагаете вы - вот она как раз не линейна получается. Если вы точно знаете какая шкала должна быть - покажите пожалуйста, (или объясните как ее получить).
__________________
Kvsrk85(Андрей)
|
|
|
|
24.10.2013, 11:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
|
Re: Спектральный анализатор звука
Сообщение от Wugluscr
|
спектроанализатор
|
С такой формулировкой ТЗ не тянет даже на эквалайзер.
__________________
Смерть бандеровской мразоте!
|
|
|
|
24.10.2013, 11:23
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Спектральный анализатор звука
Сообщение от Wugluscr
|
eddy, это не эквалайзер, а спектроанализатор.
kvark85
частота вывода на сегменты, если без защелкивания, должна быть не ниже 25 Гц.
|
знаю, Wugluscr, индикатор монохромный 128x64 с памятью. он I2C, но попробовав его максимальную частоту на глаз - думаю должно хватить. Обновление индикатора планирую повесить на DMA, так что его замедленность не должна мешать расчетам.
__________________
Kvsrk85(Андрей)
|
|
|
|
24.10.2013, 11:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.09.2010
Адрес: 6 светофоров до Майдана
Сообщений: 2,557
Сказал спасибо: 2,256
Сказали Спасибо 2,820 раз(а) в 1,196 сообщении(ях)
|
Re: Спектральный анализатор звука
Сообщение от kvark85
|
Попытался сейчас нарисовать ту шкалу которую предлагаете вы - вот она как раз не линейна получается. Если вы точно знаете какая шкала должна быть - покажите пожалуйста, (или объясните как ее получить).
|
Шкала частот делается не линейной, а логарифмической.
Каждая последующая частота получается из предыдущей путем умножения на 2 (октава) или корень нужной степени из двух.
"Полуоктавная" (корень из двух) это:
63 - 89,1 - 126,0 - 178,1 - 251,8 - 356,1 - 503,5 - 712,0 - 1006,8 - 1423,6 - 2013,0 - 2846,3 - 4024,7 - 5690,9 - 8047,0 - 11378,4 - 16089,1
С разумными округлениями плюс минус бревно.
__________________
По просьбе адекватного россиянина изменил подпись. Но "дятлы" в игноре остались.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:36.
|
|