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

7 минут назад, Mysteo сказал:

Что-то не пойму почему функция  arm_rfft_fast_f32 из библиотеки CMSIS DSP меняет входной буфер

float на Cortex-M3??? :fool:  Вы решили частоту дискретизации не повышать, а наоборот - понизить до герц?

И почему она не должна его менять? В объявлении же явно указано "float32_t *". Без const.

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


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

7 hours ago, Behram said:

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

100 тактов на отсчёт при 10кгц это целый 1Мгц, тут АВР справится.

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


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

50 minutes ago, jcxz said:

float на Cortex-M3??? :fool:  Вы решили частоту дискретизации не повышать, а наоборот - понизить до герц?

Нет , я сделал частоту дискретизации 6000 Гц и просмотрел успеет ли МК выполнить rfft 256 до прихода новых данных или нет , ещё половину времени простоя осталось

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


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

1 час назад, Mysteo сказал:

Нет , я сделал частоту дискретизации 6000 Гц и просмотрел успеет ли МК выполнить rfft 256 до прихода новых данных или нет , ещё половину времени простоя осталось

Да хоть мегагерц не проблема если делать не в реальном времени.

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


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

22 часа назад, Mysteo сказал:

последовательность частот, 16 различных частот ... применять FFT ? Или 16 полосовых фильтров городить ?

Все 16 гудят одновременно? Если нет, логично сперва подумать об одном компараторе.

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


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

8 minutes ago, Plain said:

Все 16 гудят одновременно?

Нет, только 1 частота может быть. 

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


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

1 час назад, Mysteo сказал:

Ну так нужно реальное время ))

Тогда для БПФ пишут не только про частоту выборок, но и про периодичность, с которой выполняется это БПФ. Без этого Ваша запись о 6кГц не несёт никакой полезной информации.

38 минут назад, Mysteo сказал:

Нет, только 1 частота может быть. 

Тогда не нужно 16 полосовых фильтров. Достаточно 4-х ФНЧ.

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


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

Что-то не понял как на четырех фильтрах отделить 16 различных частот. 
 

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


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

11 минут назад, Mysteo сказал:

Что-то не понял как на четырех фильтрах отделить 16 различных частот. 

Поставить их последовательно, а не параллельно. И дальше - методом последовательного приближения:

Первый фильтр настроен на границу между 7-м и 8-м каналами. По его выходу компаратор решает - есть сигнал или нет. Если есть - идём вниз и прогоняем выходные сэмплы через ФНЧ с граничной частотой между 3-м и 4-м каналами; если нет - идём вверх и прогоняем через ФНЧ для 11-го/12-го канала. И т.д. Всего 4 фильтра. Т.е. - поиск методом последовательного приближения.

Т.к. фильтры будут переключаться, то анализ решения компаратора сделать с задержкой, на время установления после переключения фильтра. У Вас же есть какая-то минимальная длительность сигнала? Задержка должна быть меньше её. Или просто каждые 0.5 времени сигнала делать сброс линий задержек всех фильтров.

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


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

Спасибо за идею. Буду пробовать

19 minutes ago, jcxz said:

У Вас же есть какая-то минимальная длительность сигнала?

Минимальная длительность сигнала , вы тут имеете в виду длительность звучания одной частоты ? или всего сигнала? Минимальная длительность одной частоты 40мс. А сам сигнал разной длительности может быть , в зависимости от того сколько символов кодируется

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

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


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

1 час назад, Mysteo сказал:

только 1 частота может быть

АЦП-то Вам зачем — амплитуды надо измерять? Потому что если просто наличие/отсутствие, то имеет смысл рассмотреть достаточность 1-битного АЦП, т.е. компаратора перехода через ноль или производной, и измерителя полученных полупериодов на защёлке таймера микроконтроллера.

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


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

Можно кстати и через компаратор сделать как вы говорите, так вроде даже проще.

А АЦП использую потому что микрофон на АЦП заведен через усилитель на ОУ с частотой среза 8кГц. 

Можно настроить АЦП как аналоговый компоратор и получится, то что вы говорите... вроде бы

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


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

1 час назад, Mysteo сказал:

Минимальная длительность сигнала , вы тут имеете в виду длительность звучания одной частоты ? или всего сигнала?

Имею в виду её:

1 час назад, Mysteo сказал:

Минимальная длительность одной частоты 40мс.

 

50 минут назад, Mysteo сказал:

Можно кстати и через компаратор сделать как вы говорите, так вроде даже проще.

Можно, если уровень шумов в сигнале не слишком высокий. Хотя всё равно скорей всего не один период нужно будет измерять, а несколько. И усреднять.

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


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...