step

Системный объект: фазированный. RangeDopplerResponse
Пакет: поэтапный

Вычислите диапазон-Допплеровский ответ

Описание

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной Системной object™, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

[resp,rnggrid,dopgrid] = step(H,x) вычисляет частотно-доплеровскую характеристику входного сигнала, x. resp - комплексная доплеровская реакция диапазона. rnggrid и dopgrid обеспечивают область значений выборок и доплеровские выборки, соответственно, при которых оценивают ответ доплеровского диапазона. Этот синтаксис доступен, когда вы устанавливаете RangeMethod свойство к 'FFT' и DechirpInput свойство к false. Этот синтаксис чаще всего используется с сигналами FMCW.

[resp,rnggrid,dopgrid] = step(H,x,xref) использует xref как опорный сигнал на децирп x. Этот синтаксис доступен, когда вы устанавливаете RangeMethod свойство к 'FFT' и DechirpInput свойство к true. Этот синтаксис чаще всего используется с сигналами FMCW, где опорный сигнал обычно является переданным сигналом.

[resp,rnggrid,dopgrid] = step(H,x,coeff) использует coeff как коэффициенты согласованного фильтра. Этот синтаксис доступен, когда вы устанавливаете RangeMethod свойство к 'Matched filter'. Этот синтаксис чаще всего используется с импульсными сигналами, где согласованный фильтр является реверсом времени переданного сигнала.

[resp,rnggrid,dopgrid] = step(H,___,prf) использует prf как частоту повторения импульса. Эти синтаксисы доступны, когда вы устанавливаете PRFSource свойство к 'Input port'. Этот синтаксис чаще всего используется с импульсными сигналами, где согласованный фильтр является реверсом времени переданного сигнала.

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует нетронутые свойства и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете свойство nontunable или спецификацию входа, системный объект выдает ошибку. Чтобы изменить нетронутые свойства или входы, необходимо сначала вызвать release метод для разблокировки объекта.

Входные параметры

H

Диапазон-Допплеровский ответ Системного объекта

x

Входные данные, заданные как комплексно-значимая K -by- L матрица или K -by- N -by- L массив, где

  • K обозначает количество быстрых выборок.

  • N обозначает количество каналов, таких как лучи или датчики. Когда N является единичным, присутствует только один канал данных.

  • L обозначает количество импульсов для согласованной обработки согласованного фильтра и количество свипов для обработки БПФ.

Конкретные требования зависят от синтаксиса:

  • В синтаксисе step(H,x), каждый столбец x представляет дешифрованный сигнал от одного частотного свипа. Функция принимает все сдвиги в x являются последовательными.

  • В синтаксисе step(H,x,xref), каждый столбец x представляет сигнал от одного частотного свипа. Функция принимает все сдвиги в x являются последовательными и не являются дешифрованными.

  • В синтаксисе step(H,x,coeff), каждый столбец матрицы x представляет сигнал от одного импульса. Функция принимает все импульсы в x являются последовательными.

    Размер первой размерности матрицы входа может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной частотой повторения импульса.

В случае формы волны FMCW с треугольным сдвигом сдвиги чередуются между положительным и отрицательным наклонами. Однако phased.RangeDopplerResponse предназначен для обработки последовательных выступов того же уклона. Применение phased.RangeDopplerResponse для системы треугольника-протягивания используйте один из следующих подходов:

  • Задайте положительное SweepSlope значение свойства, с x соответствует только восходящим ветрам. После получения Доплера или значений скорости разделите их на 2.

  • Задайте отрицательное SweepSlope значение свойства, с x соответствует только нисходящим потокам. После получения Доплера или значений скорости разделите их на 2.

Можно задать этот аргумент как одинарную или двойную точность.

xref

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

coeff

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

prf

Частота повторения импульсов, заданная как положительная скалярная величина. prf должно быть меньше или равно частоте дискретизации, указанной в SampleRate свойство, деленное на длину первой размерности входного сигнала, x. Можно задать этот аргумент как одинарную или двойную точность.

Чтобы включить этот аргумент, установите PRFSource свойство к 'Input port'.

Выходные аргументы

resp

