Search
Write a publication
Pull to refresh
110
0
Михаил Борисов @MichaelBorisov

User

Send message
«Достаточно хорошо локализован» — это значит «сжат в одну точку».

Предлагаю вам сгенерировать сигнал вида «frequency sweep» — синус с непрерывно меняющейся частотой. Например, так:

y = sin(2*pi*(100+50*t)*t),
где t — время. При изменении t между 0 и 1 частота будет меняться между 100 и 200Гц (могу объяснить, почему не 150Гц — но проверьте сначала сами!)

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

Также попробуйте следующий сигнал
y1 = sin(2*pi*f*t), где t — время, f — некоторая частота
y2 = delta(t — t0), где delta(x)={0 при x!=0, 1 при x=0}; t0 — некоторый момент времени
y = y1 + y2

И проанализируйте сигнал y. Вы увидите, что есть горизонтальная линия (от синуса) и вертикальная линия (от импульса), но обе линии будут несколько размазаны. А истинный спектр такого сигнала состоит из двух бесконечно тонких перпендикулярных прямых. Варьируя параметры анализа, вы сможете добиться сужения либо горизонтальной, либо вертикальной прямых, но не обеих вместе.

Произведение ширины горизонтальной и вертикальной прямых не сможет быть меньше некоторой константы, что и является прямой аналогией с принципом неопределенности Гейзенберга. Эта константа достигает минимального значения в случае использование вейвлетов Морлета (синус, модулированный гаусс-функцией).

Под «шириной линии» в данном случае понимается заключение в некоторый интервал заданной части интеграла от её квадрата. Ведь гаусс-функция не равна строго нулю на всей числовой оси. Иные критерии «ширины линии» приводят к другим оптимальным вейвлет-базисам.
высчитать что-то дающее такой же хеш наверно можно

Тоже нельзя. Ну, то есть, можно, но чрезвычайно затратно. Создать коллизию для криптостойкого хеша — это то же самое, что подделать электронную подпись (которая на хеше, как правило, и основана).
Хорошее сравнение, кстати.

Следует помнить, что «харцерам» государство сверх суммы в 446 евро оплачивает:
— медстраховку (порядка 700 евро ежемесячно)
— пенсионные взносы (порядка 300 евро минимум; добровольно-неработающие и самозанятые должны их оплачивать, даже если не имеют дохода)
— арендную плату за квартиру и коммунальные услуги (порядка 500 и более евро)

Когда человек работает, и мед. страховка, налоги и пенсия удерживаются из зарплаты — то в Германии действует прожиточный минимум в 1280 евро, кажется. Эта сумма дохода, не подлежащего взысканию, в случае наличия любых неоплатных долгов по суду.

За эти деньги можно прожить, и даже довольно комфортно. Конечно, требуются особые навыки, чтобы надежно уложиться в эту сумму. При должной прокачке навыков удаётся прожить и на меньшее. Только осознание социального статуса при этом давит на психику.
попробовать взять в 5грамм и 5мм диаметром

Чем больше диаметр ствола — тем больше его объём (V=l*pi*r^2), и тем больше энергия магнитного поля, отдаваемая пуле при прохождении ею через ствол. Так что уменьшение диаметра уменьшит достижимую скорость пули, а уменьшение её массы — наоборот, увеличит.
Я занимался расчетом предельно достижимых параметров.

Действие гаусс-ружья основано на вхождении ферромагнетика в некоторый объём. Если в этом объёме было магнитное поле — то его энергия при этом уменьшается. Уменьшение энергии магнитного поля идет на ускорение снаряда.

Ферромагнетики имеют такую проблему, как насыщение. При некоторой предельной величине магнитного поля они перестают действовать. Дальнейшее повышение магнитной индукции не имеет смысла, так как не приводит к более высокому ускорению снаряда. А каждый лишний мТл поля — это более высокий ток в катушке, большие потери на ее сопротивление.

Наибольшую индукцию насыщения имеет сплав железа-кобальта "Пермендюр" с индукцией насыщения 2-2,4Тл. Можно также использовать трансформаторную сталь. Но мало выточить из такого материала пулю — ее еще нужно подвергнуть термообработке, иначе индукция насыщения будет меньше.

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

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

