Documentation Vision Library+ Documentation

FFT+

FFT+ shows the frequency spectrum of a value: how strongly each repeating cycle is present in the signal over the display time range. Use it to find the frequency of a vibration or a periodic disturbance, or the period of a pattern that repeats in your process.

Overview

Frequency spectrum of a value with a tall peak at 0.0166 Hz and smaller peaks at multiples of that frequency

Watch the demo

See FFT+ in a practical PI Vision workflow.

When to use it

Use FFT+ when you need to:

  • Find the dominant cycle in a value, such as a regular oscillation in a control loop.
  • Check at which frequency a vibration or a periodic disturbance occurs.
  • Compare the spectra of several data sources on one chart.
  • Mark a known frequency, such as a rotation speed, and see whether a peak lines up with it.

Choose Combo Chart+ when you want to see how values change over time and not which cycles they contain.

Before you begin

  • Prepare one or more numeric PI Points or AF attributes. Each data source becomes one spectrum.
  • Check how often the value is recorded. FFT+ cannot show a cycle that is shorter than two sampling intervals (see How to read a spectrum).
  • Choose a display time range that holds several repeats of the slowest cycle you want to see.

Add and set up the symbol

The steps use a test tag that repeats once per minute. Your own value will show its own cycle.

  1. Select FFT+ in the PI Vision symbol gallery.
  2. Drag a numeric data source onto the symbol.
  3. In the time bar, set the display time range to the last hour.
  4. Right-click the symbol and select Configure FFT.
  5. Under Data, open Sampling. Set Interval Mode to FIXED and Interval to 1 s.
  6. Open Spectrum and set Peak markers to ON.
  7. Close the pane. The symbol shows the spectrum with a label on each of the three highest peaks.
Spectrum with period labels on the three highest peaks

The horizontal axis shows the period of each cycle. The highest peak is labeled 00:01:00.235: the value repeats once per minute. To show hertz instead, see Switch between period and frequency.

Common tasks

Find the dominant frequency

Use this when you want to know which cycle is strongest in a value.

  1. Right-click the symbol, select Configure FFT, and open Data > Spectrum.
  2. Set Peak markers (1) to ON.
  3. In Top peaks (2), enter how many of the highest peaks to label.
  4. Hover over the highest peak.
Spectrum group with Peak markers on and Top peaks set to 3

Each labeled peak shows its period or frequency. The tooltip adds the exact value and the amplitude. Here the highest peak is at 00:01:00.235, or about 0.0166 Hz. The two smaller peaks at 29.9 s and 20 s are multiples of the same cycle: the value repeats every minute but is not a pure sine wave.

Tooltip on the highest peak showing a duration of 00:01:00.235 and an amplitude of 17.53

Choose the sampling interval and time range

Use this when the cycle you look for does not show, or the spectrum ends before the frequency you need.

  1. Open Data > Sampling.
  2. Set Interval Mode (1) to FIXED.
  3. Enter the Interval (2) and select its unit. Use at most half of the shortest period you look for.
  4. Check that Applied shows the same interval as Requested.
  5. Set Max samples (3) to at least the time range divided by the interval.
  6. Under Start- and Endtimes, keep Display time range or choose another range.
Sampling group with Interval Mode, Interval, and Max samples marked

The spectrum reaches up to half the sampling rate. With a 10 s interval it ends at 0.05 Hz, a cycle of 20 s. With a 1 s interval it reaches 0.5 Hz. A longer time range gives a finer frequency grid, and the spectrum starts at a cycle that fits twice into the range.

Switch between period and frequency

Use this when you think in hertz, or when a slow process cycle reads better as a duration.

  1. Open Scale > Frequency.
  2. Set Format (1) to HZ or DURATION.
  3. Optionally set Transform to LINEAR or LOGARITHMIC. A logarithmic axis gives slow cycles more room.
Frequency group with Format set to Duration

With HZ the axis shows cycles per second, and the tooltip reads Frequency. With DURATION it shows the time of one cycle as hh:mm:ss. To switch while viewing the display, use the gear on the chart (see Use the symbol).

Spectrum in hertz with the tooltip on the highest peak reading 0.0166 Hz

Compare spectra of several data sources

Use this when you want to see whether several values share a cycle.

  1. Drag more numeric data sources onto the symbol.
  2. In the configuration pane, open Trace Options.
  3. Select a data source in the list (1).
  4. Set its Label (2) and Color (3).
  5. Repeat for each data source.
Trace Options with four data sources, the Label picker, and the Color list

Each data source draws one spectrum, and the legend shows the labels. A peak at the same frequency in several spectra means that those values share a cycle. The 10 s data source ends at 0.05 Hz because that tag is recorded every 10 seconds.

Four spectra on one chart with a legend

Mark a known frequency with a reference line

