step

Системный объект: phased.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 как опорный сигнал к dechirp 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'. Этот синтаксис обычно используется с импульсными сигналами, где согласованный фильтр является реверсом времени переданного сигнала.

Примечание

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

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

H

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

x

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

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

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

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

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

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

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

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

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

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

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

  • Задайте отрицательный SweepSlope значение свойства, с x соответствие downsweeps только. После получения Доплера или значений скорости, разделите их на 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.

Примеры

развернуть все

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

Загрузите данные для импульсного радарного сигнала. Сигнал включает три цели, возвращается. Две цели на расстоянии приблизительно в 2 000 м, в то время как третье на расстоянии приблизительно в 3 500 м. Кроме того, две из целей являются стационарными относительно радара. Третье переезжает от радара на уровне приблизительно 100 м/с.

load RangeDopplerExampleData;

Создайте объект ответа Доплера области значений.

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 object. The axes object with title Range-Doppler Map contains an object of type image.

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

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

load RangeDopplerExampleData;

Создайте объект ответа Доплера области значений.

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

Цель на расстоянии приблизительно в 2 250 метров, и перемещается достаточно быстро, чтобы вызвать эффект Доплера приблизительно-713 Гц.