Из тех результатов расчетов, что я запомнил, выходит следующее. Чтобы ускорить пулю массой 10г и диаметром 10мм до скорости звука — нужно иметь дуло длиной порядка 2м.

Если же используется не пермендюр, а феррит с полем насыщения в 0,6Тл — то потребуется дуло длиной в 10м.
Хорошо, вы правы. Я просто поначалу не понял, что вы имеете в виду под «суммирование в единицу».
для измерения характеристик физического объектов на него надо воздействовать

Дело не только в этом. Измерительное воздействие, даже на микроуровне, можно контролировать. Однако квантовые величины, которые не подлежат одновременной локализации, связаны друг с другом через преобразование Фурье. И именно из-за невозможности одновременной локализации по времени и частоте и происходит невозможность одновременного точного измерения этих величин, или хотя бы принудительного сообщения частице точной их комбинации. В Википедии об этом прямо сказано:
"Соотношение неопределённостей в квантовой механике в математическом смысле есть прямое следствие некоего свойства преобразования Фурье[* 5]."
легко разрешается в непрерывном вейвлет-преобразовании, где такой зависимости нет

В непрерывном вейвлет-преобразовании такая зависимость есть. Вы можете выбирать ширину базового вейвлета (количество периодов колебаний в нём) во времени. Когда в вейвлете мало колебаний — то он хорошо локализован во времени и плохо локализован по частоте, и наоборот. В зависимости от ширины вейвлета результаты времячастотного анализа могут сильно различаться для одного и того же сигнала.
Автор, вот вам ссылка на статью про современные методы синтеза оконных функций, которые предоставляют просто-таки виртуозные возможности и взрывают моск:

R. Desbiens, P. Tremblay «A new efficient approach to the design of parametric windows with arbitrary sidelobe profiles», DOI:10.1016/j.sigpro.2006.01.011
Вы будете смеяться, но математическая природа этого эффекта точно такая же, что и у принципа неопределенности Гейзенберга. Принцип конфликта локализации по времени и частоте. Произведение ширины импульса во временной области на ширину в частотной области не может быть меньше некоторой константы.
Спасибо за ответы. Значит, вы со звуком много работали! Мне методы обработки звука тоже интересны.
эмуляция звучания телевизора для эмулятора Zx Spectrum

Ого, необычный проект! Вы участвуете в создании эмуляторов ZX Spectrum?
недостаточно просто удалить — нужно ещё чем-то заполнить освободившееся пространство

Линейное предсказание не пробовали? Я пробовал, результаты понравились.
про МНК я узнал на кухне за кружкой чая

«Классический» МНК сводится к решению системы линейных уравнений, а это и есть матричная алгебра в чистом виде. Можно, конечно, решать и без привлечения понятия матриц, но все равно они там незримо присутствуют.
МНК также можно посчитать… для непрерывной функции

Да, можно. Для синтеза FIR-фильтров есть такой метод.

Похоже, по синтезу фильтров у нас с вами общие интересы, но, наверно, общение на тему фильтров лучше будет перенести в личку или на более подходящий форум, а то тут несколько оффтопик. Пишите!
Потому, что это недостаточная, но затратная мера. Если вам нужен защищенный генератор — используйте криптографический ГПСЧ, дополненный системой сбора энтропии. А пытаясь прикрутить сбор энтропии к обычному ГПСЧ, вы по всем показателям потеряете: ни защищенности не получите, ни скорости.
Я применял — для аппроксимации нарисованной мышкой АЧХ.

Можно подробнее? Для чего аппроксимировалась АЧХ? Синтез фильтров?
классический подход хорошо работает на небольшом наборе данных и степени не выше 5

Я бы не был так категоричен. Все зависит от истинной зависимости, имеющейся в данных. Если она полиномиальная и высокой степени — то можно применять МНК без ограничений. Я часто использую МНК для нахождения коэффициентов многочленов. То есть вычисляю значения многочленов (напр., по формуле Лагранжа) в большом числе точек, а потом применяю на этих данных МНК. Количество точек и степень многочлена могут достигать при этом больших величин. Кто-то скажет, что это стрельба из пушки по воробьям, но я обнаружил, что такой подход меньше подвержен погрешностям округления, чем, например, алгебраические преобразования коэффициентов. И код специализированный писать не надо.
Конечно, решение МНК через матрицы частично решают эту проблему

