# faultBands

Generate fault frequency bands for spectral feature extraction

## Syntax

## Description

constructs fault frequency bands `FB`

= faultBands(`F0`

,`N0`

,`F1`

,`N1`

)`FB`

, using the distance of the first
sideband `F1`

from the fundamental frequency `F0`

.
`N1`

is the array of the sidebands around `F0`

. If
`F1`

is not specified, then `faultBands`

sets
`F1`

to 10 percent of `F0`

by default.
`N1`

is equivalent to the '`Sidebands`

' name-value
pair. You can use the '`Type`

' name-value pair to specify separation
between successive sidebands.

`___ = faultBands(___,Name,Value)`

allows
you to specify additional parameters using one or more name-value pair arguments.

## Examples

### Frequency Bands of Electrical Mains Supply

For this example, generate frequency bands for analyzing the signal components around the first 5 harmonics of the mains supply frequency.

With the fundamental frequency of 60 Hz, the frequency of the alternating current in the mains power supply, use `faultBands`

to generate the first 5 harmonics of the mains supply.

F0 = 60; N0 = 1:5; FB = faultBands(F0,N0)

`FB = `*5×2*
58.5000 61.5000
118.5000 121.5000
178.5000 181.5000
238.5000 241.5000
298.5000 301.5000

`FB`

is returned as a 5x2 array with default frequency band width of 5% of `F0`

which is 3 Hz. The first column in `FB`

contains the values of $$F-\frac{W}{2}$$, while the second column contains all the values of $$F+\frac{W}{2}$$ for each harmonic.

### Frequency Bands of Faulty Induction Motor

For this example, consider an induction motor with broken rotor bars. Under normal operation with load, the rotor speed always lags the speed of the magnetic field allowing the rotor bars to cut magnetic lines of force and produce useful torque. This difference is called slip. Considering a slip value of 0.03 in the system with broken rotors, construct frequency bands for sideband components around the fundamental frequency of 60 Hz.

F0 = 60; N0 = 1:2; slip = 0.03; F1 = 2*slip*F0; N1 = 1:3; [FB,info] = faultBands(F0,N0,F1,N1)

`FB = `*12×2*
47.7000 50.7000
51.3000 54.3000
54.9000 57.9000
62.1000 65.1000
65.7000 68.7000
69.3000 72.3000
107.7000 110.7000
111.3000 114.3000
114.9000 117.9000
122.1000 125.1000
⋮

`info = `*struct with fields:*
Centers: [49.2000 52.8000 56.4000 63.6000 67.2000 70.8000 ... ]
Labels: ["1F0-3F1" "1F0-2F1" "1F0-1F1" ... ]
HarmonicGroups: [1 1 1 1 1 1 2 2 2 2 2 2]

### Visualize Frequency Bands and Harmonics of the Electrical Mains Supply

Construct frequency bands for analyzing the signal components around the first three harmonics of the electrical mains supply frequency.

With the fundamental frequency of 60 Hz, the alternating current in the mains power supply, use `faultBands`

to visualize the first 3 harmonics of the mains supply.

F0 = 60; N0 = 1:3; faultBands(F0,N0)

From the plot, observe the following:

The fundamental frequency, which is also the first harmonic,

`1F0`

at 60 HzThe second harmonic,

`2F0`

at 120 HzThe third harmonic,

`3F0`

at 180 Hz

To better capture the expected variations of the actual system signals around the nominal fault frequencies, set the widths of each band to 10 Hz.

`faultBands(F0,N0,'Width',10)`

### Folding Negative Fault Frequencies

For this example, consider an induction motor with static and dynamic rotor eccentricities. Construct and visualize the frequency bands for the 4 sideband components of an induction motor with 4 pole pairs around the fundamental frequency due to the rotor eccentricities.

F0 = 60; N0 = 1; slip = 0.029; polePairs = 4; F1 = 2*F0*(1-slip)/polePairs

F1 = 29.1300

N1 = 0:4; faultBands(F0,N0,F1,N1)

Warning: Truncated or removed negative fault frequency bands.

To avoid truncating negative fault frequency bands, set '`Folding`

' to `true`

to fold them onto the positive frequency axis.

`faultBands(F0,N0,F1,N1,'Folding',true)`

Observe that the sideband frequencies `1F0-3F1`

and `1F0-4F1`

are now visible on the positive axis.

## Input Arguments

`F0`

— Fundamental frequency of interest

positive scalar

Fundamental frequency of interest, specified as a positive scalar.
`faultBands`

constructs the fault frequency bands around the
fundamental frequency `F0`

. For instance, to construct fault bands
for a faulty induction motor, the mains frequency of 60 Hz is the fundamental frequency
of interest. Similarly, to generate fault bands for a faulty gear train, the input shaft
frequency is the fundamental frequency.

You can specify `F0`

in either hertz or orders.

`N0`

— Harmonics of the fundamental frequency

`1`

(default) | vector of positive integers

Harmonics of the fundamental frequency, specified as a vector of positive integers.
Specify fault bands around the fundamental frequency `F0`

and its
harmonics by `N0`

. `N0`

is equivalent to the
'`Harmonics`

