Отрицательная частота

Всё же как мно­го я не знаю и не пони­маю. Послед­ний месяц-два изу­чаю мето­ды изме­ре­ния пара­мет­ров каче­ствен­но­сти уси­ле­ния зву­ко­во­го (и не толь­ко) сиг­на­ла.

Мето­дов есть несколь­ко, но про это в дру­гой раз.

Осно­ва в том, что чистый сиг­нал опре­де­лён­ной часто­ты (напри­мер, 1 КГц) пред­став­ля­ет собой сину­со­и­ду. Всё, что немно­го не сину­со­и­да, уже есть не чистый сиг­нал, а сум­ма сиг­на­лов, сум­ма сину­со­ид. Даже меандр мож­но опи­сать сину­со­и­да­ми — как функ­цию y(x) = sin(x) + sin (3x) / 3 + sin (5x) / 5 + .. + sin (nx) / n. Пото­му что меандр — это сум­ма сину­со­ид основ­но­го сиг­на­ла и сину­со­ид нечёт­ных гар­мо­ник — то-есть, сиг­на­лов с часто­той в 3, 5, 7 и так далее до бес­ко­неч­но­сти раз выше основ­ной. Про­сто если речь идёт о зву­ко­вом сиг­на­ле, гар­мо­ни­ки выше 19й слыш­ны (как счи­та­ет­ся) уже не будут, так что меандр там полу­ча­ет­ся не совсем пол­ный, при­бли­зи­тель­ный.

Так вот если есть источ­ник зву­ко­во­го сиг­на­ла, как узнать, насколь­ко чистый там тон? Мож­но запи­сать это в обык­но­вен­ный wav файл, а потом про­ве­сти над полу­чен­ным мас­си­вом дан­ных мате­ма­ти­че­ское изде­ва­тель­ство, назы­ва­е­мое пре­об­ра­зо­ва­ни­ем Фурье. Паке­тов для это­го суще­ству­ет мас­са, мож­но взять бес­плат­ный редак­тор Audacity, в нём есть спек­траль­ный ана­лиз (пре­об­ра­зо­ва­ние Фурье это оно и есть).

Но, во-пер­вых, я не ищу лёг­ко­го пути, а во-вто­рых, мерять гар­мо­ни­ки, дол­го их скла­ды­вать и встав­лять в фор­му­лу для рас­чё­та КНИ я не хочу. Нехай элек­трон­ный бол­ван всё за меня счи­та­ет, он на то и был куп­лен.

Так что нари­со­вал свою про­грам­му. Разу­ме­ет­ся, на Питоне (на чём же ещё, не на Сях же рисо­вать). Бла­го есть модуль SciPy, в кото­ром уже всё при­ду­ма­но, в том чис­ле алго­ритм быст­ро­го пре­об­ра­зо­ва­ния Фурье (сиречь FFT).

Алго­ритм FFT выда­ёт гисто­грам­му. По гори­зон­та­ли — часто­та сиг­на­ла, по вер­ти­ка­ли — его гром­кость. При­мер­но так слы­шит музы­ку чело­ве­че­ское ухо. Так вот выяс­ни­лось, что по умол­ча­нию алго­ритм выда­ёт сим­мет­рич­ную вокруг нуля герц кар­тин­ку, то-есть, есть как поло­жи­тель­ная часто­та, так и отри­ца­тель­ная %) На этом месте я залип — как это, минус один кило­герц?

Ана­лиз фай­ла с сину­со­и­дой 1 КГц выгля­дит так:

В прин­ци­пе оно ведь логич­но — у сину­со­и­ды одна поло­вин­ка име­ет поло­жи­тель­ные зна­че­ния от 0 до 1 (в воен­ное вре­мя — до 4 =)), а дру­гая — отри­ца­тель­ные, от 0 до ‑1. Соот­вет­ствен­но, поло­жи­тель­ная часто­та — для того, что выше нуля, а отри­ца­тель­ная часто­та — для того, что ниже нуля. Прав­да, не совсем понят­но, поче­му имен­но вот так — не было бы логич­нее делать поло­жи­тель­ную и отри­ца­тель­ную ампли­ту­ды (гром­ко­сти)?

Ещё менее понят­ным ста­ло, когда я силой сге­не­ри­ро­вал сину­со­и­ду с отре­зан­ной вер­хуш­кой и сунул её в ана­ли­за­тор. Вот такую:

