DUC/DDC SDR техника

Перейти вниз

DUC/DDC SDR техника

Сообщение  UR6EA в Вс Янв 12, 2014 11:52 pm

Что такое SDR(Software-Defined Radio), знают практически все...
Многие успешно эксплуатируют SDR "прямого преобразования".

В последние несколько лет, однако, появилась возможность подачи сигналов с антенны - непосредственно на АЦП!
Появились SDR DDC(Digital Down Conversion), ну и - в передатчиках DUC(Direct Up Conversion) технологии.

Предлагаю обсудить преимущества и недостатки данных технологий!

На глаза попалось весьма интересное обсуждение темы!
На форуме UT2FW, один из разработчиков профессиональной SDR техники(UT4NE) даёт неплохой анализ и описание принципов DDC/DUC систем.

http://forum.ut2fw.ru/viewtopic.php?f=2&t=32&start=15

-.-. --.-   -.-. --.-  - . ... -

DUC/DDC можно и нужно относить к новому поколению КВ аппаратуры. Хотя этому поколению уже лет 15-20 от роду, а сама структура РПУ "АЦП к антенне" с однородными децимирующими фильтрами (сейчас это называется CIC фильтр) и принципом размена частоты дискретизации на разрядность АЦП описывалась ещё в литературе 70-х годов, когда алгоритмы ЦОС реализовывались только аппаратно.

Существенное отличие в том, что DDC РПУ имеет принципиально иную структуру. Квадратурный преобразователь здесь реализуется не в аналоге, а в цифре. А это соответствующая точность, стабильность и идентичность квадратурных каналов, высокое качество цифровой фильтрации.

Отсюда и новое, принципиально недостижимое ранее качество устройства - зеркальный канал давится более чем на 100 дБ, т.е. его практически нет. Также при DDC полностью отсутствует помеха на нулевой частоте. Также при DDC из-за большей избыточности частоты дискретизации АЦП по отношению к полосе полезного сигнала ещё сильнее действует упомянутый выше принцип размена частоты дискретизации на разрядность.

DDC - это лишь одна из возможных схем построения цифрового РПУ по принципу АЦП к антенне и у нее тоже есть свои недостатки. Суть DDC сводится к тому, что из широкополосного комплексного цифрового сигнала (при очень высокой частоте дискретизации) нам нужно получить один единственный целевой сигнал, полоса которого существенно уже полосы исходного сигнала. Отсюда и вырисовывается архитектура DDC, основная задача которой - сужение полосы с одновременным понижением (децимацией) частоты дискретизации. Эта процедура связана с выполнением цифровой фильтрации на высокой скорости потока данных, требует большого вычислительного ресурса и выполняется только аппаратно. В настоящее время наиболее эффективна ее реализация на спец. ПЛИС DSP, со встроенными аппаратными умножителями.

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

Для конкретности пусть частота дискретизации АЦП будет 100 МГц, а ширина целевой полосы выходного сигнала 2 МГц. Берем "с потолка" запас 0,5 МГц на неидеальность децимирующего фильтра, итого получаем частоту дискретизации комплексного выходного сигнала 2,5 МГц. Таким образом, в процессе обработки требуется понизить (децимировать) частоту дискретизации в 40 раз.

На выходе АЦП мы имеем вещественный дискретный сигнал с симметричным относительно нуля периодическим спектром (период 100 МГц). Вся дальнейшая обработка выполняется вычислительными алгоритмами ЦОС, то есть, достаточно точно. Первые этапы реализуются в большинстве современных ЦРПУ аппаратно в ПЛИС FPGA, т.к. требуется очень высокая производительность ЦОС. Однако время бежит, и сейчас алгоритмы ЦОС с достаточно высокой производительностью можно недорого распараллеливать и вычислять на GPU - видеокарте NVidia с поддержкой CUDA, СИ-подобного языка параллельных вычислений. Хватило бы скорости интерфейса закачать туда входной поток данных. В любом случае, такая архитектура относится к классу SDR, т. к. определяется и настраивается программно при помощи прошивок ПЛИС или программного обеспечения GPU/CPU.

