Ранее мы научились писать модульные тесты на языке Go и измерять степень покрытия кода тестами. Также недавно мы познакомились с GitHub Actions и узнали, как с его помощью автоматически собирать и тестировать проект. Казалось бы, проверять code coverage при помощи GitHub Actions должно быть проще простого. Используем материалы двух предыдущих статей, и готово! Но если бы все было так банально, вы бы сейчас не читали эти строки.

Yaesu FT-891 является достаточно легкой и компактной радиостанцией, что упрощает перевоз ее с места на место, например, в рюкзаке. Однако во время таких перевозок дисплей и элементы управления трансивера подвержены риску. Одно неловкое движение при снятии того же рюкзака может с легкостью привести к повреждению оптического валкодера, а значит долгому и недешевому ремонту.

Магнитная рамочная антенна или магнитная рамка (magnetic loop antenna) — это особая антенна, которая заметно отличается от классических диполей, вертикалов и волновых каналов. Несмотря на похожее название, антенна имеет мало общего с рамочной антенной. Главной отличительной чертой магнитной рамки является длина полотна в пределах от 1/8 λ до 1/4 λ. Антенна безусловно является компромиссной. Тем не менее, магнитные рамки довольно сносно работают как на прием, так и на передачу.

В рамках поста Защита трансивера от статического электричества несколько раз упоминалось заземление, но не было сказано, как его сделать. Настало время устранить этот пробел. Сразу должен сказать, что бывают разные виды заземления и к ним предъявляются разные требования. Все их не представляется возможным рассмотреть в рамках одной статьи. Это сложная тема, по которой пишут целые книги.

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

В рамках заметки Паяем генератор Клаппа с частотой 11 МГц мы познакомились с генератором на основе LC-контура. В целом, такие генераторы работают, однако не отличаются устойчивостью по частоте. Поэтому сегодня мы рассмотрим аналогичный генератор, но использующий кварц вместо LC-контура.

Круговая диаграмма полных сопротивлений, она же диаграмма Вольперта-Смита или диаграмма Смита — это круговая диаграмма, часто используемая для отображения комплексного сопротивления чего бы то ни было. Одно из интересных свойств данной диаграммы заключается в том, что с ее помощью легко производить некоторые вычисления прямо на бумаге. Например, зная входное сопротивление антенны и рабочую частоту, нетрудно определить, как с помощью LC-схемы привести сопротивление к значению 50 Ом. Этим активно пользовались до появления персональных компьютеров, благодаря чему диаграмма Смита и обрела популярность. Давайте же попробуем порисовать диаграммы Смита на языке Python.

Пробник ближнего поля (near field probe) в сущности представляет собой небольшую антенку, подключаемую к анализатору спектра или SDR-приемнику. Водя пробником над платой некого устройства, можно найти компоненты, излучающие на той или иной частоте. Различают пробники E-поля и H-поля, в зависимости от того, к какой составляющей элекромагнитной волны, электрической или магнитной, пробник более чувствителен.

Такие антенны, как вертикалы и диполи, способны копить статический заряд. Любой радиолюбитель рано или поздно сталкивается с этим феноменом. В частности, взявшись за UHF-разъем коаксиального кабеля, идущего к вертикалу или диполю, иногда можно почувствовать покалывание или даже жжение в пальцах. Статика не представляет угрозы здоровью человека, однако является нередкой причиной выхода из строя трансиверов.

Вот еще одна задача с PostgreSQL, возникшая по работе. Есть таблица с некими событиями. У событий есть уникальный id. В силу специфики приложения id событий не обязательно идут по порядку. Однако в каждом событии есть id следующего и предыдущего события. Требуется написать функции forward(id, steps) и backward(id, steps), возвращающие id события, произошедшего steps событий вперед или назад относительно заданного. Если такого события нет, требуется вернуть пустой результат.