Диапазонно-доплеровская реакция x, возвращенный как комплексная M -by- P матрица или M -by- N -by- P массив. Значения P и M зависят от синтаксиса. N имеет то же значение что и для входного параметра, x.

СинтаксисЗначения M и P
step(H,x)

Если вы задаете RangeFFTLength свойство к 'Auto'M = K, длина первой размерности x. В противном случае M равняется значению RangeFFTLength свойство.

Если вы задаете DopplerFFTLength свойство к 'Auto'P = L, длина последней размерности x. В противном случае P равняется значению DopplerFFTLength свойство.

step(H,x,xref)

M - частное от длины первой размерности x разделенный на значение DecimationFactor свойство.

Если вы задаете DopplerFFTLength свойство к 'Auto'P = L, длина последней размерности x. В противном случае P равняется значению DopplerFFTLength свойство.

step(H,x,coeff)

M - количество строк x.

Если вы задаете DopplerFFTLength свойство к 'Auto'P = L, длина последней размерности x. В противном случае P равняется значению DopplerFFTLength свойство.

rnggrid

Диапазонные выборки, на которых оценивают диапазонно-допплеровскую реакцию. rnggrid является вектор-столбец длины M.

dopgrid

Доплеровские выборки или скоростные выборки, при которых оценивают диапазонный допплеровский ответ. dopgrid является вектор-столбец длины P. Будь то dopgrid содержит Допплер или скорость выборок зависит от DopplerOutput свойство H.

Примеры

расширить все

Вычислите диапазонно-допплеровскую характеристику импульсного радиолокационного сигнала с помощью согласованного фильтра.

Данные нагрузки для импульсного радиолокационного сигнала. Сигнал включает три целевых возврата. Две цели находятся примерно в 2000 м, а третья - примерно в 3500 м. В сложение две цели неподвижны относительно радара. Третий движется от радара со скоростью около 100 м/с.

load RangeDopplerExampleData;

Создайте объект ответа range-Doppler.

response = phased.RangeDopplerResponse('DopplerFFTLengthSource','Property', ...
   'DopplerFFTLength',RangeDopplerEx_MF_NFFTDOP, ...
   'SampleRate',RangeDopplerEx_MF_Fs,'DopplerOutput','Speed', ...
   'OperatingFrequency',RangeDopplerEx_MF_Fc);

Вычислите частотный допплеровский ответ.

[resp,rng_grid,dop_grid] = response(RangeDopplerEx_MF_X, ...
    RangeDopplerEx_MF_Coeff);

Постройте график доплеровской характеристики диапазона.

imagesc(dop_grid,rng_grid,mag2db(abs(resp)));
xlabel('Speed (m/s)');
ylabel('Range (m)');
title('Range-Doppler Map');

Figure contains an axes. The axes with title Range-Doppler Map contains an object of type image.

Оцените Доплер и значения области значений одной цели из диапазона-Доплеровского ответа.

Загрузка данных для сигнала FMCW, который еще не был дешифрован. Сигнал содержит возврат от одной цели.

load RangeDopplerExampleData;

Создайте объект ответа range-Doppler.

hrdresp = phased.RangeDopplerResponse(...
   'RangeMethod','FFT',...
   'PropagationSpeed',RangeDopplerEx_Dechirp_PropSpeed,...
   'SampleRate',RangeDopplerEx_Dechirp_Fs,...
   'DechirpInput',true,...
   'SweepSlope',RangeDopplerEx_Dechirp_SweepSlope);

Получите данные доплеровской реакции диапазона.

[resp,rng_grid,dop_grid] = step(hrdresp,...
   RangeDopplerEx_Dechirp_X,RangeDopplerEx_Dechirp_Xref);

Оцените область значений и Допплер, найдя местоположение максимального отклика.

[x_temp,idx_temp] = max(abs(resp));
[~,dop_idx] = max(x_temp);
rng_idx = idx_temp(dop_idx);
dop_est = dop_grid(dop_idx)
dop_est = -712.8906
rng_est = rng_grid(rng_idx)
rng_est = 2250

Цель находится примерно в 2250 метрах, и движется достаточно быстро, чтобы вызвать доплеровский сдвиг приблизительно -713 Гц.