Pull to refresh
-4
Эдуард Зиганшин @e-zigread⁠-⁠only

Разработка электроники

Send message

Практика измерения коэффициента шума при помощи анализатора спектра. Заметки и наблюдения

Level of difficultyMedium
Reading time26 min
Views7.7K

Одним из показателей качества аналогового тракта приемника является коэффициент шума (КШ). Чем он меньше, тем меньше дополнительных шумов вносит аналоговый тракт в сигнал, поступающий на его вход.

Выбор устройств с низким КШ может позволить увеличить дальность или скорость передачи данных в канале связи без увеличения энергопотребления и размеров антенн.

В [1] рассматриваются 3-и метода измерения коэффициента шума:

1.     Метод Y-фактора. Этот метод предполагает использование генератора шума.

2.     Метод генератора сигнала с удвоением мощности.

3.     Метод прямого измерения шума (метод холодного источника)

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

Читать далее

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Level of difficultyMedium
Reading time8 min
Views457K

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024

Укрощаем суммы с плавающей запятой

Level of difficultyEasy
Reading time9 min
Views9.9K

Допустим, у нас есть массив чисел с плавающей запятой, и мы хотим их суммировать. Можно наивно подумать, что их достаточно просто сложить, например, на Rust.

Однако это запросто может привести к произвольно большой накопленной погрешности. Давайте проверим:

naive_sum(&vec![1.0; 1_000_000]) = 1000000.0
naive_sum(&vec![1.0; 10_000_000]) = 10000000.0
naive_sum(&vec![1.0; 100_000_000]) = 16777216.0
naive_sum(&vec![1.0; 1_000_000_000]) = 16777216.0

Ой-ёй… Что произошло? Проблема в том .что следующее 32-битное число с плавающей запятой после 16777216 — это 16777218. Так что при вычислении 16777216 + 1, значение округляется до ближайшего числа с плавающей запятой, имеющей чётную мантиссу, то есть снова до 16777216. Мы зашли в тупик.

К счастью, есть более совершенные способы суммирования массива.

Читать далее

Проверка поставщика в Китае своими силами

Level of difficultyHard
Reading time5 min
Views3.4K

Бизнес с Китаем оживает потихоньку, бизнесмены пытаются найти альтернативных поставщиков в Китае на смену старых европейских брендов.

Я решил выложить инструкцию, по которой уже на протяжении длительного срока я и мои коллеги проверяем компании в Китае.

Читать далее

Руководство по межпроцессному взаимодействию (IPC) в Linux — Часть 1

Level of difficultyMedium
Reading time15 min
Views12K

Представляю вашему вниманию перевод работы A guide to inter-process communication in Linux. Объём данной работы большой, поэтому перевод будет выполнен в виде нескольких отдельных статей:

Читать далее

Краткое сравнение популярных функций измерения времени

Level of difficultyEasy
Reading time11 min
Views7.6K

Какую реальную точность можно ожидать от функции возвращающей время, а сколько времени она выполняется сама? Попытка замерить и сравнить несколько десятков функций, доступных программисту на C++.

Вот что получилось

Изобретение радио

Level of difficultyEasy
Reading time61 min
Views7.9K

Кто изобрел радио? Попов, Маркони или кто-то еще? Кому отдать пальму первенства первооткрывателя радиосвязи? В этом вопросе поможет разобраться ресурс, посвященный Николе Тесле.

Читать далее

Разбираемся с this в JavaScript раз и навсегда (но это не точно)

Level of difficultyMedium
Reading time8 min
Views16K

Бесконечно можно смотреть на три вещи: как горит огонь, как течет вода и то как фронтендеры пишут очередную статью про this.

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

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

Читать далее

Подборка крутых докладов по С++ за 2023 год

Level of difficultyEasy
Reading time4 min
Views7.1K

Скоро начинается новый сезон конференций, а потому предлагаем вам ознакомиться с лучшими докладами по С++ с прошлого сезона. Эта подборка самых громких докладов за 2023 год поможет вам поглубже узнать С++ и набраться вдохновения.

Вперёд за просвещением!

Как Боб текстовый файл считывал