Use this when you know a frequency, such as a rotation speed, and want to see whether a peak lines up with it.

  1. Open Data > Fault Overlays and click Add Overlay (1).
  2. Enter a Label (2).
  3. Enter the Frequency (Hz) (3). Enter hertz even when the axis shows durations. The line is converted.
  4. Pick a Color (4).
Fault Overlays group with one overlay: label, frequency, and color

A dashed line with your label crosses the chart at that frequency. When a peak sits on the line, that cycle is present in the value. Use the x button of an overlay to remove it.

Spectrum with a dashed line labeled Expected 60 s cycle on the highest peak

Smooth a noisy spectrum

Use this when random noise hides the peaks.

  1. Open Data > Spectrum.
  2. Set Averaging (1) to Welch.
  3. Leave Segment Length (2) on Auto, or select Manual and choose a length.
  4. Select the Overlap (3) between segments. 50% is a common choice.
Spectrum group with Averaging set to Welch

Welch averaging splits the samples into segments, calculates a spectrum for each, and averages them. The noise floor becomes smoother. The peaks become wider and a little lower, because each segment holds fewer samples.

Use the symbol

Spectrum with the toolbar and numbered callouts
What it shows
(1)The legend with one entry per data source.
(2)A peak marker with its period or frequency.
(3)The amplitude axis. The unit is the unit of the value.
(4)The frequency axis, or the period axis in DURATION format.
(5)The toolbar: Pan, Box zoom, Zoom In, Zoom Out, Reset Zoom, Settings, Fullscreen, and Download.
(6)Settings, the gear that opens Quick Settings.
  • Hover the plot to see a crosshair and a tooltip with the frequency or period and the amplitude of each data source.
  • Pan and zoom: the wheel zooms. In Pan mode, drag moves the visible window. In Box zoom mode, drag draws the area to zoom into. Reset Zoom shows the full spectrum again. Zoom never changes the display time range.
  • Fullscreen opens the spectrum in a large window. Download saves the chart as PNG, SVG, or PDF, or the plotted spectrum as CSV, JSON, or XLSX.
  • Display time: the spectrum is calculated for the display time range. When you change the range, FFT+ calculates it again.
  • The toolbar shows when the pointer enters the chart, unless Reveal is set to always. The gear is available even when the toolbar is off.
  • The symbol only displays data. It does not write to the PI System or change other symbols.

Quick Settings

Click the gear to change the view without opening the configuration pane. The menu offers the X axis Format and Spacing, the Y axis Values (Linear or Log) and Layout, the spectrum Type and Window, and Show Top Peaks.

Quick Settings menu on the spectrum

Important: Quick Settings change the symbol configuration. If you save the display, the changes are saved with it.

How to read a spectrum

A spectrum answers one question: which cycles does the value contain? Each peak is one cycle.

  • Position: a peak at 0.0167 Hz means the value repeats about once every 60 seconds. The period is 1 divided by the frequency. FFT+ shows either one.
  • Height: the height of a peak is the amplitude of that cycle in the unit of the value, for the Peak spectrum type.
  • Multiples: a signal that is not a pure sine wave also produces peaks at two, three, and more times the main frequency. They belong to the same cycle.
  • Highest frequency: the highest frequency FFT+ can show is half the sampling rate. A 10 s interval reaches 0.05 Hz. This limit is called the Nyquist frequency. Faster cycles cannot be told apart and fold back into the spectrum at lower frequencies.
  • Lowest frequency: the spectrum starts at a cycle that fits twice into the time range. A cycle longer than half the range does not show.

Configure the symbol

Right-click the symbol and select Configure FFT. The pane has these sections in this order.

Trend Options

SettingWhat it does
StyleTheme, Surface, Container Style, Apply to all symbols, the Foreground and Background colors (with Custom Theme), and Font Size style the chart.
TitleShows or hides the title and the sub title, and sets their text.
LegendEnabled, Position, Placement (OUTSIDE or INSIDE), Alignment, and Color (MARKER or TEXT). The legend shows the data source names.
GridShow turns the grid on or off. Lines selects None, Horizontal, Vertical, or Both. Bands shades alternate bands. Border selects AXES, FRAME, or NONE.
TooltipShow turns the hover tooltip on or off. Pointer selects NONE, ARGUMENT (a line at the hovered frequency), or CROSS.
ToolbarShow Toolbar shows or hides the toolbar buttons. The Settings gear stays. Reveal selects ON HOVER or ALWAYS.

Scale