Я ожи­дал, что ана­ли­за­тор уви­дит туе­ву хучу гар­мо­ник с поло­жи­тель­ны­ми часто­та­ми, и чистей­ший тон с отри­ца­тель­ны­ми. Ан фиг — одни и те же гар­мо­ни­ки были и сле­ва и спра­ва от нуля. Совсем непо­нят­но, поче­му так. Вер­нее, конеч­но, понят­но — сиг­нал это ВСЯ сину­со­и­да, от нуля до двух пи ради­ан, а не толь­ко её часть. Но тогда уже непо­нят­но, зачем вооб­ще горо­дить ого­род с отри­ца­тель­ны­ми и поло­жи­тель­ны­ми часто­та­ми — не всё ли рав­но?

Плю­нул, сме­нил алго­ритм scipy.fftpack.fft на scipy.fftpack.rfft. rfft — это real fft, и отри­ца­тель­ных частот не выда­ёт. Так намно­го понят­нее.

Про­дол­жаю изу­чать.

И снова пнём Андроид

С сисад­мин­ской точ­ки зре­ния теле­фо­ны с Андро­и­дом — ЗЛО.

Поче­му? Пото­му, что если на теле­фоне была сек­рет­ная инфор­ма­ция, то перед выда­чей ново­му сотруд­ни­ку это­го теле­фо­на или при избав­ле­нии от устрой­ства вооб­ще, эту инфор­ма­цию нуж­но сти­рать по ГОСТу стан­дар­там NIST.

И если мы нач­нём читать стан­дарт, то про­це­ду­ра надёж­но­го уда­ле­ния дан­ных для теле­фо­ном типа iPhone про­ста — ресе­тишь и в ус не дуешь. Эппл опи­сал стан­дарт того, как этот алго­ритм рабо­та­ет, и он пол­но­стью удо­вле­тво­рил NIST.

А для теле­фо­нов на ОС Андро­ид в доку­мен­те целый пара­граф, суть кото­ро­го сво­дит­ся к сле­ду­ю­ще­му — кон­крет­ная импле­мен­та­ция алго­рит­мов сти­ра­ния зави­сит от про­из­во­ди­те­ля теле­фо­на. Поэто­му про­це­ду­ры надёж­но­го уда­ле­ния дан­ных с теле­фо­нов на ОС Андро­ид в общем виде не суще­ству­ет. Ска­за­но, что надо зво­нить про­из­во­ди­те­лю и выяс­нять, под­дер­жи­ва­ет­ся ли там eMMC Secure Erase, Secure Trim и про­чие умные сло­ва.

Поэто­му в общем слу­чае, если от теле­фо­на на ОС Андро­ид надо изба­вить­ся, и на нём хра­ни­лись сек­рет­ные дан­ные, теле­фон необ­хо­ди­мо СЖИГАТЬ (ну или раз­ма­лы­вать в пыль с раз­ме­ром зер­на не более 2.4mm, как опи­са­но в стан­дар­те).

И, кста­ти, для теле­фо­нов на ОС Windows то же самое. Вот уж нико­гда не поду­мал бы, что Яббл бли­же кор­по­ра­тив­но­му миру, чем Мик­ро­софт.

GPS v.Everything

«Когда моде­мы были боль­ши­ми», и раз­го­ва­ри­ва­ли друг с дру­гом по теле­фон­ной линии, суще­ство­ва­ла туе­ва хуча про­то­ко­лов — v22, v32, v34, и так далее. Поми­мо обще­при­ня­тых стан­дар­тов, были так­же фир­мен­ные стан­дар­ты отдель­ных про­из­во­ди­те­лей — так, до того момен­та когда все ста­ли под­дер­жи­вать v34, моде­мы Zyxel и USR, несмот­ря на нали­чие у них про­то­ко­лов, поз­во­ля­ю­щих им пере­да­вать дан­ные со ско­ро­стью 19 200 (Zyx19200) и 16 800 (HST, в даль­ней­шем разо­гнан­ный аж до 24 000) бод, мог­ли общать­ся мак­си­мум на 14 400.