Reading time6 min
Views8.2K

Как-то раз Бобу поручили построчно обработать текстовый файл. Боб решил решить эту задачу на C++, так как известно, что мало найдётся языков, которые могли бы потягаться с C++ в скорости. Поскольку C++ для Боба — дело новое, неосвоенное, он решил погуглить спросить ChatGPT, какой способ построчного считывания файла на C++. Для этого потребовалось немного затравочного кода, зато не пришлось пролистывать бесконечные страницы документации по стандартной библиотеке C++.

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

💡

После этого Боб выложил окончательную версию кода на GitHub в файле TextFileReader.h, и вы смело можете использовать его в ваших проектах.

Читать далее

Верификация цифровых схем. Обзор

Reading time9 min
Views21K

image


Я постараюсь в общем рассказать о верификации цифровых схем.


Верификация в данной области — это важный процесс, требующий привлечения опытных инженеров. Например, специалист по верификации, работающий над системами с ЦПУ, как правило должен владеть скриптовыми языками и языками командных оболочек (Tcl, bash, Makefile и т.п.), языками программирования (С, С++, ассемблер), HDL/HDVL (SystemVerilog [10, Appendix C — история языка][11], Verilog, VHDL), современными методологиями и framework’ами (UVM).


Доля времени, затраченного на верификацию, доходит до 70-80% от всего времени проекта. Одна из основных причин такого внимания в том, что к микросхеме нельзя выпустить “патч” после того, как ее отдали в производство, можно только выпустить “silicon errata” (это не касается проектов ПЛИС/FPGA).


Под цифровыми схемами я подразумеваю:


  • сложно-функциональные блоки/intellectual properties (СФБ/IP);
  • специализированные заказные микросхемы/application-specific integrated circuit (ASIC);
  • проекты программируемых логических интегральных схем/field-programmable gate array (ПЛИС/FPGA);
  • системы на кристалле/system-on-crystal (СнК/SoC);
  • и т.п.
Читать дальше →

Долгий путь микропроцессора на рынок или учимся читать новости про российские литографы

Level of difficultyHard
Reading time10 min
Views53K

Пару дней назад Хабр в списке новостей вывел и эту - В России создали и тестируют собственный литограф . Новость не вызвала у меня особого интереса - кроме того, что на Хабре завелась особая математика, +68 – 24 = +58, и вот почему.

Читать далее

Suno есть, скрипач не нужен!?

Level of difficultyMedium
Reading time19 min
Views16K

Я еще не совсем отошел от шока полугодичной давности, когда познакомился с RVC ... а тут новый прорыв - Suno. Думаю, многие если и не знакомы с самим сервисом, то слышали результаты - саундтреки с вокалом, полностью сгенерированные ИИ, по сути, не отличимые от живого исполнения. Хотя, конечно, еще до ИИ в музыке стало так много синтетики, что теперь и музыкант не всегда определит, как именно она была сделана.

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

Я не первый, кто взялся написать об этом удивительном сервисе, но мне кажется, что у меня есть некоторые догадки, позволяющие предположить, как эта система устроена внутри. А понимать принцип работы, значит меньше совершать ошибок и быстрее достигать желаемого результата. Пока, к сожалению, работа с Suno похожа на управление "пищевым конвейером инопланетян" - на выходе в целом правильная и даже вкусная еда, но не совсем то, что ты ожидал получить, делая заказ. Правда, этому есть и объективные причины.

Сначала пару строк о качестве. Это ведь важно?

Suno генерирует, правильную, качественную, профессионально звучащую музыку, которую вы слушаете как-бы через некачественные колонки. Т.е. музыкальное качество высокое, а звуковое - не всегда, но ... Вот отзыв Сергея Кокорина, руководителя и дирижера сочинского Биг-Бенда, на один из первых примеров Suno, который я ему показал: "... поразительно точно соблюдены все правила штрихов, нюансов, аранжировки... Удивительно верное инструментальное произношение свинга! У вокалистов чудесный порядок, и в сольном произношении, и аккордовом! Огромное количество подробностей учтено!!! Поразительная железяка, хорошо это слышно, но не верится...". И согласитесь, живой джаз - очень непростая музыка для имитации, это не клубный трек.