SettingWhat it does
Frequency > FormatHZ shows frequency in hertz. DURATION shows the period as hh:mm:ss. Used in Switch between period and frequency.
Frequency > Show, Position, Invert Scale, Title, TicksShow or hide the axis, place it at the bottom or top, reverse it, show its title, and set the tick count.
Frequency > TransformLINEAR or LOGARITHMIC spacing. A logarithmic axis gives low frequencies more room.
Frequency > Scale RangeAUTO fits the spectrum. CUSTOM sets a band in hertz, or a start and an end time in hours, minutes, and seconds for DURATION.
Amplitude > Amplitude ScaleLINEAR or DB. The decibel scale makes small peaks visible next to a large one.
Amplitude > Show, Position, Invert Scale, Title, Ticks, Label PositionShow or hide the amplitude axis, place it on the left or right, reverse it, show its title, set the tick count, and place its labels.
Amplitude > Transform, Scale RangeLinear or logarithmic spacing and an automatic, database, or custom range for the amplitude axis.
Amplitude > Scale Type, Align TicksScale Type selects one axis for all traces or an axis for each trace. Use one axis per trace for data sources with different units, and set each trace scale in Trace Options. Align Ticks lines up the ticks of the axes. Available when each trace has its own axis.

Data

SettingWhat it does
Sampling > Interval ModeFIXED uses the interval you enter. AUTO picks an interval from the time range and Max samples. Used in Choose the sampling interval and time range.
Sampling > IntervalThe sampling interval and its unit. Available when Interval Mode is FIXED.
Requested, AppliedThe interval you asked for and the interval in use. They differ when the value is recorded less often than you asked, or when AUTO has to widen the interval to stay within Max samples. A note below the two values says which.
Sampling > Max samplesThe most samples used for one spectrum: 256, 512, 1024, 2048, or 4096. More samples give a finer frequency grid and take longer to calculate.
Sampling > Sync TimeAligns the sample times to a time of day (hours, minutes, seconds).
Sampling > Start- and EndtimesDisplay time range follows the time bar. The other choices give the symbol its own range.
Spectrum > Spectrum TypePeak shows the amplitude of each cycle. RMS shows its energy. Peak-to-Peak shows the full excursion. PSD shows the power spectral density, which suits random noise.
Spectrum > AveragingNone or Welch. Used in Smooth a noisy spectrum.
Segment Length, Manual Length, OverlapSet the Welch segments. Manual lengths are 64 to 2048 samples. Overlap is 0%, 25%, 50%, or 75%. Available when Averaging is Welch.
Peak markers, Top peaksLabel the highest peaks, from 1 to 100. Used in Find the dominant frequency.
Linear detrend, Remove meanRemove mean takes out the constant offset of the value. Linear detrend takes out a steady drift. Both are on by default. They keep a large peak at the lowest frequencies from hiding the rest.
WindowReduces smearing at the edges of the sample. Hann is the default. Hamming is similar. Flat Top gives the most accurate peak heights. Blackman-Harris suits a large peak next to a small one. None applies no window.
Fault OverlaysAdd Overlay adds a labeled line at a frequency in hertz, with a color. Used in Mark a known frequency with a reference line.

Interactivity

SettingWhat it does
Enable ZoomTurns zooming on or off. When off, the wheel and the drag do nothing and the zoom buttons leave the toolbar.
Drag modeSelects PAN or BOX ZOOM as the mode a drag starts in when the display loads. The toolbar buttons change it for the current viewer only.

Trace Options

SettingWhat it does
Data source listLists the spectra. Use the buttons below the list to reorder or remove a data source.
LabelThe name in the legend and tooltip. Used in Compare spectra of several data sources.
Color, Curve, Show MarkersSet the trace color, its line (Straight, Smooth, or Stepped), and whether it draws point markers.
Y AxisThe amplitude axis of the selected trace. Available when the amplitude scale mode gives each trace its own axis.

Troubleshooting and limitations

SymptomCauseWhat to do
The chart says "Waiting for data..." and stays empty.The data source returned no numeric values for the display time range.Check the data source and the time range. FFT+ uses numeric values only.
The chart says "Add at least one numeric data source to calculate the FFT."The symbol has no data source.Drag a numeric data source onto the symbol.
The cycle you expect is missing.The interval is too long, so the cycle is above half the sampling rate, or the time range holds fewer than two repeats.Shorten the interval, or widen the time range. See Choose the sampling interval and time range.
Applied shows a longer interval than Requested.The value is recorded less often than you asked, or AUTO widened the interval to stay within Max samples.Request an interval that matches how often the value is recorded, or raise Max samples.
A tall peak sits at the lowest frequencies.A drift or an offset is in the value.Set Remove mean and Linear detrend to ON.
The peaks are noisy and hard to separate.One sample set carries random noise.Use Welch averaging, or a longer time range.

Limitation: The highest frequency is half the sampling rate. A faster cycle cannot be shown, and it can appear as a peak at a lower frequency.

Limitation: In HZ format the dashed line of a peak marker or a fault overlay is placed to two decimals. Below 1 Hz it can sit slightly beside the peak. Read the label, or use DURATION format.

Limitation: FFT+ calculates the spectrum from interpolated samples at the sampling interval, not from every recorded value.