Закон­чи­лось это побе­дой разу­ма — USR выка­тил свой Courier v.Everything, кото­рый под­дер­жи­вал все стан­дар­ты (кро­ме чужих фир­мен­ных, разу­ме­ет­ся), все ста­ли под­дер­жи­вать v34+, и про­бле­ма «модем-то у меня ско­рост­ной, но с тобой я могу пооб­щать­ся толь­ко мед­лен­но» исчез­ла. А потом и моде­мы-то прак­ти­че­ски ушли, хотя в отдель­ных ипо­ста­сях (факс-сер­ве­ры) живут до сих пор.

Вся эта ситу­а­ция мне напо­ми­на­ет поло­же­ние вещей с гло­баль­ным пози­ци­о­ни­ро­ва­ни­ем. Сей­час суще­ству­ет четы­ре круп­ных систем гло­баль­но­го пози­ци­о­ни­ро­ва­ния — аме­ри­кан­ский GPS, рус­ский GLONASS, евро­пей­ский Galileo и китай­ский BeiDou (япон­ский QZSS не рас­смат­ри­ва­ем — это допол­не­ние к GPS и рабо­та­ет толь­ко в Япо­нии). И всё оно никак не вза­и­мо­дей­ству­ет меж­ду собой — при­ём­ник GPS не уме­ет рабо­тать с Galileo и наобо­рот. Хотя муль­ти­си­стем­ность более-менее появ­ля­ет­ся, чипы с под­держ­кой GPS и GLONASS я уже видел, даже в теле­фо­ны их ста­вят.

Одна­ко выяс­ни­лось, что суще­ству­ют чипы с под­держ­кой ВСЕХ систем пози­ци­о­ни­ро­ва­ния — эда­кий Courier v.Everything в мире нави­га­ции. Это, напри­мер, u‑blox M8, под­дер­жи­ва­щий при­ём со всех четы­рёх созвез­дий спут­ни­ков. Одна­ко, одно­вре­мен­но оно может толь­ко в три созвез­дия из четы­рёх — что, в‑об­щем-то, и так дофи­га, а если шиб­ко надо ВСЁ — мож­но тупо взять ДВА чипа, бла­го они сто­ят мень­ше 8 дол­ла­ров в пар­ти­ях от 500 штук.

Фак­ти­че­ски, таким обра­зом мож­но обес­пе­чить при­ём спут­ни­ков так с соро­ка сра­зу. Инте­рес­но, даст ли это воз­мож­ность полу­чить точ­ность пози­ци­о­ни­ро­ва­ния в сан­ти­мет­ры?

На злобу дня

Мне всё же инте­рес­но — в Белом Доме реаль­но тво­рит­ся такой раз­драй, хаос и бар­дак, или же там по сути ничем не хуже, чем при дру­гих пре­зи­ден­тах, про­сто это наши доб­лест­ные СМИ по при­чине мани­а­каль­ной нена­ви­сти к Дональ­ду тща­тель­но созда­ют такое впе­чат­ле­ние?

Я думал у всех так

Ока­зы­ва­ет­ся, у людей, кото­рые покры­ва­ют­ся мураш­ка­ми при про­слу­ши­ва­нии музы­ки, несколь­ко дру­гая струк­ту­ра моз­га. И встре­ча­ет­ся неча­сто.

https://www.indy100.com/article/music-goosebumps-some-people-science-research-emotions-psychology-study-harvard-7926781?utm_source=indy&utm_medium=top5&utm_campaign=i100

Шутка дня

Пока­зы­ваю пле­мян­ни­ку 3.5‑дюймовую дис­ке­ту.

Реак­ция пле­мян­ни­ка:

–Ух, кру­то! Ты напе­ча­тал на 3D прин­те­ре кноп­ку сохра­не­ния!

А в самом деле, если поду­мать, то дис­ке­та на кноп­ке гово­рит о запи­си дан­ных толь­ко стар­пё­рам вро­де нас.

Богат октябрь на баги.…

Раз:

Всем, исполь­зу­ю­щим бес­про­вод­ные сети с шиф­ро­ва­ни­ем WPA2, мож­но начи­нать боять­ся. Суще­ству­ет кибе­р­ата­ка, поз­во­ля­ю­щая рас­шиф­ро­вать и спу­фить пере­да­ва­е­мые дан­ные через повтор­ное исполь­зо­ва­ние одно­ра­зо­во­го кода (nonce):

https://www.krackattacks.com/

