Хотите верьте, хотите нет, но это уже двадцатый по счету пост с рецензиями на прочитанные книги. Так получилось, что в последнее время в основном я читал про радио и обработку сигналов, но не только. Прочитать предыдущие мои рецензии можно здесь: девятнадцатый десяток , восемнадцатый десяток , семнадцатый десяток , шестнадцатый десяток , и далее по ссылкам.
Примечание: В комментариях к таким постам меня традиционно спрашивают, где я нахожу время на чтение книг, много ли запоминается, и так далее. См статью FAQ: Как мне удается читать так много книг, и при этом еще запоминать что-то из прочитанного .
NumPy Beginner’s Guide, Third Edition
Ivan Idris
Быстрое введение в библиотеку NumPy . Также есть про использование Matplotlib , немного про SciPy, и интеграцию NumPy с PyGame. Плюс к этому, в книге вы найдете много ссылок на онлайн-курсы, например, по линейной алгебре и статистике. В конце глав приводятся списки вопросов для самопроверки. Ответы можно посмотреть в приложении.
Хорошая книжка, на твердую четыре с плюсом.
The Scientist and Engineer’s Guide to Digital Signal Processing
Steven W. Smith
Классическая книга по цифровой обработке сигналов. Доступна бесплатно на dspguide.com .
Из книги вы узнаете, что такое алиасинг и откуда берутся гармоники, что такое линейная система и как посчитать свертку (convolution), зачем нужно преобразование Ферье и как работает FFT, чем FIR-фильтры отличаются от IIR-фильтров , про связь impulse response, step response и frequency response, как реализовать low-pass, high-pass, band-pass и band-stop фильтры в программе на C или при помощи FPGA , как увеличить количество информации, получаемой АЦП, добавив в сигнал шума (dithering), какое отношение имеют chirp signals к современным радарам, как работает КТ, и так далее.
Книга относительно проста для восприятия, насколько это вообще возможно для такой непростой темы. Для понимания материала потребуется немного математического бэкраунда.
Моя оценка — пять с огромным жирным плюсом. Если вы интересуетесь SDR или чем-то таким, читать нужно обязательно.
Software-Defined Radio for Engineers
Travis F Collins, Robin Getz, Pu Di, Alexander Wyglinski
Еще одна бесплатная книга по DSP, о которой я узнал, благодаря сайту rtl-sdr.com .
В книге вы прочитаете, что такое eye pattern и intersymbol interference (ISI) , какие есть методы синхронизации несущей (carrier synchronization), что такое коды Рида-Саломона, BCH, LDPC и Viterbi decoding. Также описаны всевозможные виды модуляции (PAM, QAM, PSK, …) и приводится их анализ в MATLAB. Оказывается, что при кодировании определенной информации с помощью PSK, можно получить сигнал, имеющий бесконечную полосу. Еще в книге есть довольно любопытное приложение с краткой историей радио и электроники за последние 250 лет.
В целом, книга напоминает конспект всего интересного, что существует в мире SDR, без разжевывания материала. Есть много ссылок на книги и статьи для более глубокого изучения. Это большой плюс. Написано достаточно хардкорно, с кучей формул и вот этим вот всем.
Я думаю, что книга отлично зайдет людям с математическим складом ума. Мне лично она не очень зашла.
Practical Signal Processing
Mark Owen
Эту книгу рекомендовал Michael Ossmann в своем видеокурсе Software Defined Radio with HackRF . Она чем-то напоминает DSPGuide, только, как мне показалось, рассказывает о мире DSP больше вширь, нежели вглубь.
В книге вы найдете неплохое объяснение теории вероятности и ее применения в DSP. Рассказывается об устройстве чисел с плавающей точкой и стандарте IEEE 754, работе со звуком, в том числе описаны DPCM и ADPCM . Есть поверхностное описание формата MP3.
В главе, посвященной обработке изображений, вы найдете краткое описание формата JPEG и того, как работает вейвлет-преобразование. Также есть глава про видео, из которой вы узнаете, что означает «p» в «720p» и чем оно отличается от «720i». Объясняется, как работает сжатие видео, на примере MPEG-2. Особенно мне понравилась глава 11, описывающая различные способы модуляции сигнала, такие, как AM (включая его частный случай в лице OOK ), FM , QAM (включая его частные случаи — BPSK , QPSK, CPFSK, MSK и GMSK), а также устройство соответствующих приемников и передатчиков.
Для каждой главы есть упражнения, некоторые из которых весьма занятны. К упражнениям есть правильные ответы в конце книги. Несмотря на сложность материала, «Practical Signal Processing» читается просто и приятно.
В общем, мне книга понравилась, рекомендую.
USB in a NutShell
Craig Peacock
И еще одна бесплатная книга . Ее посоветовал в одном из своих видео Joel Holdsworth, ведущий YouTube-канала OpenTechLab .
Книга объясняет разницу между UHCI, OHCI и EHCI, описывает кодирование NRZI, а также формат USB-пакетов. Все это в контексте USB ≤ 2.0. Оказывается, у USB есть много общего с Ethernet . В том числе, есть пакеты, у которых есть заголовки с адресом отправителя, адресом получателя, контрольной суммой и типом пакета. Оба протокола используют дифференциальные сигналы. Да и скорости у них сравнимые. Будь моя воля, я бы объединил USB и Ethernet в один протокол.
Что же до книги, то она оказалась очень коротенькой и написанной в конспектном стиле. Не слишком захватывающее чтиво, но в качестве справочника может когда-нибудь пригодиться.
Make: Analog Synthesizers
Ray Wilson
Эту книжку советовал Чарльз Платт в «Make: More Electronics». Дескать, здесь можно прочитать больше про фильры, операционные усилители и всякое такое.
Книга вводит классификацию синтезаторов звуков — normalized, modular и hybrid. Описывает основные компоненты синтезаторов и как они устроены — генератор белого шума, voltage-controlled oscillator (VCO), voltage-controlled low-pass filter (VCF), voltage-controlled amplifier (VCA), voltage-frequency oscillator (LFO), attack release envelope generator (AREG). Рассказывает, как собрать собственный синтезатор на примере открытого проекта MFOS Noise Toaster , который и изображен на обложке. При желании данный синтезатор можно купить в виде DIY конструктора, цена полной версии которого (плата, электронные компоненты, передняя панель) составляет 209$.
Книга довольно неплохая, хотя и будет интересна узкому кругу читателей.
Web Hacking 101
Peter Yaworski
Эту книгу можно купить на LeanPub . Помимо прочего, она интересна тем, что ее рекомендуют Michiel Prins и Jobert Abma, основатели HackerOne.
Книга представляет собой что-то вроде энциклопедии типичных для веба уязвимостей. Сначала дается теоретическое описание проблемы, затем рассматриваются конкретные примеры, взятые из открытых отчетов на HackerOne. Характерно, что где-то про половину описанных уязвимостей раньше я даже не слышал. Плюс к этому всему, есть дельные главы с описанием инструментов и ссылками на дополнительные ресурсы.
Интересно, что издательство No Starch Press готовится издать книгу Real-World Bug Hunting того же автора. Пока не ясно, это та же самая книга, или немного другая. (UPD: Судя по оглавлению, это та же самая книга, возможно, слегка переработанная.)
Мне лично книга очень понравилась. Я считаю, ее нужно прочитать всем, кто пишет веб-приложения, или что-то напоминающее их.
RF Circuit Design
Christopher Bowick
Эту книгу мне посоветовал devttys0 в комментариях к одному из своих видео .
Здесь можно прочитать о том, как с ростом частоты конденсаторы могут проявлять свойства катушек индуктивности, и наоборот . Про преимущества и недостатки использования ферритовых тороидов в катушках, и как рассчитывать такие катушки. Как пользоваться диаграммами Смита , на что обращать внимание в даташитах на транзисторы, и как спаять усилитель класса С.
Книга понравилась. В целом, можно рассматривать ее, как хорошее дополнение к «Practical Electronics for Inventors». Отмечу, что я прочитал первое издание, и только потом понял, что есть более новое, второе . Во втором издании материал немного переработан, и добавлены дополнительные главы.
Hacking Exposed: Wireless, 3th edition
Joshua Wright, Johnny Cache
Эту книгу упоминал Michael Ossmann в своем докладе про Ubertooth .
Книга описывает атаки на Wi-Fi , включая атаки на пользователей при помощи фреймворка Metasploit и его модулей http_capture, fakedns и browser_autopwn. Рассматриваются атаки на Bluetooth и объясняется, почему Ubertooth работает только с Bluetooth Classic и Bloetooth Low Energy, но не с Bluetooth EDR. Дело в том, что последний использует GFSK только в заголовках пакетов, а саму информацию передает в DQPSK, либо в DPSK. Однако чип CC2400, используемый в Ubertooth, умеет демодулировать только FSK и GFSK. Из описания BLE вы узнаете, что он очень похож на протокол NRF24L01 . Оба используют частоту 2.4 ГГц и модуляцию GFKS, однако в BLE также используется Frequency Hopping Spread Spectrum (FHSS). Другими словами, каналы меняются с целью борьбы с помехами.
Есть быстрое введение в SDR и DSP. Объясняется, какой SDR выбрать и как пользоваться GNU Radio. Рассматривается безопасность сотовых сетей, в том числе сниффинг пакетов 2G и взлом ключа алгоритма A5/1, поднятие базовой станции GSM при помощи YateBTS и BladeRF, атаки на 2G и 3G сети при помощи femtocells. Также в книге описаны атаки на ZigBee и Z-Wave. Материалы по RFID, к сожалению, в книге отсутствуют.
Мне особенно понравилось, что авторы используют в основном открытые инструменты. Кроме того, всегда достаточно подробно объясняется, что именно происходит, а не просто «нажмите Next, Next, Next — ура, работает».
Считаю, что книга отличная. Есть множество других книг из серии Hacking Exposed. Возможно, имеет смысл с ними тоже ознакомиться.
The ARRL Handbook for Radio Communications 2019. Vol 1: Introduction and Fundamental Theory
ARRL Inc.
Настольная книга коротковолновиков периодически публикуется American Radio Relay League с 1926 года. Это 96-ое издание книги. Моя жизненная философия — если техническая книга столько раз переиздавалась, ее по-любому нужно читать. Полный объем хэндбука составляет 1280 страниц. В этом издании впервые было решено сделать версию, разбитую на шесть томов.
Первый том содержит четыре главы. Объясняется, что такое любительское радио, и какая движуха тут происходит (виды связи, контесты, награды, и так далее). Есть вводная глава по электронике — что такое напряжение и мощность, катушки и конденсаторы. Еще одна глава посвящена основам радио. Из нее вы узнаете, что такое импеданс и добротность компонентов (Q) , что представляет собой электромагнитная волна и какая у нее бывает поляризация. Наконец, четвертая глава посвящена электронным компонентам, включая трансформаторы, полупроводники и операционные усилители .
Книга пока что нравится, хотя местами она мне показалась больно уж сухой. Если вы никогда раньше не слышали про импеданс и полосу пропускания, то разобраться по этой книге может не получиться. С другой стороны, что такое электромагнитная волна и ее поляризация объясняется так, как если бы вы объясняли это ребенку (и это правильно). Насколько я понимаю, разные разделы написаны разными людьми, вероятно, даже в сильно разное время. В общем, я бы рекомендовал читать эту книгу после «Practical Electronics for Inventors».
На этом у меня все. Как обычно, буду рад вашим вопросам и дополнениям, а также рекомендациям хороших книг.
Дополнение: Рецензии на прочитанные книги: 21-ый десяток