Main Content

cranerainpl

RF signal attenuation due to rainfall using Crane model

Description

L = cranerainpl(range,freq,rainrate) returns the signal attenuation, L, due to rain based on the Crane rain model. Signal attenuation is a function of the signal path length, range, the signal frequency, freq, and the rain rate, rainrate. The rain rate is defined as the long-term statistical rain rate. The attenuation model applies only for frequencies from 1 GHz to 1000 GHz and is valid for ranges up to 22.5 km. The Crane model accounts for the cellular nature of rainstorms. For more information about the Crane rain model, see [1].

example

L = cranerainpl(range,freq,rainrate,elev) also specifies the elevation angle, elev, of the signal path.

example

L = cranerainpl(range,freq,rainrate,elev,tau) also specifies the polarization tilt angle, tau, of the signal.

example

Examples

collapse all

Use the Crane rain model to compute the signal attenuation caused by rain for a 20 GHz signal sent over a distance of 10 km. Use rain rates of 10.0 and 100.0 mm/hr.

First, set the rain rate to 10 mm/hr.

rr = 10.0;
L = cranerainpl(10e3,20.0e9,rr)
L = 
12.5988

Repeat the computation using a rain rate of 100.0 mm/hr.

rr = 100.0;
L = cranerainpl(10e3,20.0e9,rr)
L = 
73.1912

Plot the signal attenuation due to rain for signals in the frequency range from 1 to 1000 GHz. Use the Crane model to compute the attenuation for a rain rate of 30.0 mm/hr and a signal path distance of 10 km.

rr = 30.0;
freq = [1:1000]*1e9;
L = cranerainpl(10e3,freq,rr);
semilogx(freq/1e9,L)
grid
xlabel('Frequency (GHz)')
ylabel('Attenuation (dB)')

Figure contains an axes object. The axes object with xlabel Frequency (GHz), ylabel Attenuation (dB) contains an object of type line.

Plot the signal attenuation due to rain as a function of elevation angle. Elevation angles vary from 0 to 90 degrees. Assume a path distance of 10 km and a signal frequency of 10 GHz. The rain rate is 100 mm/hr.

rr = 100.0;

Set the elevation angles, frequency, and path length.

elev = [0:1:90];
freq = 10.0e9;
rng = 10e3*ones(size(elev));

Compute and plot the loss.

L = cranerainpl(rng,freq,rr,elev);
plot(elev,L)
grid
xlabel('Path Elevation (degrees)')
ylabel('Attenuation (dB)')

Figure contains an axes object. The axes object with xlabel Path Elevation (degrees), ylabel Attenuation (dB) contains an object of type line.

Plot the signal attenuation due to rainfall as a function of the polarization tilt angle. Assume a path distance of 10 km, a signal frequency of 10 GHz, and a path elevation angle of 0 degrees. Set the rainfall rate to 70 mm/hour. Plot the signal attenuation against polarization tilt angle.

Set the polarization tilt angle to vary from -90 to 90 degrees.

tau = -90:90;

Set the elevation angle, frequency, path distance, and rain rate.

elev = 0;
freq = 10.0e9;
rng = 10e3*ones(size(tau));
rr = 70.0;

Compute and plot the attenuation.

L = cranerainpl(rng,freq,rr,elev,tau);
plot(tau,L)
grid
xlabel('Tilt Angle (degrees)')
ylabel('Attenuation (dB)')

Figure contains an axes object. The axes object with xlabel Tilt Angle (degrees), ylabel Attenuation (dB) contains an object of type line.

Input Arguments

collapse all

Signal path length in meters, specified as a positive scalar, a real-valued 1-by-M vector of positive values, or real-valued M-by-1 vector of positive values.

Example: [13000.0,14000.0]

Signal frequency in Hz, specified as a positive scalar, a real-valued 1-by-N vector of positive values, or a real-valued N-by-1 vector of positive values. Frequencies must lie in the range 1–1000 GHz.

Example: [2.0:2:10.0]*1e9]

Rain rate in mm/hr, specified as a nonnegative scalar. Rain rate represents the long-term statistical rainfall rate provided by Crane (see [1]).

Example: 100.5

Signal path elevation angle, in degrees, specified as a real-valued scalar, or real-valued M-by-1 or real-valued 1-by-M vector. Units are in degrees between –90° and 90°.

  • If elev is a scalar, all propagation paths have the same elevation angle.

  • If elev is a vector, its length must match the length of range and each element in elev corresponds to a propagation range.

Example: [0,45]

Tilt angle of the signal polarization ellipse, in degrees, specified as a scalar, a real-valued 1-by-M vector, or a real-valued M-by-1 vector. Tilt angle values are in the range –90° and 90°, inclusive.

  • If tau is a scalar, all signals have the same tilt angle.

  • If tau is a vector, its length must match the length of range. In that case, each element in tau corresponds to a propagation path in range.

The tilt angle is defined as the angle between the semimajor axis of the polarization ellipse and the x-axis. Because the ellipse is symmetrical, a tilt angle of 10° corresponds to the same polarization state as a tilt angle of -80°. Thus, the tilt angle need only be specified between ±90°.

Example: [45,30]

Output Arguments

collapse all

Signal attenuation in dB, returned as a real-valued M-by-N matrix. Each matrix row represents a different path where M is the number of paths. Each column represents a different frequency where N is the number of frequencies.

More About

collapse all

References

[1] Crane, Robert K. Electromagnetic Wave Propagation through Rain. Wiley, 1996.

[2] Radiocommunication Sector of International Telecommunication Union. Recommendation ITU-R P.838-3: Specific attenuation model for rain for use in prediction methods. P Series, Radiowave Propagation 2005.

[3] Radiocommunication Sector of International Telecommunication Union. Recommendation ITU-R P.530-17: Propagation data and prediction methods required for the design of terrestrial line-of-sight systems. 2017.

[4] Radiocommunication Sector of International Telecommunication Union. Recommendation ITU-R P.837-7: Characteristics of precipitation for propagation modelling. 6/2017

Extended Capabilities

expand all

Version History

Introduced in R2020a