При этом, что харак­тер­но, пароль WPA2 узнать по-преж­не­му невоз­мож­но.

Два:

Все крип­то­гра­фи­че­ские сопро­цес­со­ры Infineon гене­ри­ру­ют пло­хо защи­щён­ные клю­чи несим­мет­рич­но­го шиф­ро­ва­ния RSA:

http://www.tomshardware.com/news/infineon-tpm-insecure-rsa-keys,35668.html

Если у вас есть ноут­бук Lenovo, HP, Fujitsu, Asus и вы исполь­зу­е­те крип­то­гра­фи­че­ский сопро­цес­сор — може­те начи­нать боять­ся.

Дав­нень­ко таких кру­тых багов не было…

Тягач

Соби­ра­юсь вско­ре отка­зать­ся от вла­де­ния гру­зо­ви­ком. Мамон­та про­дам, он мне не нужен. Я его купил, когда ремон­ти­ро­вал ста­рый дом, и мне реаль­но надо было посто­ян­но возить строй­ма­те­ри­а­лы. Сей­час мне это про­сто не нуж­но — а зачем тогда мне этот гру­зо­вик? Он огром­ный, и жрёт как не в себя (5.8L V8, не хух­ры-мух­ры).

Тем не менее, вла­дель­цу дома что-то круп­но­га­ба­рит­ное пери­о­ди­че­ски возить надо. Выход, оче­вид­но, в том, что­бы тас­кать за собой трей­лер. Я даже боль­ше ска­жу — трей­лер в опре­де­лён­ных момен­тах это зна­чи­тель­но луч­ше пика­па. Напри­мер, если надо пере­вез­ти что-то по-насто­я­ще­му боль­шое и тяжё­лое. Фиг ты заки­нешь это в кузов; во вся­ком слу­чае, не в одно рыло. А трей­лер низень­кий, в него затас­ки­вать зна­чи­тель­но про­ще.

Конеч­но, мой Хун­дай с его дох­лым 2.4L дры­га­те­лем не ута­щит что-то серьёз­но тяже­лое:

Учи­ты­вая что самый малень­кий трей­лер, кото­рый я согла­сен иметь, весит 400 фун­тов (180 kg), мак­си­маль­ная полез­ная нагруз­ка состав­ля­ет 800 фун­тов (360 kg). Это немно­го, хотя и не ска­зать, что мало — это где-то 12–14 листов фане­ры, напри­мер. К сло­ву, самый малень­кий трей­лер — это такой, в кото­рый мож­но поло­жить пол­но­раз­мер­ный лист фане­ры плаш­мя. Поку­пать что-то мень­ше про­сто уже совсем бес­смыс­лен­но.

Смот­рю заод­но, сколь­ко могут ута­щить дру­гие авто­мо­би­ли. Какая-то стран­ная кар­ти­на выри­со­вы­ва­ет­ся.

В 2000 году самая про­стень­кая модель Фор­да Экс­пло­ре­ра мог­ла тягать почти 2.3 мет­ри­че­ские тон­ны:

Это уже кое-что, этот Форд может утя­нуть неболь­шой трак­тор «Кубо­та» со все­ми при­чин­да­ла­ми типа грей­де­ра и косил­ки, плюс чет­ве­ро рыл, строй­ма­те­ри­а­лы, бен­зин, и т.д.

В 2006 году про­изо­шло необъ­яс­ни­мое ухуд­ше­ние его спо­соб­но­стей как тяга­ча (совер­шен­но непо­нят­но, поче­му, дры­га­тель и там и там оди­на­ко­вый — 4‑литровый V6):

А в 2017 году млад­шая модель Экс­пло­ре­ра это вооб­ще пор­но­гра­фия какая-то:

Поче­му? А пото­му что в в него ста­ли ста­вить 4‑цилиндровый дви­га­тель, рабо­чим объ­ё­мом 2.3L (мень­ше, чем у меня сей­час!!). Вы чо дела­е­те, иро­ды? Экс­пло­рер — это оджип­лен­ный F‑150, пол­но­раз­мер­ный гру­зо­вик. Пол­но­раз­мер­ный гру­зо­вик и 4‑цилиндровые дви­га­те­ли — эти сло­ва стран­но читать в одном пред­ло­же­нии. Зато «Ико­буст», и 27 миль на гал­лон, да. Ну нафиг.