Pull to refresh

Comments 12

7. Обычно, база ЛЧМ - это около 30% центральной частоты. Например, центральная - 10кГц, тогда ваш сигнал от 8.5 до 11.5кГц. Но я говорю про гидроакустику, и это не железное правило, а скорее особенность излучателей, которые достаточно узкополосные. Думаю, вам тоже следует придерживаться этих ограничений, потому что ваш излучатель на 1 и 10 кГц будет иметь разную диаграмму направленности.

8. Если генерить сигнал для пьезика на высокой частоте - то так и надо делать, дёргать пином драйвер пьезика. А уже потом электрически драйвер согласовывать с излучателем.

9. Мы используем H7 серию. Но честных и чистых 16 бит там не добьётесь. Да и не надо. 14 бит дают приемлемый динамический диапазон. Ддя ваших экспериментов этого процика - за глаза. Для обычных сонаров нам хватает L412, который при хорошей оптимизации тянет ЛЧМ реалтайм.

P.S. когда приводите значения скорости звука, уточняйте, пожалуйста, для какой среды эти значения.

Обычно, база ЛЧМ - это около 30% центральной частоты. Например, центральная - 10кГц, тогда ваш сигнал от 8.5 до 11.5кГц. 

А какую указать длительность CHIRP импульса?

Обычно, база ЛЧМ - это около 30% центральной частоты. Например, центральная - 10кГц, тогда ваш сигнал от 8.5 до 11.5кГц. 

Я попробовал и такие настройки ЛЧМ-импульса.
Результат примерно то же что и прежде. Хорошо видно забор

Тот же ЛЧМ только без окна Хэмминга. Радиоголограмма выглядит выразительнее.

У меня как-то были похожие мысли. Если взять длинный код (например, коды Голда), постоянно его передавать и принимать (может даже без несущей частоты), то можно в любой момент времени увидеть все отраженные сигналы. В STM32G431 (наверняка и в других) есть аппаратный свёрточный фильтр

А еще, если использовать несколько излучателей/приемников, можно управлять направлением луча, сканируя пространство

длинные коды очень плохо себя ведут при эффекте Допплера. И чем длиннее код, тех хуже корреляция при том же допплеровском сдвиге. Нужно делать множество корреляторов для каждого частотного сдвига.

Согласен, в таком случае нужен компромисс между частотным сдвигом и максимальной дальностью

 В STM32G431 (наверняка и в других) есть аппаратный свёрточный фильтр

Да, в STM32G431 в самом деле заложен аппаратный FIR фильтр. Не знал. Спасибо @Dozer88 .Однако порядком этот FMAC всего лишь до 256.
При этом для нормального сонара надо, чтобы порядок фильтра составлял хотя-бы 2048. В 10 раз больше!
https://www.st.com/resource/en/reference_manual/rm0440-stm32g4-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

При fir порядка 256 на звуке 48к можно будет использовать chirp импульсы не длиннее чем 5ms. Это мало.

Если можно через FFT, зачем FIR с n*n умножениями? Нужна низкая задержка?

Свёртку с нулевой задержкой можно делать через FFT - для этого есть специальные алгоритмы. На настольном компьютере я проверял свёртку в реальном времени на 1М семплов при чд 48К (примерно 20 секунд реверберационного импульса) - работало без заиканий. И это не предел, потому что на оптимизацию не заморачивался. На современном смартфоне результат будет чуть хуже, но не на порядки.

Существует специальная версия ЛЧМ, спектр которой равен константе на всех частотах (за счёт того, что он генерируется через обратное преобразование Фурье). Это значит, что его автокорелляция будет строго единичным импульсом без каких-либо боковых лепестков. Используя технологию дизеринга, его можно дискретизировать вплоть до 1-го бита, а для корреляции использовать инверсию его спектра уже после квантования (а не просто разворачивать во времени).

Sign up to leave a comment.

Articles