Pull to refresh
180

Человек

0,3
Rating
103
Subscribers
Send message

UPD: а точнее - через градиент фазы, который можно посчитать через аргумент комплексно-сопряжённого умножения двух соседних отсчётов.

А скользящих средних можно взять несколько (последовательно, друг за другом) и получить вполне неплохие характеристики. Например для пропорций длин в 5,6,7,8 получим подавление боковых лепестков примерно в 65 дБ:

Чуть более скромные характеристики, 50 дБ - с пропорциями 1, 9/7, 17/11 :

Здесь спектры я считал для непрерывного случая (без ограничения частотой Найквиста), но для дискретного случая она не будет сильно отличаться. При желании её можно посчитать точно для конкретных длин через периодический sinc.

А зачем автокорреляция, если у нас только одна частота? Можно же просто сдвинуть сигнал вниз по частоте и использовать скользящее среднее в рекурсивной реализации. Получим сразу огибающую и мгновенную частоту (через фазу).

Поток разбивается на блоки равной длины FFT. Изучите для начала алгоритмы overlap-add и overlap-save - так вы сможете считать корреляцию с задержкой.

Чтобы обойти природу - нужно использовать 4 микрофона в узлах тетраэдра, тогда можно будет определять направление в 3D через разность фаз и амплитуд. Математика обработки конечно будет в разы сложнее. Я делал нечто подобное в задаче выделения центра из стерео сигнала или, другими словами, выделение сигнала вдоль конкретного вектора в 2D (а сама математика считается в комплексных числах в частотном домене). Возможности человека в аналогичной задаче результат субъективно превзошёл.

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

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

Интернет - это и есть обычные инженеры. А вот вы (автор статьи) - слегка лукавите стараясь казаться тем, кем вы не являетесь. Вы ищите признания и хотите быть медийной личностью, а вовсе не делиться знаниями как самоцель. Фотография себя на КДПВ - тому того доказательство. И раз она не работает - ну значит не такой уж вы и красавчик, чтобы привлекать внимание своей внешностью. Ну не всем дано быть фотомоделями, это надо уметь принимать. И ваши статьи не читают потому что они скучные, а не потому что они узкоспециальные. И скучные именно с инженерной точки зрения, а не с художественной. Сорян, но это объективно.

Я об этом написал только для того, чтобы показать - реальный опыт в написании ЯП у меня тоже есть, чтобы позволять себе комментировать эту статью. И как видите - интереса он вызвал ровно ноль, включая у автора этой статьи - что как бы и подтверждает всё написанное мною ранее.

Ну а для хвастовства у меня есть другие, намного более крутые и сложные в реализации вещи. С удовольствием поучаствовал бы с Вами в мерянии пиписьками - если, конечно, вы умеете что-то более каверкания чужих имён.

Сложившемуся ИТ-специалисту с опытом не нужны ни советы, ни похвала, ни признание. Признание для программиста - это когда его программой пользуются, а не количество лайков под статьёй про эмоциональные переживания. Ну вот у меня уже 4 ЯП накопилось, один из которых используется на металлургическом производстве для автоматизации тех.процессов (потому что я там и работаю) - и это далеко не самое сложное, что мне доводилось делать. Даже просто топологическая сортировка, чтобы зависимости упорядочивать и циклы/обратные связи выявлять - и та сложнее, чем просто текст на токены разбивать. А статьи на хабре про него нет, потому что вне инфраструктуры он не имеет смысла, в критике/новых идеях не нуждается и тратить время на его описание с историей возникновения также не имеет смысла.

В самом начале автор сказал же:

А ещё он сказал "я просто хочу небольшого признания и критики (объективной и конструктивной)", и получил её прямо и честно - как это принято на хабре.

Таких молодых конструкторов

Я не считаю правильным делать скидки на возраст - потому что сам а) выучил ассемблер в 11 лет просто по справочнику и б) некоторые вещи в 15 лет мне давались проще, чем сейчас (а в 16 начал интересоваться сиськами девочками, отрастил волосы и пошёл учиться играть на гитаре).

 Вы сам в малом детстве небось собирали кубики

Если проводить такие аналогии - то вместо собирания кубиков автор проектирует завод по их производству.

