Информация
- В рейтинге
- 1 662-й
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Инженер встраиваемых систем, Разработчик электроники
Ведущий
От 280 000 ₽
Разработка электроники
Разработка печатных плат
FPGA
Программирование микроконтроллеров
Обработка звука
Весьма круто!
Заметно, что похоже на шаг корзинной сортировки. А он, как раз что-то типа O(n).
Ну, на самом деле у вас O(n*log(d)), где log(d) - это разрядность данных, а d - количество этих самых корзин. Вы же при увеличении разрядности таки увеличиваете количество проходов по исходному массиву, чтобы гистограмма помещалась в кэш)
Это для большой разрядности, конечно, или для какой-то универсальной библиотеки обработки даблов. В задачах обработки сигналов не видел, чтобы АЦП выдавало больше 16 бит с аццкой скоростью. 24 бит - скорость уже точно не аццкая, и потребности в медиане не видел.
Ну и смачный подход к обработке данных с плавающей точкой, как с целыми - достойно! Это почти как idSoftware с квадратным корнем. ЦП на десктопах и сейчас с целыми работают раза в 4 быстрее, чем с FP. А вот GPU - не уверен.
Проверьте потоки запросов и ответов сниффером последовательного порта. И на разных последовательностях. Будет более понятно, кто чудит - железо, настройки порта в ос, лабвью, или программист.
Всякое бывает - и usb/com глючит (особенно на чипах СРхххх), и ось в данные свои правки вставляет (особенно в CR/LF, 13/10), и таймауты меньше 10 мс может не выдерживать ни ос, ни usb/com. Ну а в софте 99% хабра умеют профессионально лажать. И я тоже)
Исходные сырые данные - это святое! Не надо их "устранять" - можно пропустить что-то важное.
Да, без велосипедов редко обходимся)
Не, на это забили. В той задаче нас не волновала погрешность измерения расстояний в 0,3%. Более того, в БД пихали XYZ на единичной сфере, просто синусы-косинусы сферических координат. А средний радиус земли уже учитывали в пред- и пост-обработке запросов.
Так смысл изысканий автора статьи как раз в том и был, чтобы ускорить запрос к БД. За счёт упрощения запроса. UDF не будет работать быстрее, чем ST_Distance_Sphere у автора.
Не увидел, чем помогают измерению расстояний проекции на плоскость, кроме лёгкого искажения тех-же сферических координат. Точнее дают - дополнительный геморрой на краях карты.
А вот зонирование вполне может ускорить предварительную фильтрацию. Из общепринятых как-нибудь доберусь до Plus Code, если задача будет. Но принцип тот-же - в БД к точкам добавляется избыточная информация, ускоряющая фильтрацию.
Ладно, закажу пиццу на станцию Амундсен-Скотт) Посмотрю, какой "квадрат" получится посчитать у не-плоскоземельщика)
Мне как-то давно пришлось с sqlite извращаться. Из коробки запроса по земным координатам не было. Поэтому мы в базе хранили не широту и долготу, а пересчитывали 2 полярные координаты в 3 прямоугольные. Запрашивали у базы, что внутри куба со стороной 2R, потом уточняли евклидово расстояние.
Смысл в том, чтобы в базу заранее внести какую-то избыточность, которая сможет ускорить поиск. 3 координаты вместо 2х, или вот про spatial index тут прочитал, или континент/страну/область указать.
Да вот. И как-то этот ИИ ведь нужно обучить. Примеров успешных цивилизаций на других планетах пока не видно, поэтому всё равно придётся его учить на собственной истории.
Я б на месте ИИ на всю эту хрень посмотрел и повелел бы устроить ядерную войну. Так, чтоб всем ппц был. И задача решена: опять бактерии мирно будут плавать, трилобиты там всякие. И никакого пластикового мусора в ближайшие 4 млн лет. Лафа!
Пока опять не появится человек, и не скинет ответственность на ИИ
А формулы, описывающие батарею, откуда взяты? Есть какие-то источники? Я сам просто интересуюсь обратной задачей - адекватным измерением заряда АКБ под нагрузкой.
У вас почему-то it и i* складываются, хотя имеют разные размерности
И в тестах при торможении нигде не происходит заряд АКБ
Спасибо, разобрался. В статье про 1-bit расписаны уровни сигналов. Действительно, раз у GPS сигнал/шум в лучшем случае -20dB (минус! 20), то оцифровывать с разрядностью больше 1 бита формально не имеет смысла. А меньше 1 бита - чисто технически не получается)
Интересная статья!
Я вот только не понял, каким образом получается разделить сигналы разных спутников почти на одной несущей частоте, оцифровывая всего двумя битами. Тем более одним битом, как здесь. Вообще ведь полная каша после такой оцифровки получится, особенно если мощность сигналов разных спутников сильно отличается.
Вот тут видел решение с линией задержки. И вообще у @Lunathecatесть несколько хороших статей с обзором и схемотехникой гитарных эффектов.
Из тех педалей, что я разбирал, везде в качестве задержки какая-то спец-микросхема стоит. Скорее всего потому, что она сильно меньше жрёт батарейку, чем мк.
А самое главное: звук-то какой получился?
А ручки Gain и Setting не дублируют друг-друга?
Я сам в разное время экспериментировал с диодными ограничителями:
На ИК светодиодах, фактически входах оптронов, что-то типа АО100какой-то. Открываются бОльшим напряжением, чем Si-диоды. ВАХ у них почти квадратная, и я ожидал, что высоких частот (песка) на выходе будет больше. Оказалось наоборот - у них аццкая собственная ёмкость, и песок она весь срезала. Позднее у товарища Ерасова видел схему, в которой переключаются 2 варианта ограничителей LED и Si.
Диоды Шоттки (BAT54S я ставил) открываются меньшим напряжением. Соответственно, выходной сигнал меньше, но и усиление перед ограничителем можно не разгонять. На гитаре с 2 хамбакерами сигнала хватало для заметного овердрайва без усиления. То есть вообще без батареек, чисто пассивный. Но это, конечно, если по струнам со всей дури херачить) Для реального применения хотя-бы небольшой гейн нужен.
Чтобы сравнить сигналы. Пускай они и доходят до мозга с задержкой, и обрабатываются не быстро, но нужно точно знать, в какое время они были получены. И вот как-то из физиологии не понятно, как достигается настолько точная калибровка.
Про 10 мкс я честно списал из Википедии) При скорости звука 340 м/с и расстоянии между ушами 20 см это даст разрешение по азимуту 1°. Наверное, 1° - это действительно перебор, проверю как-нибудь в аудио-редакторе. Но перемещение источника звука на 5° уже вполне заметно. И даже 50 мкс - это тоже какая-то невероятная для физиологии цифра.
Передать такой "пакет"-то можно. Но это не снимает проблемы точности захвата сигнала и точности синхронизации между левым и правым "пакетами".
Вы сейчас из БПФ с помощью чёрной магии находите несколько выделяющихся частот в спектре сигнала. Потом их синтезируете и сдвигаете фазу на 90° вот здесь:
@iShrimp предлагает пропустить шаг поиска частот. Вместо этого взять весь спектр, и сдвинуть фазы всех частот на 90°. Раз уж комплексное БПФ посчитано, умножить его на ±i и преобразовать обратно в сигнал. Или сдвинуть фазу исходного сигнала фильтром
После этого в визуализации, как и сейчас, нарисовать трек сигнала - по оси X отложить исходный сигнал, а по Y обработанный, сдвинутый на 90°.
Ещё пара моментов: про метод интерполяции частоты и фазы. Сам похожей штукой пользовался, только считал по 3 точкам, а не по 4. Метод вполне можно обосновать аналитически, или хотя-бы графически выявить зависимость соседних комплексных амплитуд от сдвига частоты.
А вот интерполируя фазу в лоб вот так
вы будете получать непредсказуемые результаты при переходе через 180°. Например, интерполяция посередине между cP=+170° и bP=-170° (оно же 190°) вам даст 0°, а на самом деле будет 180°. Намного удобнее продолжать считать в комплексных числах, не вычисляя фазу явно.
В радиотехнике ровно такой-же принцип направленного излучения и приёма применяется в ФАР с частотным сканированием.
Ближайший оптический аналог такому устройству - не призма, а скорее дифракционная решётка.
Мозг - нет. Считается, что в самом ухе предобработка похожа на какое-то интегральное преобразование, т.к. нейроны не работают со звуковыми частотами.
На сколько я знаю (несколько лет назад изучал исходники, пытался делать анализ музыки, связанный с распознаванием событий, нот), пока науке не известно, в каком "формате" сигнал из уха идёт в мозг. Что-то ближе к Фурье, или к вейвлету, или к автокорреляции, или всё вместе. Есть несколько теорий, и все где-то не стыкуются с практикой. Зрение, например, гораздо лучше изучено.
Самая засада, что не получается объяснить, как стерео-слух определяет разность фаз (и направление на источник звука). Для этого нужно сравнивать сигналы с левого и правого уха с разрешением около 10 мкс. А нейроны работают на 4 порядка медленней!
Автору респект! Всегда очень боялся сетевых преобразователей... Поэтому подходил к их проектированию с особой тщательностью) Всё перепроверял по N+1 раз. И тепловизор пришлось купить, чтобы пальцами
и яйцамитуда не лазать.Не удержусь, и подкину идей для версии 2.0:
Интересная схема с симистором для софт-старта. Кроме ваших публикаций нигде такого не видел, приму во внимание. Но его не обязательно изолировать оптроном, если поставить его после выпрямительного моста. См. схему слева. Есть нюанс - симистор будет работать в IV квадранте, и ещё надо подумать, как не потратить на его открывание драгоценные ватты.
Я сам для софт-старта несколько раз использовал схему, похожую на то, что справа. На таком же силовом мосфете, какой стоит в мосту. В обратноходовом преобразователе он открывался от выбросов напряжения на силовом ключе. Тут же можно даже от снабберной цепочки запитать.
Токовый трансформатор - штука большая, и надо руками мотать. А это категорически лень делать) Импульсный ток доступен для измерения в других местах шунтом. Через нижний транзистор моста VT3, и часть тока течёт через нижние ВЧ-конденсаторы, или даже просто через один C3. Видел интересную реализацию - просто измеряют пульсации в средней точке, где у вас цепь 150V.
Ну и, конечно, фильтр от помех в/из сети, предохранитель, варистор - это обязательные вещи. Недавно, например, искал источник помех у себя на рабочем месте. Оказалось, что разработчики моего старенького монитора (марка DNS, был когда-то такой, "маде ин раша" даже на нём написано) положили болт на фильтр. И осцилл, включённый в тот же пилот, что и моник, естественно, мне вместо нормального сигнала показывал импульсные помехи миника. Мдя.
А вы не рассматривали другие способы решения задачи? Из аппаратных: перенести, например, часть формирателя АЧХ в обвязку выходного ОУ. ОУ - штука мощная, позволяет делать то, что не достигнуть чисто пассивными цепями.
Из программных: внести предыскажения АЧХ - подъём на частоте 1 кГц, например. Или увеличить частоту ШИМ, и тогда может, вообще в аппаратной части не нужно ничего менять. Если бы у меня в производстве уже висело 100 плат по 4 канала, я бы, наверное, прежде всего о софтовых путях решения задумался.
На сколько я знаю, в этом случае не было никаких хакеров. Россети купили зарядные станции у харьковского AutoEnterprise. А у производителя был вполне штатный удалённый доступ к станциям для диагностики и обновления софта.
Это проблема многих устройств касается: девайс-то куплен, и вроде он как-бы и твой, но превращается в тыкву по щелчку пальца производителя/регулятора/владельца какого-нибудь облака.
Не до конца понял, почему в описании 2 разных значения ε у одного материала. Какую из них использовать в расчётах?
И если учесть допуск на ε и на толщину ламината (там до 10% доходит), то китайский аналог и в эти рамки не влезает?
Попробуйте ещё в pcbtech спросить. Они в принципе сложными платами занимаются, но я очень давно с ними не имел дела.
Собственная ёмкость светодиодов. На 50 Гц это решение норамально заработает, но на 100 кГц может сильно мешать.