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

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.
- Select FFT+ in the PI Vision symbol gallery.
- Drag a numeric data source onto the symbol.
- In the time bar, set the display time range to the last hour.
- Right-click the symbol and select Configure FFT.
- Under Data, open Sampling. Set Interval Mode to FIXED and Interval to 1 s.
- Open Spectrum and set Peak markers to ON.
- Close the pane. The symbol shows the spectrum with a label on each of 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.
- Right-click the symbol, select Configure FFT, and open Data > Spectrum.
- Set Peak markers (1) to ON.
- In Top peaks (2), enter how many of the highest peaks to label.
- Hover over the highest peak.

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.

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

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.
- Open Scale > Frequency.
- Set Format (1) to HZ or DURATION.
- Optionally set Transform to LINEAR or LOGARITHMIC. A logarithmic axis gives slow cycles more room.

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

Compare spectra of several data sources
Use this when you want to see whether several values share a cycle.
- Drag more numeric data sources onto the symbol.
- In the configuration pane, open Trace Options.
- Select a data source in the list (1).
- Set its Label (2) and Color (3).
- Repeat for each data source.

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.

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.
- Open Data > Fault Overlays and click Add Overlay (1).
- Enter a Label (2).
- Enter the Frequency (Hz) (3). Enter hertz even when the axis shows durations. The line is converted.
- Pick a Color (4).

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.

Smooth a noisy spectrum
Use this when random noise hides the peaks.
- Open Data > Spectrum.
- Set Averaging (1) to Welch.
- Leave Segment Length (2) on Auto, or select Manual and choose a length.
- Select the Overlap (3) between segments. 50% is a common choice.

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

| 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.

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
| Setting | What it does |
|---|---|
| Style | Theme, Surface, Container Style, Apply to all symbols, the Foreground and Background colors (with Custom Theme), and Font Size style the chart. |
| Title | Shows or hides the title and the sub title, and sets their text. |
| Legend | Enabled, Position, Placement (OUTSIDE or INSIDE), Alignment, and Color (MARKER or TEXT). The legend shows the data source names. |
| Grid | Show turns the grid on or off. Lines selects None, Horizontal, Vertical, or Both. Bands shades alternate bands. Border selects AXES, FRAME, or NONE. |
| Tooltip | Show turns the hover tooltip on or off. Pointer selects NONE, ARGUMENT (a line at the hovered frequency), or CROSS. |
| Toolbar | Show Toolbar shows or hides the toolbar buttons. The Settings gear stays. Reveal selects ON HOVER or ALWAYS. |
Scale
| Setting | What it does |
|---|---|
| Frequency > Format | HZ 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, Ticks | Show or hide the axis, place it at the bottom or top, reverse it, show its title, and set the tick count. |
| Frequency > Transform | LINEAR or LOGARITHMIC spacing. A logarithmic axis gives low frequencies more room. |
| Frequency > Scale Range | AUTO 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 Scale | LINEAR or DB. The decibel scale makes small peaks visible next to a large one. |
| Amplitude > Show, Position, Invert Scale, Title, Ticks, Label Position | Show 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 Range | Linear or logarithmic spacing and an automatic, database, or custom range for the amplitude axis. |
| Amplitude > Scale Type, Align Ticks | Scale 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
| Setting | What it does |
|---|---|
| Sampling > Interval Mode | FIXED 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 > Interval | The sampling interval and its unit. Available when Interval Mode is FIXED. |
| Requested, Applied | The 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 samples | The 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 Time | Aligns the sample times to a time of day (hours, minutes, seconds). |
| Sampling > Start- and Endtimes | Display time range follows the time bar. The other choices give the symbol its own range. |
| Spectrum > Spectrum Type | Peak 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 > Averaging | None or Welch. Used in Smooth a noisy spectrum. |
| Segment Length, Manual Length, Overlap | Set 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 peaks | Label the highest peaks, from 1 to 100. Used in Find the dominant frequency. |
| Linear detrend, Remove mean | Remove 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. |
| Window | Reduces 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 Overlays | Add Overlay adds a labeled line at a frequency in hertz, with a color. Used in Mark a known frequency with a reference line. |
Interactivity
| Setting | What it does |
|---|---|
| Enable Zoom | Turns zooming on or off. When off, the wheel and the drag do nothing and the zoom buttons leave the toolbar. |
| Drag mode | Selects 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
| Setting | What it does |
|---|---|
| Data source list | Lists the spectra. Use the buttons below the list to reorder or remove a data source. |
| Label | The name in the legend and tooltip. Used in Compare spectra of several data sources. |
| Color, Curve, Show Markers | Set the trace color, its line (Straight, Smooth, or Stepped), and whether it draws point markers. |
| Y Axis | The amplitude axis of the selected trace. Available when the amplitude scale mode gives each trace its own axis. |
Troubleshooting and limitations
| Symptom | Cause | What 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.