Квадратурный преобразователь (DDS и два умножителя) формирует из этого вещественного сигнала комплексный дискретный сигнал и линейно сдвигает его спектр по оси частот так, чтобы центральная частота целевой полосы стала нулевой промежуточной частотой. При этом периодичность спектра сохраняется, но он перестает быть симметричным (это и понятно, сигнал стал комплексным). Цель дальнейшей фильтрации - из широкой 100-мегагерцовой полосы комплексного сигнала вырезать нужные нам 2 МГц в окрестности нулевой частоты с одновременным выполнением децимации. Эта операция выполняется параллельно в обоих I Q каналах независимо друг от друга обычными дискретными (цифровыми) вещественными фильтрами. Фильтры должны быть абсолютно идентичными. Рекомендуется применять нерекурсивные фильтры с симметричными коэффициентами.

Операция децимации заключается в отбрасывании лишних отсчетов дискретного сигнала. Грубо говоря, на выходе из сорока пар исходных отсчетов сигнала должна остаться только одна пара. Так просто их отбросить нельзя, иначе будет эффект спектральных наложений (алайзинг), т.к. по сути децимация - это дискретизация дискретного сигнала. Т.е. перед отбрасыванием мы должны спектр сигнала привести к требованиям по-Котельникову, отфильтровать те частоты, которые превышают новую частоту Найквиста. От рекурсивных фильтров отказываемся, т.к. нам не нужна кривая ФЧХ. Значит, нерекурсивный FIR фильтр должен быть немалого порядка, с хорошим скатом АЧХ - ведь на расфильтровку у нас есть всего 500 кГц запаса.

Анализируя эту ситуацию, мы видим, что у нас нет такого огромного вычислительного ресурса - ведь оба децимирующих FIR фильтра должны работать на полной скорости 100 MSPS. Да и вообще - наша дешевая ПЛИС не имеет столько встроенных умножителей для их реализации. Что делать?

И тут нам на помощь приходит самая простейшая из всех простых форма реализации нерекурсивного фильтра - однородный фильтр. Это такой фильтр, все коэффициенты которого равны единице. То есть, он не требует умножителей совсем! Импульсная характеристика (взвешивающее окно) однородного фильтра - прямоугольная, а АЧХ (модуль преобразования Фурье импульсной характеристики) имеет многолепестковую форму, в которой лепестки образованы функцией вида |sinc x| = |sin x / x|. Затухание АЧХ в средних точках между лепестками бесконечное. Этот фильтр может быть реализован и в рекурсивном виде, так он получается еще проще - для децимирующего фильтра нужен всего один накапливающий сумматор (интегратор). Теория однородного фильтра изложена у Гольденберга на странице 77. Супостаты Гольденберга не читали, и рекурсивную реализацию однородного фильтра они обозвали CIC-фильтром (Cascaded Integral-Comb), или фильтром Хогенауэра. http://www.dsplib.ru/content/cic/cic.html

К нашей радости оказывается, что его АЧХ как нельзя лучше подходит для реализации децимирующего фильтра, т.к. имеет глубокие провалы как раз на тех частотах, где требуется давить "алиасы". См в предыдущем сообщении на средней картинке АЧХ 1-каскадного CIC, рассчитанного для коэффициента децимации 10. Ось частот отградуирована в долях от исходной частоты дискретизации, т.е. 0,5 - это исходная частота Найквиста.

На картинке красным цветом показаны полосы частот, которые нас не интересуют вообще и где АЧХ может быть абсолютно любой (это и не полезная полоса и не алиасы), зеленым цветом близ нулевой частоты показана полезная полоса 1 МГц (на картинке цвет плохо видно), также зеленым цветом вокруг провалов на частотах кратных новой частоте дискретизации 10 МГц (10, 20, 30, 40, 50 МГц) - показаны двухмегагерцовые участки "алиасов". К сожалению, эти провалы АЧХ не столь широки как нам хотелось бы, и на краях полезной полосы алиас первого порядка будет подавлен всего на 19 дБ. Это очень плохо.