Что значит «через матрицы»? Бывает разве без матриц?
Какие, если не секрет?

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

Также оказались важны следующие свойства, нехарактерные для высококачественных аудио-фильтров: 1) сохранение амплитуды (т.е. прохождение интерполяционной кривой через исходные точки); 2) отсутствие колебаний импульсной характеристики.
Проблему фильтров я решил поиском вида функции (в частотной области), которая даёт максимально быстрое затухание импульсной характеристики

Почему именно импульсной? Это же наверняка приводило к ухудшению приближения частотной характеристики. Какие у вас были фильтры, рекурсивные? Уравнения Юла-Уокера не пробовали использовать? В матлабе есть функция "yulewalk" — для нахождения коэффициентов рекурсивных фильтров по АЧХ.
Время свободного падения в бременской башне (Fallturm) не 9с, а около 5с. Время можно удвоить, если запустить капсулу катапультой снизу, чтобы она сначала взлетела вверх, а потом упала. Но катапульта применяется в этой башне не для всех опытов, а только таких, которые выносят первоначальную перегрузку при броске.

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

2) Метод наименьших квадратов — не наилучший, а на наилёгкий

Насчет «наилучшего» хорошо ответил Naf2000 выше. Наилёгкий — это верно. И это важное свойство, которым можно и нужно пользоваться. Чтобы ставить и решать задачи, которые трудно или невозможно решать при других критериях оптимальности, таких как упомянутый вами минимакс.

Я тоже люблю минимакс-аппроксимацию и использую при случае. Алгоритм Ремеза — наше всё!

аппроксимация многочленом — тоже не наилучший, а наилёгкий способ

Безусловно, это наилёгкий способ. Но иногда он является и наилучшим — если истинная зависимость, которую моделируют по экспериментальным данным, является многочленом. Кроме того, многие другие случаи приближения сводятся к многочленам.

хорошо известные проблемы в виде неожиданных пульсаций там, где их быть не должно (особенно если нам заранее известен вид функций), и особенно при больших степенях

Каждому инструменту — своё применение. Конечно, большие степени для МНК обычно не применяются (а если применяются — то это классический Overfitting). Проблема пульсаций больше характерна не для МНК с многочленами, а для интерполяции многочленом Лагранжа. Опять же, надо владеть арсеналом разных методов и применять в конкретной ситуации наиболее подходящий. «Серебряной пули», универсального метода на все случаи жизни, не существует. Я увлекался минимакс-фильтрами для обработки сигналов, пока жизнь не подкинула такие сигналы, для которых этот метод плохо подходит.
На x86 для аппаратного вычисления синусов, скорее всего, используется алгоритм CORDIC. Этот же алгоритм используется в библиотеках для FPGA.
Насколько я понимаю, оптимизировали вы расположение букв на клавиатуре вручную, перебрав несколько комбинаций и вычислив для них результаты с помощью екселя?

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

Присоединяюсь к рекомендации использовать кейлоггер. Вы можете, хотя бы для себя, найти наиболее проблемные действия, затрудняющие набор на клавиатуре. Может оказаться, что проблемы присутствуют совсем не там, где вы предполагаете. А если на кейлоггер согласится хотя бы десяток ваших друзей — то результаты станут ещё богаче.
Именно этот метод, с несущественным отличием, и был реализован в статье. Раздел 2.4.
Вы фактически пересказали основное содержание статьи (разд. 2.4.). Красиво, однако! А мне надо ещё много учиться лаконичности.
Для многомерной интерполяции я бы вам порекомендовал метод, основанный на радиально-базисных функциях, в английском языке RBF. При должном подборе параметров почти всегда можно обеспечить монотонность интерполянта между узлами. Я использовал этот метод для двумерной интерполяции с нерегулярной сеткой (гексагональная, с отдельными «дырками»). Очень доволен результатами.

Если же вас интересует многомерная аппроксимация — то метод наименьших квадратов обобщается на случай многомерных многочленов и, думаю, других базовых функций.
Спасибо, обнадёжили! Надо будет попробовать. Если уравнения и правда останутся линейными — то с помощью метода множителей Лагранжа можно будет эффективно решать и более общую задачу линейной аппроксимации произвольными функциями с условием прохождения через точки. Достойно отдельной статьи!

Information

Rating
Does not participate
Registered
Activity