наверняка НЕ слышали нравоучений что это бесполезное занятие

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

Но в последнее время очень тяжело что-либо делать. Буквально нет желания чем-либо заниматься. Возможно, я выгорел, не знаю.

Потому что вы выполнили свою - разобрались с вопросом. Дальше нет смысла его развивать. В вашем ЯП нет смысла, потому что нет идеи и нет опыта, который он мог бы воплотить. Таких языков, сделанных чисто ради потакания своему эго - миллион на каждую букву алфавита.

ЯП - это же всё-таки инструмент. Какую задачу вы решаете? Убийца с++? Операционная система реального времени в 64КБ? Промышленная автоматизация? Офисные задачи? Игры? Музыка? DSP? Что он может того, чего не может никто другой?

Можно пойти по пути советских тяжелоатлетов и просто налегать на мясные/костные бульоны. Я так и сделал и за пару лет набрал +12 кг без каких-либо дополнительных добавок. Логика простая - бульон усваивается быстрее и с меньшими затратами на переваривание, а в костях коллаген и прочее полезное для связок и суставов.

На "перекур", т.е. 1 подход. Устал сидеть - пошёл размялся на турнике, покидал гири/гантели и обратно за работу. Конкретные упражения выбираются по настроению и самочувствию. А по времени - ну как долго обычный человек может подтягиваться или поднимать гирю (даже 8кг) одной рукой над головой? 1 минуты хватает обычно.

20 и более минут тоже бывают (без этого никак), но сильно реже и опять же по ощущениям - когда организм достаточно восстановился после прошлого раза и есть запас энергии для новых свершений. Я делаю упор на ассиметричные упражнения для каждой руки/ноги, экспоненциально увеличивая количество повторов (по числам Фибоначчи, потому что так удобно общую сумму считать). Да, я в курсе, что труъ-качки многоповторку не признают - так я и не хочу выглядеть как труъ-качок)

Я достаточно много откатал на велосипеде. Настолько, что катнуть вечером после работы на 50 км - вообще ни о чём. Много чего даёт велосипед - выносливость, сопротивляемость ОРВИ, укрепление спины, кистей рук (что для программиста особенно важно). Но в какой-то момент почувствовал, что всё - достиг предела. Перестал развиваться и увеличение километража не даёт вообще ничего. Вот тогда и задумался о силовых. Причём делаю их максимально лайтово - дома/на работе гирями/гантелями. Без фанатизма, без работы "до отказа", без болевых ощущений, без строгих временных рамок на тренировку (большей частью даже 5 минут не дотягивают). Просто приятно видеть прогресс - вчера 3 кг было тяжело, а сегодня 12 - легко. И это до сих пор вдохновляет. Ну и буст по здоровью - продукты распада алкоголя организм перерабатывает теперь намного эффективнее и без негативных ощущений)

Собственно, и постоянно сидеть на седле во время езды совсем не обязательно - езда стоя/на полусогнутых приносит не меньше удовольствия, а в некоторых случаях позволяет лучше контролировать велосипед.

Дерево на звук конечно же влияет. Если дерево лёгкое - то и звук "лёгкий, воздушный, с прозрачными верхними частотами". Если дерево тяжёлое - то и звук "тяжёлый, мощный, мясистый". А куда воткнута гитара - в линию на компутере или в ламповый усилок с кабинетом на 4 10-дюймовых динамика - вообще неважно /s

Жду вторую часть. ТФКП интереснее теории групп - её хотя бы нарисовать можно)

Тоже человек с семьёй. И от предложений с зарплатой в 1.5-2х отказывался не раз и без всяких соблазнов. Потому что зарплата больше в 2 раза, а работать надо будет в 10. А тут всё отлажено, коллектив притёртый, вечером остаются силы и на семью, и на личные увлечения. И денег этих дополнительных тоже не почувствую - Озон и Вайлдбериз живее всех живых и нет таких денег, которые женщина не сможет там потратить.

P.S. тоже overqualified если что.

В Wolfram Mathematica для этого есть специальная функция - Root.

1
23 ...

Information

Rating
2,665-th
Location
Россия
Works in
Registered
Activity