Рецензии на прочитанные книги: вторая сотня

10 декабря 2018

Хотите верьте, хотите нет, но это уже двадцатый по счету пост с рецензиями на прочитанные книги. Так получилось, что в последнее время в основном я читал про радио и обработку сигналов, но не только. Прочитать предыдущие мои рецензии можно здесь: девятнадцатый десяток, восемнадцатый десяток, семнадцатый десяток, шестнадцатый десяток, и далее по ссылкам.

Примечание: В комментариях к таким постам меня традиционно спрашивают, где я нахожу время на чтение книг, много ли запоминается, и так далее. См статью FAQ: Как мне удается читать так много книг, и при этом еще запоминать что-то из прочитанного.

NumPy Beginner’s Guide, Third EditionNumPy Beginner’s Guide, Third Edition
Ivan Idris

Быстрое введение в библиотеку NumPy. Также есть про использование Matplotlib, немного про SciPy, и интеграцию NumPy с PyGame. Плюс к этому, в книге вы найдете много ссылок на онлайн-курсы, например, по линейной алгебре и статистике. В конце глав приводятся списки вопросов для самопроверки. Ответы можно посмотреть в приложении.

Хорошая книжка, на твердую четыре с плюсом.

The Scientist and Engineer's Guide to Digital Signal ProcessingThe 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 EngineersSoftware-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 ProcessingPractical 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 NutShellUSB in a NutShell
Craig Peacock

И еще одна бесплатная книга. Ее посоветовал в одном из своих видео Joel Holdsworth, ведущий YouTube-канала OpenTechLab.

Книга объясняет разницу между UHCI, OHCI и EHCI, описывает кодирование NRZI, а также формат USB-пакетов. Все это в контексте USB ≤ 2.0. Оказывается, у USB есть много общего с Ethernet. В том числе, есть пакеты, у которых есть заголовки с адресом отправителя, адресом получателя, контрольной суммой и типом пакета. Оба протокола используют дифференциальные сигналы. Да и скорости у них сравнимые. Будь моя воля, я бы объединил USB и Ethernet в один протокол.

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

Make: Analog SynthesizersMake: 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 101Web Hacking 101
Peter Yaworski

Эту книгу можно купить на LeanPub. Помимо прочего, она интересна тем, что ее рекомендуют Michiel Prins и Jobert Abma, основатели HackerOne.

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

Интересно, что издательство No Starch Press готовится издать книгу Real-World Bug Hunting того же автора. Пока не ясно, это та же самая книга, или немного другая. (UPD: Судя по оглавлению, это та же самая книга, возможно, слегка переработанная.)

Мне лично книга очень понравилась. Я считаю, ее нужно прочитать всем, кто пишет веб-приложения, или что-то напоминающее их.

RF Circuit DesignRF Circuit Design
Christopher Bowick

Эту книгу мне посоветовал devttys0 в комментариях к одному из своих видео.

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

Книга понравилась. В целом, можно рассматривать ее, как хорошее дополнение к «Practical Electronics for Inventors». Отмечу, что я прочитал первое издание, и только потом понял, что есть более новое, второе. Во втором издании материал немного переработан, и добавлены дополнительные главы.

Hacking Exposed: Wireless, 3th editionHacking 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 TheoryThe 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-ый десяток

Метки: .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.