' name-value pair with a default value of 1.

`F1`

— Distance of the first sideband from the fundamental frequency

`0.1*F0`

(default) | positive scalar

Distance of the first sideband from the fundamental frequency, specified as a
positive scalar. If `F1`

is not specified, then
`faultBands`

assumes a value of 10 percent of the fundamental
frequency for `F1`

.

`N1`

— Sidebands of the fundamental frequency and its harmonics

vector of nonnegative integers

Sidebands of the fundamental frequency and its harmonics, specified as a vector of
nonnegative integers. `N1`

is equivalent to the
'`Sidebands`

' name-value pair with a default value of 0.

### Name-Value Arguments

Specify optional pairs of arguments as
`Name1=Value1,...,NameN=ValueN`

, where `Name`

is
the argument name and `Value`

is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.

*
Before R2021a, use commas to separate each name and value, and enclose*
`Name`

*in quotes.*

**Example: **`...,'Harmonics',[1,3,5]`

`Harmonics`

— Harmonics of the fundamental frequency to be included

`1`

(default) | vector of positive integers

Harmonics of the fundamental frequency to be included, specified as the
comma-separated pair consisting of '`Harmonics`

' and a vector of
positive integers. The default value is 1. Specify '`Harmonics`

' when
you want to construct the frequency bands with more harmonics of the fundamental
frequency.

`Sidebands`

— Sidebands around the fundamental frequency and its harmonics to be included

`0`

(default) | vector of nonnegative integers

Sidebands around the fundamental frequency and its harmonics to be included, specified
as the comma-separated pair consisting of '`Sidebands`

' and a vector of
nonnegative integers. The default value is 0. Specify '`Sidebands`

'
when you want to construct the frequency bands with sidebands around the fundamental
frequency and its harmonics.

`Width`

— Width of the frequency bands centered at the nominal fault frequencies

`5`

percent of the fundamental frequency (default) | positive scalar

Width of the frequency bands centered at the nominal fault frequencies, specified
as the comma-separated pair consisting of '`Width`

' and a positive
scalar. The default value is 5 percent of the fundamental frequency. Avoid specifying
'`Width`

' with a large value so that the fault bands do not
overlap.

`Type`

— Separation value between successive sidebands

`'additive'`

(default) | `'multiplicative'`

Separation value between successive sidebands, specified as the comma-separated
pair consisting of '`Type`

' and either `'additive'`

or `'multiplicative'`

. Specify '`Type`

' as:

`'additive'`

, to set the separation between successive sidebands to`F1`

.`'multiplicative'`

, to set the separation between successive sidebands proportional to both the harmonic order and the sideband value.

`Folding`

— Logical value specifying whether negative nominal fault frequencies have to be folded about the frequency origin

`false`

(default) | `true`

Logical value specifying whether negative nominal fault frequencies have to be folded about the frequency origin, specified as the comma-separated pair consisting of '`Folding`

' and either `true`

or `false`

. If you set '`Folding`

' to `true`

, then `faultBands`

folds the negative nominal fault frequencies about the frequency origin by taking their absolute values such that the folded fault bands always fall in the positive frequency intervals. The folded fault bands are computed as $$\left[\text{max}\left(0,\text{}\left|F\right|-\frac{W}{2}\right),\text{}\left|F\right|+\frac{W}{2}\right]$$, where `W`

is the '`Width`

' name-value pair and `F`

is one of the nominal fault frequencies.

## Output Arguments

`FB`

— Fault frequency bands

`Nx2`

array

Fault frequency bands, returned as an `Nx2`

array, where
`N`

is the number of fault frequencies. `FB`

is
returned in the same units as `F0`

, in either Hertz or orders. The
generated fault bands, $$\left[F-\frac{W}{2},\text{}F+\frac{W}{2}\right]$$, are centered depending on the sideband specification as follows:

If you do not specify the sidebands, then the fault bands are centered at $$F={n}_{0}{F}_{0}$$, where the integer

`n0`

ranges through the elements of the array of harmonics,`N0`

.If you specify sidebands using

`N1`

or the '`Sidebands`

' name-value pair, then fault bands are centered at:$$F={n}_{0}{F}_{0}\pm {n}_{1}{F}_{1}$$, when '

`Type`

' is specified as`'additive'`

. Here, the integer`n1`

ranges through the elements of the array of sidebands,`N1`

.$$F={n}_{0}\left({F}_{0}\pm {n}_{1}{F}_{1}\right)$$, when '

`Type`

' is specified as`'multiplicative'`

.

`info`

— Information about the fault frequency bands

structure

Information about the fault frequency bands in `FB`

, returned as
a structure with the following fields:

`Centers`

— Center fault frequencies`Labels`

— Labels describing each frequency`HarmonicGroups`

— Harmonic group numbers equal to the harmonic order of each frequency band to be able to identify fault bands associated with the nominal fault frequency $$F={n}_{0}{F}_{0}$$, where the integer`n0`

ranges through the elements of the array of harmonics,`N0`

## Version History

**Introduced in R2019b**

## Open Example

You have a modified version of this example. Do you want to open this example with your edits?

## 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)