Но в нашем арсенале есть испытанное средство - каскадирование. Так, шестикаскадный CIC фильтр с подавлением алиасов на -115 дБ нас уже вполне устроит (см. там же нижнюю картинку). За это мы должны заплатить ухудшившейся неравномерностью 0,9 дБ в целевой полосе, но это пустяки. При необходимости этот небольшой провал АЧХ можно потом скорректировать.

Таким образом, для данного проекта наш дециматор получается двухкаскадным.
В первом каскаде шестикаскадный CIC дециматор делит скорость потока данных на 10, во втором каскаде FIR дециматор подчищает огрехи CIC и делит ещё на 4. Во втором каскаде уже требуется настоящий FIR фильтр с умножителями. Но он будет работать на пониженной в 10 раз частоте по экономичной структурной схеме с работой умножителей в цикле и с пониженными требованиями к АЧХ, т.е. его порядок не будет высоким. И не отнимет у ПЛИС много ресурса. Часто для экономии умножителей применяют такую разновидность FIR фильтра как полудиапазонный (half-band) фильтр. У него половина коэффициентов равны нулю. Ну и, конечно, импульсная характеристика FIR фильтра должна быть обязательно симметричной (это означает, что фильтр имеет симметричные дублирующиеся коэффициенты) - это не только дает нам линейную ФЧХ, но и экономит память в ПЛИС для их хранения.

Если требуется более высокий суммарный коэффициент децимации, то выгодно второй FIR каскад дециматора ещё раздробить на подкаскады. Это нам даст ещё бОльшую экономию по умножителям.

Если наоборот, суммарный коэффициент децимации должен быть малым (на выходе нужна широкая полоса), то CIC уже не подойдет, и надо будет раскошеливаться на FIR с умножителями.

О подводных камнях.

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

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

Не надо скупиться на разрядности умножителей в квадратурном преобразователе по входу LO опорного сигнала. И сам опорный сигнал, формируемый методом прямого цифрового синтеза DDS, должен быть точным, насколько это возможно. Для повышения его точности часто применяют интерполяцию (если в ПЛИС есть лишние умножители). Иногда недостаточно точный опорный сигнал искусственно зашумляют (dithering, дизеризация) для уменьшения спуров, при этом мощность спуров размазывается по частоте, незначительно повышая шумовой пьедестал. Чтобы сэкономить память ПЛИС и не хранить в ней таблицу значений функции косинуса, для вычисления этих значений иногда применяют итерационный алгоритм CORDIC.

DDC можно реализовать и не на ПЛИС и избежать связанных с этим граблей, временнЫх и материальных затрат освоения программных пакетов разработки прошивок FPGA. Промышленность супостатов выпускает готовые микросхемы DDC, которые можно извне программировать в рамках выполняющейся функции (настраивать коэффициенты децимации каскадов, перестраивать синтезатор и т. д.). В этом случае структура DDC ЦРПУ будет состоять из УРЧ, входного ФНЧ, АЦП, микросхемы DDC, контроллера и интерфейса с ЭВМ.

Конечно, в таком коротком очерке нельзя рассмотреть все тонкости и нюансы реализации DDC и особенности аппаратной реализации ЦОС на ПЛИС. Но основной принцип и основные грабли должны быть понятны.



-.-. --.-   -.-. --.-  - . ... -
http://forum.ut2fw.ru/viewtopic.php?f=2&t=32&start=30
avatar
UR6EA

Сообщения : 61
Дата регистрации : 2012-01-18

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: DUC/DDC SDR техника

Сообщение  UT4EK в Чт Янв 16, 2014 11:50 am

Речь идет о преобразовании со 100 до 2.5 МГц. Насколько я понимаю, нужно вводить еще одну ступень обработки с 2.5 МГц до, скажем, 1 кГц. Или я неправ?

73! UT4EK.

UT4EK

Сообщения : 10
Дата регистрации : 2014-01-16

Посмотреть профиль

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения