Модуляция CPFSK и не только в квадратурах на микропроцессорах STM32

Wait 5 sec.

Добрый день, уважаемые коллеги! Начнем с того, что побудило написать статью. Я инженер, который ранее работал в организациях, которые так или иначе были связаны с проектированием, производством и поставками оборудования и микросхем для систем связи. В наши задачи входила работа с протокольным уровнем систем связи, проектирование устройств и стабилизация их параметров с применением калибровок. Это мир большого телекома. На работе мы пользовались весьма серьезными приборами вроде CMW-270, FSL-6, FSQ-8, векторными анализаторами и много-гигагерцовыми осциллографами Agilent. А дома у меня маленький мирок в котором приборы значительно проще. И процессоры проще. Но интерес тот же. Вот и попробуем сделать кое что интересное из этой сферы. Некоторое время назад планировал собрать радио-модем. Первое что пришло в голову, это старенький протокол AX.25, который де-факто нижним уровнем использует модуляцию CPFSK. Сказано-сделано. Модемную часть планировалось реализовывать на знакомом ядре Cortex M3 и оптимизировать его работу. Итак. Нам предстоит работать с модуляцией Continuous-Phase Frequency-Shift Keying (CPFSK). Эта модуляция является разновидностью частотной модуляции при которой не происходит разрыва фазы. Давайте разработаем эффективный модулятор на микроконтроллере STM32.В результате, получим функции на Assembler Corex M3, позволяющие относительно быстро синтезировать гладкие сигналы с непрерывной фазой. Читать далее