Читать далее

Самое понятное объяснение парадокса близнецов

Level of difficultyMedium
Reading time5 min
Views53K

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

Кратко напомню суть парадокса

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

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

Попросим бегущего кота четыре секунды (по его часам) бежать вправо со скоростью 75% скорости света, потом развернуться и прибежать с той же скоростью назад.
Вот визуализация на диаграмме.

Читать далее

Lane margining: как оценить качество PCIe-соединения без дополнительной аппаратуры

Level of difficultyMedium
Reading time17 min
Views7.2K

При запуске новых плат и устройств с PCIe-соединениями недостаточно просто вставить карту в слот. Нужно так настроить эквалайзеры, редрайверы, пресеты и ретаймеры, чтобы на каждой полосе «поднялся линк», то есть установилось соединение. Это значит, что приемопередатчики на обоих концах распознали друг друга, договорились о кодировке и скорости передачи.

Долгое время без специального дорогостоящего инструмента нельзя было убедиться в устойчивости линка: что он не пропадает при малейших воздействиях температуры, влажности или любопытных лапок. То есть нелегко было узнать количественный запас по уровню сигнала, насколько он близок к границе потери различимости физических уровней — а значит, и разрыва соединения. Эта безнадежная ситуация изменилась с появлением четвертого поколения стандарта PCIe.

Читать далее

Как передать информацию в ICMP-пакетах и не привлечь внимания санитаров

Reading time8 min
Views32K

Источник: polymerh.

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

Если вам кажется, что тема передачи данных в ICMP уже исчерпана и я не смогу вас удивить, то предлагаю извлечь данные из дампа сетевого трафика до прочтения статьи. То, что будет дальше, может ввести в недоумение.
Читать дальше →

Анатомия Hello World на языке C

Level of difficultyMedium
Reading time15 min
Views35K

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →

CRTP в C++

Level of difficultyEasy
Reading time4 min
Views9.9K

Привет, Хабр!

CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к методам производного класса. С помощью CRTP можно можно обогатить интерфейс производного класса, внеся в него дополнительные методы через базовый класс-шаблон.

С CRTP также можно достигнуть полиморфизма во время компиляции и таким образом избваиться от затрат на производительность, связанных с динамическим полиморфизмом и виртуальными функциями.

Читать далее

Метаболизм и долголетие. Личный опыт

Level of difficultyEasy
Reading time13 min
Views16K

Этот текст - логическое продолжение описания моего инженерного подхода в вопросе долголетия. Если вы не читали предыдущую статью, то рекомендую ознакомиться. Текущая же статья потребует 10 минут вашего внимания, но может добавить 10 лет к вашей жизни (но может и не добавить 😁).

Упрощённо говоря, моя идея (о которой можно ознакомиться по ссылке выше) состоит в том, чтобы:

1. выделить наиболее вероятные проблемы со здоровьем, которые "помогут" откинуться
2. предпринять адекватные усилия, которые помогут их предотвратить

Читать далее

Что есть истина в последней инстанции или какие добавки действительно работают?

Level of difficultyMedium
Reading time88 min
Views7.3K

Здравствуйте, уважаемые читатели!

Сегодня я хотел бы поговорить о том, какие пищевые добавки, а если говорить точнее, эргогенные средства, действительно работают и дают результат, даже учитывая факт того, что, по сути, между эргогенными средствами и пищевыми добавками нельзя напрямую поставить знак “=”.

В силу того, что тема БАДов популярна в СМИ, о ней регулярно говорят различного рода эксперты, и она неоднократно рассматривалась в том числе на Хабре (см. Рисунок 1 ниже), я хотел бы поставить точку в данном вопросе, при этом, что самое важное, предоставив читателям методологию, которая позволит отделить зёрна от плевел, или, другими словами, истинное от, в лучшем случае, бесполезного, а в худшем – вредоносного.

Читать далее

Information

Rating
Does not participate
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

System Software Engineer, Hardware Engineer
Senior
From 225,000 ₽
C++
Qt
Verilog HDL
VHDL
C
Git
Linux