шаг

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

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

Синтаксис

[resp,rnggrid,dopgrid] = step(H,x)
[resp,rnggrid,dopgrid] = step(H,x,xref)
[resp,rnggrid,dopgrid] = step(H,x,coeff)
[resp,rnggrid,dopgrid] = step(H,___,prf)

Описание

Примечание

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

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства (MATLAB) и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать метод 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');

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

Загрузите данные для сигнала 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 Гц.