Этот пример иллюстрирует, как использовать функцию неоднозначности для анализа форм волны. Он сравнивает область значений и доплеровскую способность нескольких основных форм волны, например, прямоугольной формы волны и линейной и ступенчатой формы FM волны.
В радиолокационной системе выбор формы волны радиолокации играет важную роль, позволяя системе разделять две тесно расположенные цели в области либо скорости. Поэтому часто необходимо изучить форму волны и понять ее разрешение и неоднозначность как в область значений, так и в области скорости. В радаре область значений измеряется с помощью задержки и скорость измеряется с помощью доплеровского сдвига. Таким образом, область значений и скорость используются взаимозаменяемо с задержкой и Допплером.
Чтобы улучшить отношение сигнал/шум (ОСШ), современные радиолокационные системы часто используют согласованный фильтр в цепи приемника. Функция неоднозначности формы волны представляет в точности выход согласованного фильтра, когда заданная форма волны используется в качестве входа фильтра. Это точное представление делает функцию неоднозначности популярным инструментом для разработки и анализа формы волны. Этот подход обеспечивает понимание возможности разрешения как в доменах с задержкой, так и в доплеровских областях для заданной формы волны. На основе этого анализа можно затем определить, является ли форма волны подходящей для конкретного приложения.
В следующих разделах используется функция неоднозначности, чтобы исследовать отношение Диапазон-Допплер для нескольких популярных форм волны. Чтобы установить базовую линию сравнения, предположим, что проектная спецификация радиолокационной системы требует максимальной однозначной области значений 15 км и разрешения области значений 1,5 км. Для простоты также используйте 3e8 м/с в качестве скорости света.
Rmax = 15e3; Rres = 1500; c = 3e8;
На основе уже упомянутых спецификаций проекта частота повторения импульсов (PRF) и полоса пропускания формы волны могут быть вычислены следующим образом.
prf = c/(2*Rmax); bw = c/(2*Rres);
Выберите частоту дискретизации, которая в два раза больше полосы пропускания.
fs = 2*bw;
Самая простая форма волны для радиолокационной системы, вероятно, является прямоугольной формой волны, иногда также называемой формой волны с одной частотой. Для прямоугольной формы волны ширина импульса является взаимной шириной полосы пропускания.
Прямоугольная форма волны может быть создана следующим образом.
rectwaveform = phased.RectangularWaveform('SampleRate',fs,... 'PRF',prf,'PulseWidth',1/bw)
rectwaveform = phased.RectangularWaveform with properties: SampleRate: 200000 DurationSpecification: 'Pulse width' PulseWidth: 1.0000e-05 PRF: 10000 PRFSelectionInputPort: false FrequencyOffsetSource: 'Property' FrequencyOffset: 0 OutputFormat: 'Pulses' NumPulses: 1 PRFOutputPort: false CoefficientsOutputPort: false
Поскольку анализ формы волны всегда выполняется на полных импульсах, сохраните свойство OutputFormat как 'Pulses'. Можно также проверить пропускную способность формы волны с помощью метода полосы пропускания.
bw_rect = bandwidth(rectwaveform)
bw_rect = 1.0000e+05
Получившаяся полоса пропускания соответствует требованию. Теперь сгенерируйте один импульс формы волны, а затем исследуйте его с помощью функции неоднозначности.
wav = rectwaveform(); ambgfun(wav,rectwaveform.SampleRate,rectwaveform.PRF);
На рисунке заметьте, что ненулевая характеристика занимает только около 10% всех задержек, фокусируясь в узкой полосе вокруг задержки 0. Это происходит, потому что форма волны имеет коэффициент заполнения 0,1.
dc_rect = dutycycle(rectwaveform.PulseWidth,rectwaveform.PRF)
dc_rect = 0.1000
При исследовании возможности разрешения формы волны, нулевая задержка и нулевая доплеровская отсечка функции неоднозначности формы волны часто представляют интерес.
Нулевая отсечка Доплера функции неоднозначности возвращает автокорреляционную функцию (ACF) прямоугольной формы волны. Вырез может быть нанесен на график с помощью следующей команды.
ambgfun(wav,rectwaveform.SampleRate,rectwaveform.PRF,'Cut','Doppler');
Доплеровский разрез нуля функции неоднозначности изображает согласованный фильтр ответ цели, когда цель является стационарной. Из графика можно увидеть, что первый нулевой ответ появляется через 10 микросекунд, что означает, что эта форма волны может разрешить две цели, которые находятся на расстоянии не менее 10 микросекунд или 1,5 км друг от друга. Следовательно, реакция соответствует требованию в спецификации проекта.
Сокращение нулевой задержки может быть построено с использованием аналогичного синтаксиса.
ambgfun(wav,rectwaveform.SampleRate,rectwaveform.PRF,'Cut','Delay');
Заметьте, что возвращенный ответ нулевой задержки довольно широк. Первый нуль не появляется до ребра, что соответствует доплеровскому сдвигу 100 кГц. Таким образом, если две мишени находятся в одинаковой области значений, они должны иметь различие 100 кГц в доплеровской области, подлежащей разделению. Если предположить, что радар работает на 1 ГГц, согласно расчету ниже, такое разделение соответствует разности оборотов 30 км/с. Поскольку это число так велико, по существу, нельзя разделить две цели в области Доплера, используя эту систему.
fc = 1e9; deltav_rect = dop2speed(100e3,c/fc)
deltav_rect = 30000
На данной точке может стоить упомянуть еще один вопрос с прямоугольной формой волны. Для прямоугольной формы волны разрешение в области значений определяется шириной импульса. Таким образом, чтобы достичь хорошего разрешения области значений, системе нужно принять очень маленькую ширину импульса. В то же время система также должна быть способна отправлять достаточно энергии в пространство, чтобы можно было надежно обнаружить возвращенное эхо. Следовательно, узкая ширина импульса требует очень высокой пиковой степени в передатчике. На практике производство такой степени может быть очень дорогим.
Из предыдущего раздела видно, что доплеровское разрешение для одного прямоугольного импульса довольно плохое. На самом деле Допплеровское разрешение для одного прямоугольного импульса задается взаимностью его ширины импульса. Напомним, что разрешение задержки прямоугольной формы волны задается ее шириной импульса. По-видимому, существует конфликт интересов между областью значений и доплеровскими разрешениями прямоугольной формы волны.
Основной проблемой здесь является то, что и задержка, и разрешение Доплера зависят от ширины импульса противоположными способами. Поэтому одним из способов решить эту проблему является появление формы волны, которая развязывает эту зависимость. Затем можно улучшить разрешение в обеих областях одновременно.
Линейная FM-форма волны - это именно такая форма волны. Разрешение области значений линейной формы FM-волны больше не зависит от ширины импульса. Вместо этого разрешение области значений определяется шириной полосы пропускания.
В линейной форме волны FM, поскольку разрешение в области значений теперь определяется шириной полосы пропускания, система может обеспечить большую ширину импульса. Следовательно, уменьшается потребность в степени. Между тем, из-за большей ширины импульса разрешение Доплера улучшается. Это улучшение происходит, хотя доплеровское разрешение линейной FM волны все еще задается взаимной шириной импульса.
Теперь подробно исследуйте линейную FM-форму волны. Линейная форма FM волны, которая обеспечивает желаемое разрешение в области значений, может быть построена следующим образом.
lfmwaveform = phased.LinearFMWaveform('SampleRate',fs,... 'SweepBandwidth',bw,'PRF',prf,'PulseWidth',5/bw)
lfmwaveform = phased.LinearFMWaveform with properties: SampleRate: 200000 DurationSpecification: 'Pulse width' PulseWidth: 5.0000e-05 PRF: 10000 PRFSelectionInputPort: false SweepBandwidth: 100000 SweepDirection: 'Up' SweepInterval: 'Positive' Envelope: 'Rectangular' FrequencyOffsetSource: 'Property' FrequencyOffset: 0 OutputFormat: 'Pulses' NumPulses: 1 PRFOutputPort: false CoefficientsOutputPort: false
Ширина импульса в 5 раз больше, чем у прямоугольной формы волны, используемой в более ранних разделах этого примера. Заметьте, что полоса пропускания линейной формы FM-волны совпадает с прямоугольной формой волны.
bw_lfm = bandwidth(lfmwaveform)
bw_lfm = 100000
Доплеровский нуль линейной формы волны FM появляется на следующем графике.
wav = lfmwaveform(); ambgfun(wav,lfmwaveform.SampleRate,lfmwaveform.PRF,'Cut','Doppler');
Из предыдущего рисунка можно увидеть, что, хотя ответ теперь имеет боковые колеса, первое ядро все еще появляется в 10 микросекундах, поэтому разрешение области значений сохранено.
Можно также построить график нулевой задержки линейной формы волны FM. Заметьте, что первый нуль в доплеровской области теперь составляет около 20 кГц, что составляет 1/5 от исходной прямоугольной формы волны.
ambgfun(wav,lfmwaveform.SampleRate,lfmwaveform.PRF,'Cut','Delay');
Следуя той же процедуре, что и для прямоугольной формы волны в более ранних разделах этого примера, можно вычислить, что разделение доплеровской частоты 20 кГц переводится в разность оборотов 6 км/с. Это разрешение в 5 раз лучше прямоугольной формы волны. К сожалению, такое разрешение все еще недостаточно.
deltav_lfm = dop2speed(20e3,c/fc)
deltav_lfm = 6000
Может быть также интересно увидеть 3-D график функции неоднозначности для линейной формы волны FM. Если вы хотите увидеть 3-D график, отличный от формата контура, вы можете просто получить возвращенную функцию неоднозначности, и тогда plot использует ваш любимый формат. Для примера следующий фрагмент генерирует объемную поверхностную диаграмму линейной функции неоднозначности формы FM.
[afmag_lfm,delay_lfm,doppler_lfm] = ambgfun(wav,lfmwaveform.SampleRate,... lfmwaveform.PRF); surf(delay_lfm*1e6,doppler_lfm/1e3,afmag_lfm,'LineStyle','none'); axis tight; grid on; view([140,35]); colorbar; xlabel('Delay \tau (us)');ylabel('Doppler f_d (kHz)'); title('Linear FM Pulse Waveform Ambiguity Function');
Заметьте, что по сравнению с функцией неоднозначности прямоугольной формы волны, функция неоднозначности линейной формы FM слегка наклонена. Наклон обеспечивает улучшенное разрешение при нулевом срезе задержки. Функция неоднозначности как прямоугольной формы волны, так и линейной FM волны имеют форму длинного узкого ребра. Этот вид функции неоднозначности часто называют функцией неоднозначности ножевого ребра».
Прежде чем приступить к дальнейшему улучшению доплеровского разрешения, стоит посмотреть на важный рисунок заслуг, используемых в анализе формы волны. Произведение ширины импульса и полосы пропускания формы волны называется продуктом временной полосы сигнала. Для прямоугольной формы волны продукт временной полосы всегда равняется 1. Для линейной формы волны FM из-за развязки полосы пропускания и ширины импульса временная полоса может быть больше 1. Только что используемая форма волны имеет продукт временной полосы 5. Напомним, что путем сохранения того же разрешения области значений, что и прямоугольная форма волны, линейная FM форма волны достигает доплеровского разрешения, которое в 5 раз лучше.
По состоянию на предыдущий раздел доплеровское разрешение линейной FM-волны все еще довольно плохое. Одним из способов улучшить это разрешение является дальнейшее расширение ширины импульса. Однако такой подход не сработает по двум причинам:
Коэффициент заполнения формы волны составляет уже 50%, что близко к практическому пределу. (Даже если можно было бы, скажем, использовать 100% коэффициент заполнения, это все еще только фактор улучшения 2, который далек от того, чтобы решить проблему.)
Более длинная ширина импульса означает большой минимальный обнаруживаемую область значений, который также нежелателен.
Если невозможно расширить ширину импульса в пределах одного импульса, нужно смотреть за этот контур. Действительно, в современных радиолокационных системах Доплеровская обработка часто использует когерентную последовательность импульсов. Чем больше импульсов в последовательность импульсов, тем более мелкое допплеровское разрешение.
Чтобы проиллюстрировать идею, затем попробуйте пятиимпульсный всплеск.
release(lfmwaveform); lfmwaveform.NumPulses = 5; wav = lfmwaveform();
Во-первых, постройте нуль отсечения Доплера функции неоднозначности.
ambgfun(wav,lfmwaveform.SampleRate,lfmwaveform.PRF,'Cut','Doppler');
Заметьте, что для нулевого доплеровского разреза первое ядро все еще составляет около 10 микросекунд, поэтому разрешение области значений одинаковое. Следует немедленно увидеть наличие многих боковых областей области области значений. Эти боковые элементы являются компромиссом для использования последовательности импульсов. Расстояние между мейнлобом и первым боковым элобом является длиной одного полного импульса, то есть обратным PRF. Как видно, это значение соответствует максимальной однозначной области значений.
T_max = 1/prf
T_max = 1.0000e-04
Отсечение с нулевой задержкой также имеет боковые колеса из-за последовательности импульсов. Расстояние между мейнлобом и первым боковым элементом является PRF. Таким образом, это значение является максимально однозначным Доплером, который может обнаружить радиолокационная система. Можно также вычислить соответствующую максимальную однозначную скорость.
ambgfun(wav,lfmwaveform.SampleRate,lfmwaveform.PRF,'Cut','Delay');
V_max = dop2speed(lfmwaveform.PRF,c/fc)
V_max = 3000
Однако заметьте, что мейнлобе сейчас намного острее. Тщательное исследование показывает, что первый нуль находится примерно в 2 кГц. Это Допплеровское разрешение может быть фактически получено следующим уравнением,
deltaf_train = lfmwaveform.PRF/5
deltaf_train = 2000
т.е. разрешение теперь определяется длиной всей нашей последовательности импульсов, а не шириной импульса одного импульса. Соответствующее разрешение скорости теперь
deltav_train = dop2speed(deltaf_train,c/fc)
deltav_train = 600
что значительно лучше. Что более важно, чтобы получить еще более мелкое разрешение скорости, можно просто увеличить количество импульсов, входящих в последовательность импульсов. Конечно, количество импульсов, которые можно иметь в пакете, зависит от того, можно ли сохранить когерентность на всю длительность, но это обсуждение выходит за рамки этого примера.
Можно заметить, что в разрезе с нулевой задержкой расстояние между peaks больше не является постоянным, особенно для более удаленных боковых элементов. Это отсутствие постоянства происходит, потому что функция неоднозначности линейной формы FM наклонена. Следовательно, оценка разделения боковых элементов при нулевой задержке может ввести в заблуждение. Неоднозначность, вызванная последовательностью импульсов, вероятно, лучше всего рассматривать в контурной форме, как показывает следующий пример кода. Заметьте, что вдоль ребра функции неоднозначности эти боковые элементы действительно равномерно разнесены.
ambgfun(wav,lfmwaveform.SampleRate,lfmwaveform.PRF);
Из-за всех боковых желобов этот вид функции неоднозначности называется функцией неоднозначности гвоздей.
Линейная форма FM-волны очень широко используется в радиолокационных системах. Однако это создает некоторые проблемы для оборудования. С одной стороны, оборудование должны иметь возможность прокрутки всей частотной области значений за один импульс. Использование этой формы волны также затрудняет построение приемника, потому что он должен включать всю полосу пропускания.
Чтобы избежать этих проблем, можно вместо этого использовать ступенчатую FM-форму волны. Ступенчатая FM сигнал состоит из нескольких смежных CW импульсов. Каждый импульс имеет разную частоту и вместе все импульсы занимают целую полосу пропускания. Следовательно, в импульсе больше нет свипа, и приемнику нужно только вместить полосу пропускания, которая является взаимной ширины импульса одного импульса.
Затем настройте такую ступенчатую FM форму волны.
stepfmwaveform = phased.SteppedFMWaveform('SampleRate', fs,... 'PulseWidth',5/bw,'PRF',prf,'NumSteps',5,'FrequencyStep',bw/5,... 'NumPulses',5)
stepfmwaveform = phased.SteppedFMWaveform with properties: SampleRate: 200000 DurationSpecification: 'Pulse width' PulseWidth: 5.0000e-05 PRF: 10000 PRFSelectionInputPort: false FrequencyStep: 20000 NumSteps: 5 FrequencyOffsetSource: 'Property' FrequencyOffset: 0 OutputFormat: 'Pulses' NumPulses: 5 PRFOutputPort: false CoefficientsOutputPort: false
wav = stepfmwaveform();
Разрез с нулем Доплера, разрез с нулем задержки и контурный график функции неоднозначности показаны ниже.
ambgfun(wav,stepfmwaveform.SampleRate,stepfmwaveform.PRF,'Cut','Doppler');
ambgfun(wav,stepfmwaveform.SampleRate,stepfmwaveform.PRF,'Cut','Delay');
ambgfun(wav,stepfmwaveform.SampleRate,stepfmwaveform.PRF);
Из этих рисунков можно сделать следующие наблюдения:
Первый нуль задержки все еще составляет 10 микросекунд, поэтому разрешение области значений сохраняется. Заметьте, что, поскольку каждый импульс отличается, боковые колеса в области области значений исчезают.
Первый нуль в Доплере все еще находится на 2 кГц, поэтому он имеет такое же разрешение Доплера, как 5-импульсная линейная последовательность импульсов FM. Боковые белки в доплеровской области все еще присутствуют, как в случае линейного FM- последовательности импульсов.
Контурный график ступенчатой FM волны также является кроватью типа ногтей. Хотя однозначная область значений сильно расширен, однозначный Допплер все еще ограничен PRF формы волны.
Что касается недостатка ступенчатой формы FM волны, то обработка становится более сложной.
Другой важной группой форм волны являются закодированные по фазе формы волны, среди которых широко используемые таковые являются кодами Баркера, кодами Фрэнка и кодами Задоффа-Чу. В закодированной по фазе форме волны импульс разделяется на несколько субпульсов, часто называемых чипами, и каждый чип модулируется заданной фазой. Все закодированные в фазе формы волны имеют хорошие автокорреляционные свойства, которые делают их хорошими кандидатами для импульсного сжатия. Таким образом, если принята закодированная в фазе форма волны, это может снизить вероятность перехвата, когда энергия распределена в чипы. В приемнике правильно сконфигурированный согласованный фильтр мог подавить шум и достичь хорошего разрешения области значений.
Код Баркера, вероятно, является наиболее хорошо известной фазовой кодированной формой волны. Закодированная Баркером форма волны может быть построена с помощью следующей команды.
barkerwaveform = phased.PhaseCodedWaveform('Code','Barker','NumChips',7,... 'SampleRate', fs,'ChipWidth',1/bw,'PRF',prf)
barkerwaveform = phased.PhaseCodedWaveform with properties: SampleRate: 200000 Code: 'Barker' ChipWidth: 1.0000e-05 NumChips: 7 PRF: 10000 PRFSelectionInputPort: false FrequencyOffsetSource: 'Property' FrequencyOffset: 0 OutputFormat: 'Pulses' NumPulses: 1 PRFOutputPort: false CoefficientsOutputPort: false
wav = barkerwaveform();
Этот код Баркера состоит из 7 фишек. Его нулевой Допплеровский разрез функции неоднозначности задан как
ambgfun(wav,barkerwaveform.SampleRate,barkerwaveform.PRF,'Cut','Doppler');
Из рисунка видно, что нулевой доплеровский разрез функции неоднозначности кода Баркера имеет интересное свойство. Все его боковые стенки имеют одинаковую высоту и составляют в точности 1/7 от мэнлоба. Фактически, код Баркера длины N может обеспечить пиковое подавление N, которое помогает различать тесно расположенные цели в области значений. Это важнейшее свойство кода Баркера. Разрешение в области значений приблизительно 10 микросекунд, то же, что и ширина чипа.
Существует две проблемы, связанные с кодом Баркера. Во-первых, известно только семь кодов Баркера. Их длины 2, 3, 4, 5, 7, 11 и 13. Считается, что других кодов Баркера нет. Во-вторых, допплеровская эффективность кода Баркера довольно плоха. Хотя функция неоднозначности имеет хорошую форму при нулевом доплеровском разрезе, как только происходит некоторый доплеровский сдвиг, уровень бокового колеса значительно увеличивается. Увеличение можно увидеть на следующем контурном графике.
ambgfun(wav,barkerwaveform.SampleRate,barkerwaveform.PRF);
Этот пример сравнил несколько популярных форм волны, включая прямоугольную форму волны, линейную форму FM волны, ступенчатую форму FM волны и закодированную Баркером форму волны. Также показано, как использовать функцию неоднозначности для анализа этих осциллограмм и определения их возможностей разрешения.
[1] Надав Леванон и Эли Мозесон, Radar Signals, Wiley-IEEE Press, 2004.
[2] Марк Ричардс, Основы радиолокационной обработки сигналов, McGraw Hill, 2005.