Backscatter Bicyclist
Libraries:
Radar Toolbox
Description
The Backscatter Bicyclist block simulates backscattered radar signals reflected from a moving bicyclist. The bicyclist consists of the bicycle and its rider. The object models the motion of the bicyclist and computes the sum of all reflected signals from multiple discrete scatterers on the bicyclist. The model ignores internal occlusions within the bicyclist. The reflected signals are computed using a multi-scatterer model developed from a 77-GHz radar system.
Scatterers are located on five major bicyclist components:
bicycle frame and rider
bicycle pedals
upper and lower legs of the rider
front wheel
back wheel
Excluding the wheels, there are 114 scatterers on the bicyclist. The wheels
contain scatterers on the rim and spokes. The number of scatterers on the wheels depends on
the number of spokes per wheel, which can be specified using the
NumWheelSpokes
property.
Examples
Display Micro-Doppler Shift of Moving Bicyclist
Use Simulink® to display the micro-Doppler shift of a moving bicyclist.
- Since R2021b
- Open Script
Ports
Input
X — Incident radar signals
complex-valued M-by-N matrix
Incident radar signals on each bicyclist scatterer, specified as a complex-valued M-by-N matrix. M is the number of samples in the signal. N is the number of point scatterers on the bicyclist and is determined partly from the number of spokes in each wheel, Nws. See Bicyclist Scatterer Indices for the column representing the incident signal at each scatterer.
The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.
Data Types: double
Complex Number Support: Yes
AngH — Bicyclist heading
0.0
| scalar
Heading of the bicyclist, specified as a scalar. Heading is measured in the xy-plane from the x-axis towards the y-axis. Units are in degrees.
Example: -34
Data Types: double
Ang — Directions of incident signals
real-valued 2-by-N vector
Directions of incident signals on the scatterers, specified as a real-valued
2-by-N matrix. Each column of Ang
specifies
the incident direction of the signal to the corresponding scatterer. Each column takes
the form of an [AzimuthAngle;ElevationAngle] pair. Units are in
degrees. See Bicyclist Scatterer Indices for the column
representing the incident arrival angle at each scatterer.
Data Types: double
Speed — Bicyclist speed
nonnegative scalar
Speed of bicyclist, specified as a nonnegative scalar. The motion model limits the speed to 60 m/s. Units are in meters per second.
Example: 8
Data Types: double
Coast — Bicyclist coasting state
false
(default) | true
Bicyclist coasting state, specified as false
or
true
. This property controls the coasting of the bicyclist. If
set to true
, the bicyclist does not pedal but the wheels are still
rotating (freewheeling). If set to false
, the bicyclist is pedaling
and the Gear transmission ratio
parameter determines the ratio of
wheel rotations to pedal rotations.
Tunable: Yes
Data Types: Boolean
Output
Y — Combined reflected radar signals
complex-valued M-by-1 column vector
Combined reflected radar signals, returned as a complex-valued
M-by-1 column vector. M equals the number of
samples in the input signal, X
.
Data Types: double
Complex Number Support: Yes
Pos — Positions of scatterers
real-valued 3-by-N matrix
Positions of scatterers, returned as a real-valued 3-by-N matrix. N is the number of scatterers on the bicyclist. Each column represents the Cartesian position, [x;y;z], of one of the scatterers. Units are in meters. See Bicyclist Scatterer Indices for the column representing the position of each scatterer.
Data Types: double
Vel — Velocity scatterers
real-valued 3-by-N matrix
Velocity of scatterers, returned as a real-valued 3-by-N matrix. N is the number of scatterers on the bicyclist. Each column represents the Cartesian velocity, [vx;vy;vz], of one of the scatterers. Units are in meters per second. See Bicyclist Scatterer Indices for the column representing the velocity of each scatterer.
Data Types: double
Ax — Orientation of scatterers
real-valued 3-by-3 matrix
Orientation axes of scatterers, returned as a real-valued 3-by-3 matrix.
Data Types: double
Parameters
Number of wheel spokes — Number of spokes per wheel
20
(default) | positive integer
Number of spokes per wheel of the bicycle, specified as a positive integer from 3 through 50, inclusive. Units are dimensionless.
Data Types: double
Gear transmission ratio — Ratio of wheel rotations to pedal rotations
1.5
(default) | positive scalar
Ratio of wheel rotations to pedal rotations, specified as a positive scalar. The gear ratio must be in the range 0.5 through 6. Units are dimensionless.
Data Types: double
Signal carrier frequency (Hz) — Carrier frequency
77e9
(default) | positive scalar
Carrier frequency of narrowband incident signals, specified as a positive scalar. Units are in Hz.
Example: 1e9
Data Types: double
Initial position (m) — Initial position of bicyclist
[0;0;0]
(default) | 3-by-1 real-valued vector
Initial position of the bicyclist, specified as a 3-by-1 real-valued vector in the form of [x;y;z]. Units are in meters.
Data Types: double
Initial heading direction (deg) — Initial heading of bicyclist
0
(default) | scalar
Initial heading of the bicyclist, specified as a scalar. Heading is measured in the xy-plane from the x-axis towards y-axis. Units are in degrees.
Data Types: double
Initial bicyclist speed (m/s) — Initial speed of bicyclist
4
(default) | nonnegative scalar
Initial speed of bicyclist, specified as a nonnegative scalar. The motion model limits the speed to a maximum of 60 m/s (216 kph). Units are in meters per second.
Tunable: Yes
Data Types: double
Propagation speed (m/s) — Signal propagation speed
physconst('LightSpeed')
(default) | positive scalar
Signal propagation speed, specified as a real-valued positive scalar. The default
value of the speed of light is the value returned by
physconst('LightSpeed')
.
Data Types: double
RCS pattern — Source of RCS pattern
Auto
(default) | Property
Source of the RCS pattern, specified as either Auto
or
Property
. When you specify Auto
,
the pattern is a 1-by-361 matrix containing values derived from radar measurements taken
at 77 GHz.
Azimuth angles (deg) — Azimuth angles
[-180:180]
(default) | 1-by-P real-valued row vector | P-by-1 real-valued column vector
Azimuth angles used to define the angular coordinates of each column of the matrix specified by the Radar cross section pattern (square meters) parameter. Specify the azimuth angles as a length P vector. P must be greater than two. Angle units are in degrees.
Example: [-45:0.1:45]
Dependencies
To enable this parameter, set the RCS pattern parameter to
Property
.
Data Types: double
Elevation angles (deg) — Elevation angles
[-90:90]
(default) | 1-by-Q real-valued row vector | Q-by-1 real-valued column vector
Elevation angles used to define the angular coordinates of each row of the matrix specified by the Radar cross section pattern (square meters) parameter. Specify the elevation angles as a length Q vector. Q must be greater than two. Angle units are in degrees.
Dependencies
To enable this parameter, set the RCS pattern parameter to
Property
.
Data Types: double
Radar cross section pattern (square meters) — Radar cross-section pattern
1-by-361 real-valued matrix (default) | Q-by-P real-valued matrix | 1-by-P real-valued vector
Radar cross-section (RCS) pattern as a function of elevation and azimuth angle,
specified as a Q-by-P real-valued matrix or a
1-by-P real-valued vector. Q is the length of
the vector defined by the ElevationAngles
property.
P is the length of the vector defined by the
AzimuthAngles
property. Units are in square meters.
You can also specify the pattern as a 1-by-P real-valued vector of azimuth angles for one elevation.
The default value of this property is a 1-by-361 matrix containing values derived
from radar measurements taken at 77 GHz found in
backscatterBicyclist.defaultRCSPattern
.
Dependencies
To enable this parameter, set the RCS pattern parameter to
Property
.
Data Types: double
Simulate using — Block simulation method
Interpreted Execution
(default) | Code Generation
Block simulation, specified as Interpreted Execution
or
Code Generation
. If you want your block to use the
MATLAB® interpreter, choose Interpreted Execution
. If
you want your block to run as compiled code, choose Code
Generation
. Compiled code requires time to compile but usually runs
faster.
Interpreted execution is useful when you are developing and tuning a model. The
block runs the underlying System object™ in MATLAB. You can change and execute your model quickly. When you are satisfied
with your results, you can then run the block using Code
Generation
. Long simulations usually run faster as compiled code than
interpreted execution. You can run repeated executions without recompiling, but if you
change any block parameters, then the block automatically recompiles before
execution.
This table shows how the Simulate using parameter affects the overall simulation behavior.
When the Simulink model is in Accelerator
mode, the block mode specified
using Simulate using overrides the simulation mode.
Acceleration Modes
Block Simulation | Simulation Behavior | ||
Normal | Accelerator | Rapid Accelerator | |
Interpreted Execution | The block executes using the MATLAB interpreter. | The block executes using the MATLAB interpreter. | Creates a standalone executable from the model. |
Code Generation | The block is compiled. | All blocks in the model are compiled. |
For more information, see Choosing a Simulation Mode (Simulink).
More About
Bicyclist Scatterer Indices
Bicyclist scatterer indices define which columns in the scatterer position or
velocity matrices contain the position and velocity data for a specific scatterer. For
example, column 92 of bpos
specifies the 3-D position of one of the
scatterers on a pedal.
The wheel scatterers are equally divided between the wheels. You can determine the total
number of wheel scatterers, N, by subtracting 113 from the output of the
getNumScatterers
function. The number of scatterers per wheel is
Nsw = N/2.
Bicyclist Scatterer Indices
Bicyclist Component | Bicyclist Scatterer Index |
---|---|
Frame and rider | 1 … 90 |
Pedals | 91 … 99 |
Rider legs | 100 … 113 |
Front wheel | 114 … 114 + Nsw - 1 |
Rear wheel | 114 + Nsw … 114 + N - 1 |
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2021a
See Also
Objects
Blocks
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)