Положение, скорость и ориентация движущегося велосипедиста
Постройте графики положения всех рассеивателей бициклистов. Предположим, что на каждое колесо приходится 15 спиц.
Создайте backscatterBicyclist
объект для радиолокационной системы, работающей на 77 ГГц и имеющей полосу пропускания 300 МГц. Частота дискретизации в два раза превышает пропускную способность. Велосипедист первоначально находится в 5 метрах от радара.
bw = 300e6; fs = 2*bw; fc = 77e9; rpos = [0;0;0]; bpos = [5;0;0]; bicyclist = backscatterBicyclist( ... 'OperatingFrequency',fc,'NumWheelSpokes',15, ... 'InitialPosition',bpos);
Получите начальное положение рассеивателей и продвиньте движение на 1 секунду.
[bpos,bvel,bax] = move(bicyclist,1,0);
Получите количество рассеивателей и индексы рассеивателей колес.
N = getNumScatterers(bicyclist); Nsw = (N-114+1)/2; idxfrontwheel = (114:(114 + Nsw - 1)); idxrearwheel = (114 + Nsw):N;
Постройте график местоположения рассеивателей.
plot3(bpos(1,1:90),bpos(2,1:90),bpos(3,1:90), ... 'LineStyle','none','Color',[0.5,0,0],'Marker','.') axis equal hold on plot3(bpos(1,91:99),bpos(2,91:99),bpos(3,91:99), ... 'LineStyle','none','Color',[0,0,0.7],'Marker','.') plot3(bpos(1,100:113),bpos(2,100:113),bpos(3,100:113), ... 'LineStyle','none','Color',[0,0,0],'Marker','.') plot3(bpos(1,idxfrontwheel),bpos(2,idxfrontwheel),bpos(3,idxfrontwheel), ... 'LineStyle','none','Color',[0,0.5,0],'Marker','.') plot3(bpos(1,idxrearwheel),bpos(2,idxrearwheel),bpos(3,idxrearwheel), ... 'LineStyle','none','Color',[0.5,0.5,0.5],'Marker','.') hold off legend('Frame and rider','Pedals','Rider legs','Front wheel','Rear wheel')
Отобразите анимацию велосипедиста, катающегося в четверти круга. Используйте значения свойств по умолчанию backscatterBicyclist
объект. Движение обновляется с интервалом 30 миллисекунд на 500 шагов.
dt = 0.03; M = 500; angstep = 90/M; bicycle = backscatterBicyclist; for m = 1:M [bpos,bvel,bang] = move(bicycle,dt,angstep*m); plot(bicycle) end
bicyclist
- Бициклистская мишеньbackscatterBicyclist
объектВелосипедист, указанный как backscatterBicyclist
объект.
T
- Длительность следующего интервала движенияДлительность следующего интервала движения, заданная как положительная скалярная величина. Положения рассеивателя и скорости и ориентация бициклиста обновляются в течение этой временной длительности. Модули указаны в секундах.
Пример: 0.75
Типы данных: double
angh
- Курс велосипедиста0.0
| скалярКурс велосипедиста, указанный как скаляр. Курс измеряется в xy -плоске от оси x -в направлении оси y -. Модули указаны в степенях.
Пример: -34
Типы данных: double
speed
- Скорость бициклистаSpeed
свойство (по умолчанию) | неотрицательным скаляромСкорость бициклиста, заданная как неотрицательный скаляр. Модель движения ограничивает скорость до 60 м/с. Модули указаны в метрах в секунду. Также можно задать скорость бициклиста с помощью Speed
свойство backscatterBicyclist
объект.
Пример: 8
Типы данных: double
coast
- Установить бициклистское состояние накатаCoast
свойство (по умолчанию) | false
| true
Установите бициклистское состояние наката, заданное как false
или true
. Если установлено значение true
, велосипедист не педалирует, но колеса все еще вращаются (свободное плавание). Если установлено значение false
, велосипедист педалирует, и GearTransmissionRatio
определяет отношение вращений колеса к вращениям педали. В качестве альтернативы можно задать состояние бициклиста с помощью Coast
свойство backscatterBicyclist
объект.
Типы данных: logical
bpos
- Положения рассеивателей велосипедистовПоложения рассеивателей бициклистов, возвращенные как действительная 3-бай- N матрица. Каждый столбец представляет Декартову позицию [x; y; z] одного из бициклистов-рассеивателей. N представляет количество рассеивателей и может быть получено с помощью getNumScatterers
функция объекта. Модули измерения указаны в метрах. Столбец, представляющий положение каждого разбрасывателя, см. в разделе Индексы велосипедного разбрасывателя.
Типы данных: double
bvel
- Скорости рассеяния бициклистовСкорости рассеивателей бициклистов, возвращенные как действительная 3-бай- N матрица. Каждый столбец представляет Декартову скорость, [vx; vy; vz], одного из бициклистов-рассеивателей. N представляет количество рассеивателей и может быть получено с помощью getNumScatterers
функция объекта. Модули указаны в метрах в секунду. См. Bicycle Scatterer Indicesfor, столбец, представляющий скорость каждого рассеяния.
Типы данных: double
bax
- Ось ориентации велосипедистаОриентационные оси бициклиста, возвращенные как действительная матрица 3 на 3. Модули безразмерны.
Типы данных: double
Индексы бициклиста-рассеивателя определяют, какие столбцы в матрицах положения или скорости рассеивателя содержат данные о положении и скорости для определенного рассеивателя. Для примера, столбец 92 bpos
задает 3-D положение одного из рассеивателей на педали.
Рассеиватели колес разделены поровну между колесами. Можно определить общее количество рассеивателей колес, N, путем вычитания 113 из выхода getNumScatterers
функция. Количество рассеивателей на колесо N sw = N/2.
Индексы бициклиста-рассеивателя
Компонент велосипедиста | Индекс бициклиста-рассеивателя |
---|---|
Система координат и всадник | 1 … 90 |
Педали | 91 … 99 |
Ноги всадника | 100 … 113 |
Переднее колесо | 114 … 114 + N sw - 1 |
Заднее колесо | 114 + N sw... 114 + N - 1 |
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.