Что такое lsb и usb
Продолжая цикл статей про радио, есть смысл рассказать про последние достижения в этой области — Software Defined Radio. Я не знаю адекватного перевода термина на русский, поэтому оставим так, да и термин SDR уже прижился в технических и радиолюбительских кругах.
За последние 100 лет радио изменилось настолько, что вряд ли тогдашний инженер вообще понял бы, как это работает.
Мы все же попробуем разобраться.
3. Третий символ — тип передаваемой информации:
N — отсутствие передаваемой информации;
А — телеграфия для слухового приема;
В — телеграфия для автоматического приема;
С — факсимиле;
Е — телефония.
Code-division multiple access (CDMA)
Другой способ широкополосной передачи — разделение данных. Данные для нескольких получателей могут быть комбинированы в один сигнал с помощью специальной функции (например Walsh code), которая гарантирует как прямое, так и обратное преобразование. Одним из ключевых факторов и в OFDM и в CDMA является так называемая «ортогональность», получаемые сигналы не должны «смешиваться», чтобы из результирующего сигнала можно было извлечь исходные данные.
Кодирование CDMA используется в мобильных сетях 3G. Хороший пример разбора CDMA с помощью ручки и бумаги можно найти здесь, интересующимся рекомендую посмотреть.
История
Идея software defined radio базируется на двух китах:
- Передача широкополосного сигнала с радиоприемника в компьютер. Ширина обрабатываемой полосы может быть от 48КГц (звуковая карта ПК) до 50МГц (сверхбыстрый АЦП с передачей сигнала по Gigabit Ethernet или USB3.0).
- Демодуляция сигнала — все то, что «обычный» радиоприемник (AM, FM, фильтры и пр) делает в «железе» — в SDR делается на компьютере, математическими алгоритмами. Сам радиоприемник конечно, все равно нужен, но только его «половина» — та часть, которая собственно принимает радиосигнал.
Первая версия Winrad датируется 2007 годом, и выглядела она примерно так (можно обратить внимание на системные требования :)
Как можно видеть, интерфейс весьма минималистичный, но программа уже умела воспроизводить AM, FM, USB и LSB, и показывать спектр сигнала. По сравнению с шириной полосы обычного выхода для наушников любого приемника это был… ну почти прорыв. Разумеется, в проф. системах панорамные приставки существовали и раньше, но «простым смертным» оно было практически недоступно, а звуковая карта у каждого в ПК и так есть.
Типичным бюджетным решением для радиолюбителей были приемники Softrock — однодиапазонные приемники, содержащие переключаемый кварц, смеситель и выход на звуковую карту.
Разумеется, это было только начало. Появились приемники с перестраиваемой частотой, а всего за 2 года Winrad заметно эволюционировал, и в 2010 году выглядел уже так:
Стали появляться и профессиональные решения, тогда же в 2010 появился Perseus SDR — приемник с 14-битным DDC АЦП, частотным диапазоном 10КГц-30МГц и шириной полосы пропускания 1.6МГц (в принципе, параметры вполне достаточные и на сегодня).
Цена приемника составляла 825Евро, что для тех лет было не так уж мало.
Оказалось, что DVB донглы на базе чипа Realtek RTL2832U, рекламируемые иногда также как поддерживающие FM, DAB(+), способны передавать на компьютер поток 8ми битных квадратур при частоте дискретизации около 3-х MSPS.
Принимаемый диапазон ограничивается использованным в определенной модели донгла тюнером, например у Elonics E4000 от 64 до 1700 МГц. Этот тюнер используется также в FunCube донгле, только с дополнительным МШУ.
В общем, как оказалось, дешевые USB-ТВ приемники ценой 10-20$ после замены драйвера могут отдавать IQ-поток, что позволяет использовать их с уже существующим программным обеспечением для SDR. Сами приемники выглядели вот так:
Однополосная модуляция (USB, LSB, SSB)
Однополосная модуляция является частным случаем амплитудной. Как было сказано выше, спектр АМ сигнала симметричен относительно центра. Но можно передавать лишь «одну половину» сигнала, что обеспечивает большую дальность при той же мощности передатчика:
Однополосная модуляция (с) Википедия
Как видно из картинки, можно настроиться на верхнюю или нижнюю боковую полосу, такой режим в приемнике или передатчике соответственно обозначается USB или LSB.
В режиме однополосной модуляции работают служебные станции, передаются метеосводки на коротких волнах, также он используется радиолюбителями. Но не менее важен он еще и тем, что в режиме USB или LSB спектр сигнала фактически переносится с радиочастоты на звуковую без искажений — что позволяет принимать различные виды цифровых сигналов, рассмотренных ниже. Это важно иметь в виду при выборе радиоприемника — цифровые виды связи (FSK, PSK и пр) могут приниматься и декодироваться лишь в режиме однополосной модуляции, простой бытовой приемник с поддержкой «обычной» AM принять такие сигналы не сможет.
1. Первый символ — тип модуляции основной несущей:
1.1. Излучения, при которых основная несущая модулируется по амплитуде (амплитудная модуляция):
А — двухполосная;
Н — однополосная с полной несущей;
R — однополосная с частично подавленной несущей;
J — однополосная с полностью подавленной несущей;
1.2. Излучения, при которых основная несущая имеет угловую модуляцию:
2. Второй символ — характер сигнала (сигналов), модулирующего основную несущую:
0 — отсутствие модулирующего сигнала;
1 — один канал, содержащий квантованную или цифровую информацию без использования модулирующей поднесущей;
2 — один канал, содержащий квантованную или цифровую информацию при использовании модулирующей поднесущей;
3 — один канал с аналоговой информацией.
Перечень классов излучений, стандартно используемых в морской радиосвязи:
АЗЕ — двухполосная телефония (радиовещание);
J3E — однополосная телефония с подавленной несущей;
НЗЕ — однополосная телефония с полной несущей (разрешена для использования только на частоте 2182 кГц);
F3E — телефония с частотной модуляцией;
G3E — телефония с фазовой модуляцией;
G2B — фазовая модуляция; один канал, содержащий дискретную или цифровую информацию, с использованием модулируемой поднесущей;
F1B — частотная телеграфия;
J2B — буквопечатающая телеграфия с использованием амплитудной модуляции и частотно-манипулированной поднесущей, передача на одной боковой полосе, подавленная несущая;
А1А — телеграфия незатухающими колебаниями, код Морзе;
А2А — телеграфия с амплитудной манипуляцией тонально модулированной несущей, код Морзе;
F1C — факсимиле с непосредственной частотной модуляцией несущей черно-белое;
F3C — аналоговое факсимиле;
PON — немодулированное импульсное излучение.
Подробная информация по классам излучения содержится в Статье 4 Регламента радиосвязи (РР) и Приложении 6 к PP.
Примеры обозначения ширины полосы частот:
В радиолюбительской практике применимы следующие виды наименований модуляций радиосигналов:
Аналоговая телефония
AM — амплитудная модуляция
SSB — однополосная модуляция
LSB — Lower SideBand — нижняя боковая модуляция
USB — Upper SideBand — верхняя боковая модуляция
FM — частотная модуляция
WFM — широкая частотная модуляция (девиация частоты = 50 кГц и более)
NFM — узкая частотная модуляция (девиация частоты = 6,25—25 кГц)
PM — фазовая модуляция
CW — Continuous Wave — амплитудная манипуляция незатухающими колебаниями или др. словами — радиотелеграф
OOK (On-Off Keying)
Самый простой вид цифрового кодирования. Просто включаем-выключаем передатчик в соответствии с двоичным сигналом:
На спектре такой сигнал выглядит примерно так, их довольно много на частоте ~433 МГц:
Схема передатчика очень проста, поэтому активно используется в беспроводных пультах, радиокнопках и прочих устройствах ценой 1-2$. Никакого шифрования здесь обычно нет, частота и битовая последовательность жестко «зашиты», передать и принять сигнал может любой желающий, так что ставить такой пульт на дверь гаража, где стоит Lamborgini, я бы не стал, но для ночника у кровати вполне сойдет (такая лампа, купленная в ближайшем MediaMarkt, работает у меня 3 года, ложных срабатываний не было ни разу, принцип «неуловимого Джо» в действии).
Интересно отметить, что исторически это наверное один из самых первых способов радиопередачи. Если включать-выключать передатчик с помощью ключа и принимать сигнал на слух или на бумажную ленту, мы получим старую добрую азбуку Морзе.
Амплитудная модуляция (АМ)
Исторически АМ был одним из первых способов приема и передачи речи — всем известная «школьная» схема детекторного приемника отличалась крайней простотой, и даже не требовала батареек для приема — для работы высокоомных наушников было достаточно энергии радиоволн. Любопытно, что такие приемники выпускались в СССР серийно аж до 60х годов:
Детекторный приемник «Комсомолец» (с) Википедия
Видимо, с доступностью как приемников, так и источников питания в глубинке были определенные проблемы, так что детекторный приемник долго оставался актуален.
Фазовая модуляция (PSK)
Кроме частоты, мы можем менять и фазу сигнала, что дает нам фазовую модуляцию. Такие сигналы могут уверенно приниматься на больших расстояниях, и используются в частности, в спутниковой связи. Из радиолюбительских протоколов можно отметить PSK31, который одно время был весьма популярен.
С помощью PSK31 можно обмениваться информацией в виде «текстового чата», подключив трансивер к компьютеру. Фаз может быть больше 2х, например 4, 18 или 16, все зависит от скорости и канала связи.
Можно менять и фазу и амплитуду одновременно, что дает нам еще большую скорость, но требует более сложного кодирования и декодирования. В качестве примера такого сигнала можно привести QAM. Такой сигнал наглядно проще всего изобразить на фазовой плоскости:
Модуляция QAM используется при передаче данных в стандарте LTE и в цифровом телевидении DVB-T.
Заключение
Все что приведено выше, это разумеется, очень краткое объяснение «на пальцах», в реальности, описание только одного декодера может занять в несколько раз больше текста чем вся статья целиком, да и вряд ли многим здесь это нужно — Хабр это все же не научный журнал. Впрочем, общее впечатление у читателей надеюсь все же осталось. При наличии интереса у аудитории (что будет определяться по оценкам текста:) какой-либо из сигналов можно будет разобрать более подробно.
В завершение интересно отметить, что различные схемы кодирования — это не просто какая-то математическая абстракция — все это активно используется, в том числе и в военных целях (например протокол STANAG модемов NATO). Этот скриншот сделан во время написания текста с помощью онлайн-приемника Websdr:
Инструкции
Статьи и обзоры
Словарь терминов и сокращений по радиосвязи
Нормативные документы
Технические спецификации
Амплитудная модуляция с одной боковой полосой (Single-sideband modulation, SSB) модуляция (однополосная модуляция) - способ АМ модуляции радиочастотного сигнала, при котором в эфир излучается только одна из симметричных боковых полос АМ модулированного сигнала: либо верхняя USB (upper sideband), либо нижняя LSB (lower sideband). Не используемая боковая полоса и немодулированная центральная часть (несущая частота, занимающая 50% мощности АМ сигнала) подавляется и не доходит до передатчика. Мощность на передачу ненужной боковой и несущей не расходуется.
Это приводит как к сужению полосы излучаемого сигнала, так и к существенному увеличению его эффективной мощности. Таким образом, переведя радиостанцию с АМ модуляции на SSB, можно очень существенно увеличить дальность связи без увеличения выходной мощности передатчика. Кроме того в тежиме радиопереговоров спектр SSB во времени имеет пульлсирующюю форму и только в попмень разговора оператора. Таким образом выходной каскад передатчика значительно меньше нагружен, что позволяет излучаемую поднять мощность в 2-3, раза без дополнительных мер по охлаждению. Для получения на приемной стороне такого же по уровню сигнала, как при трехполосном передатчике, мощность однополосного передатчика составляет 1/3 от мощности трехполосного передатчика. Переход на однополосные сигналы позволяет получить выигрыш по мощности в 4. 8 раз.
Загруженность эфира и ограниченный частотный ресурс, в особенности КВ диапазона требует сужения полосы спектра частот, излучаемого трансивером при обычной трехполосной АМ передаче. Сужение спектра частот, занимаемого радиотелефонной станцией с амплитудной модуляцией (AM), позволяет решать проблему распределения частот между радиостанциями, которая становится все более острой с дальнейшим развитием морского транспорта, где другие наземные диапазоны не эффективны или их применение невозможно.
Амплитудная модуляция с одной боковой полосой (Single-sideband modulation, SSB) - разновидность амплитудной модуляции (AM), широко применяемая в аппаратуре радиосвязи для эффективного использования спектра канала и мощности передающей радиоаппаратуры.
Анализ спектра амплитудно-модулированного сигнала показывает, что информация о передаваемом сигнале содержится в каждой боковой полосе. В радиосигнале с АМ 50% мощности передатчика расходуется на излучение сигнала несущей частоты, который не содержит никакой информации о модулирующем сигнале. Остальные 50% делятся поровну между двумя боковыми частотными полосами, которые представляют собой точное зеркальное отображение друг друга. Несущая с частотой fо известна на передающей стороне (частота настройки передатчика) и не несет информации о передаваемом сигнале. При максимальном значении коэффициента модуляции, мощность боковой составляющей амплитудно-модулированного сигнала не превышает 25% от мощности несущей, т.е. основная доля мощности приходится на несущее колебание.
Идея исключения несущей частоты и одной из боковых полос из спектра излучаемого сигнала реализована в однополосном передатчике (Single Sideband Transmitter or SSB Transmitter). Двухполосные передатчики в настоящее время в судовой радиосвязи не используются.
Кроме того, когда на близких частотах работают несколько станций с однополосной модуляцией, они не создают друг другу помех в виде биений, что происходит при применении амплитудной модуляции с неподавленной несущей частотой.
К недостаткам однополосной модуляции следует отнести большую сложность формирования сигнала сравнительно с трехполосной амплитудной модуляцией AM. Кроме того, к стабильности частот передатчика и приемника предъявляются более высокие требования чем при однополосной.
Ранее я уже писал про самодельный SDR приемник, сделанный на базе отладочной платы DE0-nano. Как и большинство других SDR приемников, он не был способен работать без подключения к компьютеру. При этом в использованной ПЛИС оставалось еще большое количество неиспользованных ресурсов, так что я решил сделать приемник полностью автономным.
О том, как же работает весь SDR приемник целиком, и как его реализовать — далее.
Немного про предыдущий проект
Задачей любого приемника является усиление сигнала с антенны, выделение нужного высокочастотного сигнала, перенос его в область низких частот (чаще всего звуковых), и демодуляция получившегося сигнала. Непростой проблемой при этом является именно выделение определенного высокочастотного сигнала из всего радиоэфира. Обычно нужный сигнал расположен относительно в узкой полосе частот (большинство радиолюбительских сигналов имеют ширину менее 4 кГц), а рядом с ним находятся другие радиосигналы, прием которых будет только мешать. Поэтому аналоговые радиолюбительские приемники довольно сложны, в них приходится делать несколько преобразований частоты, и устанавливать достаточно сложные полосовые фильтры. Наличие различных методов модуляции сигналов также требует вводить в приемник набор разных демодуляторов.
С распространением мощной вычислительной техники появилась возможность переложить часть функционала приемника на компьютер. За счет цифровой обработки сигнала можно создавать очень эффективные полосовые фильтры (хотя бы и низкочастотные), проводить демодуляцию сигналов любого типа, отображать спектр принимаемого сигнала.
В большинстве современных приемников перенос сигнала с более высокой частоты на более низкую производится путем смешивания (перемножения) исходного сигнала с сигналом от опорного генератора — гетеродина. В результате на выходе смесителя появляется сигнал с частотой, равной разности частот исходного сигнала и гетеродина.
Однако при этом могут приниматся сигналы, находящиеся как ниже, так и выше частоты гетеродина (частоты A и B на рисунке). Это явление называется «зеркальным каналом». Для борьбы с ним в аналоговых приемниках совместно используются фильтры и перенос на промежуточные частоты.
Есть и другой метод подавления зеркального канала — фазовый, использующий квадратурное смешение сигналов (описание метода). Особенность этого метода — для его реализации в приемнике нужно реализовать два фазовращаетеля достаточно высокого порядка, причем их характеристики должны быть идентичны, что требует точного подбора компонентов и усложняет конструкцию приемника и его наладку.
Так как в цифровой форме можно абсолютно одинаково обработать несколько различных сигналов, то появилась возможность создавать довольно простые, но эффективные приемники. В таких приемниках сигнал после квадратурного смесителя отфильтровывается от ВЧ сигналов, усиливается, оцифровывается АЦП и передается на компьютер или DSP. Именно эта технология используется в большинстве SDR приемников.
Структурная схема такого приемника:
При наличии подходящего высокоскоростного АЦП и ПЛИС можно выполнять в цифровой форме даже квадратурное преобразование и децимацию получившегося сигнала. Приемники такого типа называются DDC (Digital Down Conversion). За счет того, что в таком приемнике практически нет аналоговых компонентов, можно получить очень высокий коэффициент подавления «зеркального канала».
Именно такой приемник я описывал ранее. Он включал в себя внешний АЦП, и реализованные в ПЛИС умножители сигналов, цифровой генератор сигналов, CIC и FIR фильтры, а также модули для передачи полученной информации на компьютер. Приемник выдавал через Ethernet поток данных 16 бит x 50 ksps x 2 канала.
А теперь стоит перейти к описанию SDR приемника, способного работать автономно.
Выделение сигнала и его демодуляция
Ранее в моем приемнике эти операции выполнял компьютер. Теперь требовалось реализовать их на ПЛИС.
Структурная схема получившегося демодулятора:
Так как хотелось иметь возможность изменять частоту принимаемого сигнала, не изменяя при этом основную частоту настойки приемника, то потребовалось добавить в блок демодулятора дополнительные генератор и комплексный умножитель. Генератор (NCO1) формирует синусоиду и косинусоиду, и может перестраиваться в диапазоне 0-25 кГц.
Для переноса нужного сигнала в область нулевых частот используется квадратурный умножитель. Важная особенность его работы — за счет того, что перемножаются комплексные сигналы, на его выходе не возникает зеркального канала.
Также имеется модуль, позволяющий поменять местами шины, соединяющие NCO1 и умножитель, за счет чего изменяется направление сдвига сигнала (на схеме этот модуль не показан).
Результат переноса сигналов:
Однако вышеупомянутый перенос частоты не решает проблемы зеркального канала.
Фаза сигналов на выходе квадратурного смесителя зависит от их положения относительно частоты гетеродина: находящиеся выше этой частоты будут иметь разность фаз в каналах I и Q +90 градусов, ниже -90 градусов.
Таким образом, если дополнительно сдвинуть все сигналы в канале I на +90 градусов, то разность фаз сигналов будет составлять уже либо 180, либо 0 градусов. Достаточно сложить получившиеся сигналы друг с другом, и нежелательный зеркальный канал будет подавлен (сложение сигналов с разностью фаз в 180 градусов дает ноль). Если вместо сложения выполнять вычитание сигналов — то будет приниматься именно зеркальный канал — таким образом можно переключать вид принимаемой полосы: LSB/USB.
Для выполнения фазового сдвига в модуль демодулятора введен цифровой фазосдвигающий фильтр — преобразователь Гильберта (Hilbert Transform). Он осуществляет сдвиг фаз всех частотных составляющих сигнала на 90 градусов.
Фильтр был рассчитан при помощи инструмента FDATool, входящего в состав Matlab. Фактически, фильтр Гильберта — это просто разновидность КИХ-фильтра с определенными коэффициентами. FDATool позволяет даже сгенерировать VHDL-код для получившегося фильтра. Порядок использованного фильтра — 65.
Особенность фильтра Гильберта — на частотах 0 и Fs/2 его коэффициент пропускания стремится к 0. В данном случае это значит, что частоты в НЧ области от 0 до ~500 Гц приниматься не будут.
Фильтр Гильберта задерживает сигнал на N/2 выборок, где N-порядок фильтра. Для компенсации этого эффекта в канал Q введена линия задержки (FIFO буфер), задерживающий сигнал на 34 выборки.
После того, как сигналы каналов I и Q сложены, получившийся сигнал нужно отфильтровать, пропустив на выход сигналы, находящиеся в полосе 0-3 кГц. Это делается для облегчения приема SSB сигналов, которые обычно имеют такую полосу. Замечу, что если в эту полосу попадут несколько радиостанций, работающих телеграфом, то все они будут слышны.
В качестве фильтра используется готовый КИХ-фильтр из Quartus. Он имеет порядок 32, коэффициенты для него, были также рассчитаны в FDATool.
АЧХ получившегося фильтра:
Все модули демодулятора имеют разрядность 12 бит. Меньшая разрядность давала бы не очень качественный звук, большая потребовала бы больше ресурсов ПЛИС, которых явно не хватало. Тактовой частотой для всех модулей является частота 50 кГц (скорость потока данных на выходе децимирующих фильтров).
Вывод звука
Для того, чтобы вывести звуковой сигнал из ПЛИС, я использовал формирователь ШИМ. Это не самый лучший способ создания звукового сигнала, но наиболее простой. Тактовая частота формирователя ШИМ выбрана достаточно высокой — 100 МГц. С такой частотой при разрядности 12 бит частота импульсов ШИМ — 24кГц.
Так как принимаемые сигналы имеют очень большой динамический диапазон, то для нормального приема в конструкцию пришлось ввести программную автоматическую регулировку усиления (AGC). Реализована она довольно просто — при слишком большой амплитуде сигнала на выходе демодулятора модуль АРУ ослабляет сигнал на входе демодулятора (для этих целей используется входящий в него блок Right Shifter). Сигнал ослабляется в 2^N раз за счет простого сдвига, что не очень удобно, но очень просто реализуется программно и практически не требует ресурсов ПЛИС. Если в течении 0.2 сек сигнал на выходе демодулятора будет низким, то ослабление сигнала уменьшается. Недостаток такого метода — переключение усиления иногда довольно хорошо слышно.
FFT, вывод спектра на экран и управление приемником
Ранее я уже реализовывал на DE0-nano работу с VGA монитором. Также я экспериментировал с модулем FFT.
Таким образом достаточно было перенести имеющиеся модули в проект приемника, и подключить выходы децимирующих фильтров к входу модуля FFT — и появилась возможность наблюдать спектр радиосигнала в полосе +-25кГц от частоты главного гетеродина — NCO2. Демодулятор звука и FFT при этом работают независимо, так что можно изменять частоту принимаемого сигнала, не изменяя частоты настройки приемника.
Модуль FFT — готовый из Quartus, длинной 512 точек, работает совместно с модулем оконной функции.
Традиционно при отображении спектра используют его логарифмическое представление. Однако мне оно показалось не очень информативным, кроме того, модуль аппаратного вычисления логарифма занимал слишком много ресурсов ПЛИС, а вычисление логарифма программно выходило слишком долгим. Так что значение амплитуды спектра перед выводом на экран просто уменьшается в 2^N раз, число N можно изменять программно.
В данном проекте захват данных от модуля FFT, вывод данных на VGA экран, работа с SDRAM, управление приемником идет при помощи системы SOPC, в состав которой входит софтовый процессор NIOS II.
Упрощенная структурная схема SOPC:
Для управления приемником я решил использовать мышь с интерфейсом PS/2. Он довольно прост, вся связь идет по двум проводам. На сайте Altera среди примеров для некоторых отладочных плат явно упоминался модуль для SOPC, предназначенный для работы с PS/2. Попадался и код (ссылок указать не могу, так как вновь найти нужные не удалось). Найденный пример пришлось изменить для работы с моей системной частотой, однако вначале он все равно не заработал. Ситуация осложнялась тем, что шина PS/2 — двунаправленная, причем пятивольтовая, а ПЛИС работает от 3.3В. Как оказалось, для того, чтобы мышь нормально заработала, нужно подавать на нее 5В (при 3.3В мышь не запускается), в настройках Quartus выводы, используемые для PS/2 должны быть указаны как работающие от 3.3В (остальные выводы у меня настроены на 2.5 В). Также для надежной работы пришлось установить конденсатор в 470пФ между линией CLK и землей. Возможно, если использовать внешний преобразователь уровней напряжений, то проблем можно было бы избежать.
Далее удалось наладить связь с мышью из Nios, но и тут возникла проблема — мне не удавалось настроить частоту выдачи данных мышью. Как оказалось позже, это была проблема конкретного вида мыши. Работа с мышью на программном уровне не сложна — после инициализации при перемещении она посылает на ПЛИС 3 байта, которые принимает контроллер мыши в SOPC. Он же генерирует прерывание для Nios, в обработчике которого Nios вычисляет новые координаты курсора.
Интерфейс, реализованный на Nios, позволяет наблюдать спектр, «водопад», управлять настройкой приемника (главным гетеродином), настройкой частоты приема звука, видом принимаемой полосы — USB/LSB. Частоту настройки можно изменять, нажимая на соответствующую цифру на индикаторе частоты левой/правой кнопкой мыши (аналогичным образом частоту можно менять во многих компьютерных SDR программах). Частоту настройки приема звука можно менять, нажимая мышью в нужное место на спектре или «водопаде».
Структурная схема всего приемника:
Ресурсы ПЛИС, используемые проектом
Как я уже писал выше, в процессе создания проекта возникли определенные трудности, связанные с объемом проекта. В нем используется большое количество фильтров, которые занимают место как в логических элементах (LE), так и используют аппаратные умножители. При настройке параметров каждого блока приходилось выбирать, какую длину фильтра использовать. Из-за недостатка ресурсов некоторые фильтры пришлось переключить в симметричный режим, что позволяет сократить число используемых фильтром умножителей вдвое. Тем не менее, параметры фильтра Гильберта и КИХ-фильтра в демодуляторе вышли достаточно посредственными (в компьютерных программах они гораздо эффективней). Стоит заметить, что в получившейся конструкции ресурсы ПЛИС используются не в полную силу — тактовая частота большинства модулей — 50кГц, хотя они могут работать на куда более высокой частоте.
Также достаточно много ресурсов занимает SOPC вместе с Nios — более 6000 LE.
Всего в проекте используется:
LE: 21,445 / 22,320 (96 %)
9-битных умножителей: 98 / 132 (74 %)
Как видно, практически все LE ПЛИС использованы.
Общий вид приемника:
Крупным планом:
Вид экрана во время работы (во время CQ WW RTTY DX Contest):
Прием SSB:
Видео работы приемника:
Из видео можно судить о качестве работы приемника. Стоит заметить, что на слух звук несколько лучше, чем на записи на видео телефоном. Также, как я упоминал ранее в предыдущем посте, антенна используется не лучшая.
На приемник удавалось принять сигналы rtty (подключенный к приемнику КПК их декодировал), принимались сигналы JT65 (они декодировались на компьютере). Хорошо было слышно немецкую радиостанцию, передававшую метеофакс.
Инструкции
Статьи и обзоры
Словарь терминов и сокращений по радиосвязи
Нормативные документы
Технические спецификации
Излучение представляет собой создание радиопередающей станцией, потока энергии в форме радиоволн (радиоволны — электромагнитные волны, частоты которых произвольно ограничены частотами ниже 3000 ГГц, распространяющиеся в пространстве без искусственного волновода).
Совокупность характеристик излучения, обозначаемая установленными условными символами, называется классом излучения. В общем случае класс излучения описывается тремя символами.
Первый символ (буква английского алфавита) характеризует тип модуляции основной несущей радиочастоты,
второй символ (цифра) — характер сигнала, модулирующего основную несущую, и
третий символ (буква английского алфавита) — тип передаваемой информации.
Ниже приведены основные обозначения символов, описывающих класс излучения.
Частотная модуляция (FM)
В частотной модуляции работает всем известное FM-вещание. Интересно отметить, что в передатчике FM-станции кодируется не только звук — передается сложный сигнал, включающий моно и стерео каналы, пилот-тон, RDS и пр. Чтобы не путать с «обычной» FM, у инженеров такая модуляция обычно называется WFM (Wide FM). В программе HDSDR несложно увидеть спектр радиостанции после декодирования:
На сигнале (справа снизу) несложно видеть пилот-тон на частоте 19 КГц, RDS, моно и стерео-каналы FM-вещания. В отличие от WFM, радионяни, рации и прочие аналогичные устройства используют «узкую» FM (NFM, Narrow FM) модуляцию, где передается только звук.
Частотная модуляция активно используется и для цифровых сигналов, в этом случае для передачи бинарного кода может использоваться переключение двух частот. В качестве примера можно привести сигнал немецкой станции Pinneberg, наличие двух частот хорошо видно на спектре:
Pinneberg передает метеосводки судам на длинных, средних и коротких волнах. Частот в принципе, может быть и больше 2х. Пример такого сигнала — радиолюбительский FT8:
Виды SDR
Существующие SDR можно разделить на 3 вида:
— SDR, имеющие встроенный АЦП и передающие сигналы в ПК в цифровом формате. Это большинство современных устройств среднего ценового диапазона. Они построены по принципу гетеродинного приема, только после переноса частоты вместо НЧ-блока стоит АЦП. Такие приемники имеют ширину полосы пропускания от 2 до 10МГц, есть разные модели на разные частоты и диапазоны (rtl sdr, SDRPlay, Airspy). Недостаток любого супергетеродинного приемника — наличие зеркальных каналов приема — поскольку фильтры неидеальны, станции принимаются там где реально их нет. Даже если фильтры более-менее неплохие, сигналы мощных станций все равно могут «пролезать» и воспроизводиться в виде помех.
— DDC (direct down conversion) SDR. Это самая современная технология на сегодняшний день. Суть в том, что гетеродин здесь не нужен — сверхбыстрый АЦП с частотой оцифровки порядка 100млн семплов/с оцифровывает непосредственно входной сигнал с эфира, что позволяет (согласно теореме Котельникова/Шеннона) иметь прием до частоты, равной половине частоты дискретизации, т.е. в нашем примере до 50МГц. Битовый поток желающие могут прикинуть самостоятельно — на компьютер оно разумеется, не передается, а обрабатывается в быстродействующей ПЛИС прямо на плате, и нужная полоса (обычно до 6МГц) передается в компьютер. Такой приемник не имеет зеркальных каналов, и в нем все хорошо (кроме цены:).
Верхний предел частоты DDC-приемников обычно ограничен 30-50МГц, т.к. более быстродействующих АЦП в продаже либо нет, либо они стоят космических денег (кстати, сверхбыстрые АЦП вроде попадают в американские ограничения по поставке высокотехнологичных электронных компонентов в страны третьего мира, но это не точно). Их самого топового, что доводилось видеть в прайсах — Flex 6600 с 16bit 245.76Msps АЦП стоит порядка 4000$, т.е. им можно принимать в режиме DDC до частоты 122МГц. Вряд ли мы в скором времени увидим DDC-приемники до гигагерца, хотя хотелось бы. Есть ли что-то быстрее, например для военки — наверно есть, кто знает, напишите в комментариях.
Другой важный параметр — тип подключения. Большинство SDR подключаются по USB, но есть модели и с LAN-портом (Afedri, Colibri):
Последний, но не менее важный параметр — разрядность АЦП. Дешевые RTL SDR имеют всего 8бит АЦП, и этого мало, приемник легко перегружается сильными сигналами, ему крайне желателен аттенюатор и преселектор. SDRPlay имеют 12-бит АЦП, более дорогие модели имеют 14-бит, что достаточно для большинства случаев. Топовыми являются 16-бит АЦП, и в принципе, не каждая антенна способна выдавать диапазон сигналов, способных перегрузить такой приемник.
И наконец, о ценах. Их диапазон весьма варьируется, от 30$ за RTL SDR v3, 150$ за SDRPlay RSP2 до 600$ за ELAD FDM-S2. SDR-трансиверы (способные работать не только на прием, но и на передачу) дороже, SunSDR2 стоит порядка 1500$, FLEX-6400 стоит 2000$.
Отдельно стоит упомянуть платы для цифровой обработки сигналов. Это например, HackRF, LimeSDR, USRP, Red Pitaya. Эти устройства изначально предназначались для опытов с радиосигналами в пределах «рабочего стола», и на дальний прием просто не рассчитаны — ни регулируемого усилителя, ни аттенюатора, ни фильтров в схеме зачастую просто нет. Ловить что-то они будут, но весьма плохо, либо потребуется «доработка напильником». Они также могут работать на передачу, но с мощностью порядка 100мВт (где «м» это милли а не мега;), и зачастую никакого софта кроме пары DLL и SDK для них просто нет.
О том зачем все это нужно, преимуществах и недостатках SDR, и о том, как получить данные из SDR с помощью Python, будет рассказано во второй части.
В одном из комментариев к предыдущим статьям был задан вопрос, можно ли по виду сигнала определить вид его модуляции. Идея рассмотреть основные виды модуляции показалась довольно-таки интересной.
Попробуем разобраться, без формул и максимально просто, как можно передать данные из точки «А» в точку «В».
Orthogonal frequency-division multiplexing (OFDM)
Одним из современных методов модуляции является OFDM. Его суть состоит в том, что отдельные биты сигнала можно передавать параллельно, представляя сигнал в виде независимо работающих частотных каналов (subcarriers), каждый из которых передает свой отдельный бит. Есть определенные математические правила, гарантирующие что каналы не будут пересекаться и могут быть декодированы.
В качестве примера можно привести DRM, сигналы такого формата можно увидеть на вещательных диапазонах, разница между АМ и DRM хорошо видна на спектре:
Это цифровой сигнал шириной 10 КГц, в котором параллельно передается 206 несущих с интервалом 47 Гц. Стандарт DRM (Digital Radio Mondiale) используется для передачи цифрового радио на средних и коротких волнах, просьба не путать с другим стандартом Digital Rights Management.
OFDM используется и в WiFi (802.11a), структура сигнала там сложнее, желающие могут изучить PDF самостоятельно.
Неофициальные обозначения классов излучения, встречающиеся в документации:
F1B - TLX, J3E — SSB, АЗЕ — AM, A1A — CW, A2A — MCW.
После трех основных символов, характеризующих класс излучения, могут использоваться две дополнительные необязательные характеристики:
* четвертое обозначение (буква) — подробные данные о сигнале (сигналах);
* пятое обозначение (буква) — характер уплотнения.
Для полного обозначения излучений перед обозначением класса излучения с помощью четырех знаков можно указать необходимую ширину полосы излучения.
J3E — 2,7 кГц (коммерческое качество)
НЗЕ — 3,0 кГц (коммерческое качество)
АЗЕ — 6,0 кГц (коммерческое качество)
J2B — 304 Гц (при скорости 100 Бод)
F1B — 304 Гц (при скорости 100 Бод)
F3E — 16 кГц (коммерческое качество)
F1C, F3C — 1,98 кГц (при 1100 белых и черных элементарных посылок в секунду).
Читайте также: