Отраженный сигнал от обхода пешехода
возвращает отраженный сигнал, Y
= reflect(pedestrian
,X
,ANG
)Y
, от инцидентных сигналов, X
, на пешеходе. Отраженный сигнал является суммой сигналов от всех сегментов тела. ANG
задает направления инцидента и отраженных сигналов относительно сегментов тела.
Вычислите отраженный радарный сигнал от пешехода, проходящего ось X далеко от источника. Радар действует на уровне 24 ГГц и расположен в начале координат. Пешеход первоначально в 100 метрах от радара. Передайте линейную форму волны FM, имеющую полосу пропускания на 300 МГц. Отраженный сигнал получен в данный момент, пешеход начинает перемещаться и в две секунды в движение.
Создайте линейную форму волны FM и канал свободного пространства, чтобы распространить форму волны.
c = physconst('Lightspeed'); bw = 300.0e6; fs = bw; fc = 24.0e9; wav = phased.LinearFMWaveform('SampleRate',fs,'SweepBandwidth',bw); x = wav(); channel = phased.FreeSpace('OperatingFrequency',fc,'SampleRate',fs, ... 'TwoWayPropagation',true);
Создайте пешеходный объект. Установите исходное положение пешехода к 100 м на оси X с первоначальным заголовком вдоль положительного направления X. Пешеходная высота составляет 1,8 м, и пешеход идет на уровне 0,5 метров в секунду.
pedest = backscatterPedestrian( 'Height',1.8, ... 'OperatingFrequency',fc,'InitialPosition',[100;0;0], ... 'InitialHeading',0,'WalkingSpeed',0.5);
Первый вызов move
функция возвращает исходное положение, начальную скорость и начальную ориентацию всех сегментов тела и затем совершенствует пешеходное движение две секунды вперед.
[bppos,bpvel,bpax] = move(pedest,2,0);
Передайте первый импульс пешеходу. Создайте 16 копий сигнала и распространите их к позициям пешеходных сегментов тела. Используйте rangeangle
функция, чтобы вычислить угол падения каждой копии в соответствующем сегменте тела. Затем используйте reflect
функционируйте, чтобы возвратить когерентную сумму всех отраженных сигналов от сегментов тела в пешеходном исходном положении.
radarpos = [0;0;0]; xp = channel(repmat(x,1,16),radarpos,bppos,[0;0;0],bpvel); [~,ang] = rangeangle(radarpos,bppos,bpax); y0 = reflect(pedest,xp,ang);
Получите положение, скорость, и ориентация каждого сегмента тела затем совершенствует пешеходное движение еще две секунды.
[bppos,bpvel,bpax] = move(pedest,2,0);
Передайте и распространите второй импульс к новой позиции пешехода.
radarpos = [0;0;0]; xp = channel(repmat(x,1,16),radarpos,bppos,[0;0;0],bpvel); [~,ang] = rangeangle(radarpos,bppos,bpax); y1 = reflect(pedest,xp,ang);
Фильтр соответствия и график оба из отраженных импульсов. График показывает увеличенную задержку согласованного фильтра выход, когда пешеход уходит.
filter = phased.MatchedFilter('Coefficients',getMatchedFilter(wav)); ymf = filter([y0 y1]); t = (0:size(ymf,1)-1)/fs; plot(t*1e6,abs(ymf)) xlabel('Time (microsec)') ylabel('Magnitude') title('Match-Filtered Reflected Signals') legend('Signal 1','Signal 2')
Увеличьте масштаб и покажите задержки каждого сигнала.
plot(t*1e6,abs(ymf)) xlabel('Time (microsec)') ylabel('Magnitude') title('Matched-Filtered Reflected Signals') axis([50.65 50.7 0 .0026]) legend('Signal 1','Signal 2')
pedestrian
— Пешеходная цельbackscatterPedestrian
объектПешеходная целевая модель в виде backscatterPedestrian
объект.
X
— Инцидентные радарные сигналыИнцидентный радар сигнализирует на каждом сегменте тела в виде M с комплексным знаком-by-16 о матрице. M является количеством отсчетов в сигнале. Смотрите индексы Сегмента Тела для столбца, представляющего инцидентный сигнал в каждом сегменте тела.
Типы данных: double
Поддержка комплексного числа: Да
ANG
— Направления инцидентных сигналовНаправления инцидентных сигналов на сегментах тела в виде с действительным знаком 2 16 матрица. Каждый столбец ANG
задает инцидентное направление сигнала к соответствующей части тела. Каждый столбец принимает форму пары вертикального изменения азимута, [AzimuthAngle;ElevationAngle]
. Модули в градусах. Смотрите индексы Сегмента Тела для столбца, представляющего инцидентное направление в каждом сегменте тела.
Типы данных: double
Y
— Объединенные отраженные радарные сигналыОбъединенные отраженные радарные сигналы, возвращенные как M с комплексным знаком-by-1 вектор-столбец. M равняется тому же количеству отсчетов как во входном сигнале, X
.
Типы данных: double
Поддержка комплексного числа: Да
Индексы сегмента тела задают который столбцы в X
и ANG
содержите данные для определенного сегмента тела. Например, столбец 3 X
содержит выборочные данные для левой голени. Столбец 3 ANG
содержит угол падения сигнала в левой голени.
Сегмент тела | Индекс | |
---|---|---|
Левая нога | 1 | |
Правая нога | 2 | |
Оставленная голень | 3 | |
Правая голень | 4 | |
Оставленное бедро | 5 | |
Правое бедро | 6 | |
Оставленное бедро | 7 | |
Правое бедро | 8 | |
Оставленное предплечье | 9 | |
Правое предплечье | 10 | |
Оставленное плечо | 11 | |
Правое плечо | 12 | |
Оставленное плечо | 13 | |
Правое плечо | 14 | |
Голова | 15 | |
Туловище | 16 |
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.