---
name: "rtl_power"
section: "1"
platform: "linux"
package: "rtl-sdr"
version: "1:2.0.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/rtl_power"
---

# rtl\_power(1)

wideband spectrum monitor utility

## NAME

rtl\_power: - wideband spectrum monitor utility

## DESCRIPTION

Uses a re-purposed DVB-T receiver as a software defined radio to receive signals in I/Q data form. Written for and incorporated in the osmocom rtl-sdr project.

## USAGE

rtl\_power, a simple FFT logger for RTL2832 based DVB-T receivers

This tool gathers signal data over a very wide area of the frequency spectrum, and then that data can be used to find active areas of the spectrum.

Use:    rtl\_power **-f** freq\_range \[-options\] \[filename\]

**-f** lower:upper:bin\_size \[Hz\]

-

  (bin size is a maximum, smaller more convenient bins

- will be used.

  valid range 1Hz - 2.8MHz)

-

  \[-i integration\_interval (default: 10 seconds)\]

-

  (buggy if a full sweep takes longer than the interval)

-

  \[-1 enables single-shot mode (default: off)\] \[-e exit\_timer (default: off/0)\] \[-d device\_index (default: 0)\] \[-g tuner\_gain (default: automatic)\] \[-p ppm\_error (default: 0)\] filename (a '-' dumps samples to stdout)

-

  (omitting the filename also uses stdout)

### Experimental options:

-

  \[-w window (default: rectangle)\]

-

  (hamming, blackman, blackman-harris, hann-poisson, bartlett, youssef)

-

  \[-c crop\_percent (default: 0%, recommended: 20%-50%)\]

-

  (discards data at the edges, 100% discards everything) (has no effect for bins larger than 1MHz)

-

  \[-F fir\_size (default: disabled)\]

-

  (enables low-leakage downsample filter,

- fir\_size can be 0 or 9.

  0 has bad roll off,

-

  try with '-c 50%')

-

  \[-P enables peak hold (default: off)\] \[-D enable direct sampling (default: off)\] \[-O enable offset tuning (default: off)\]

### CSV FFT output columns:

-

  date, time, Hz low, Hz high, Hz step, samples, dbm, dbm, ...

## EXAMPLES

-

  rtl\_power **-f** 88M:108M:125k fm\_stations.csv

-

  (creates 160 bins across the FM band,

-

  individual stations should be visible)

-

  rtl\_power **-f** 100M:1G:1M **-i** 5m **-1** survey.csv

-

  (a five minute low res scan of nearly everything)

-

  rtl\_power **-f** ... **-i** 15m **-1** log.csv

-

  (integrate for 15 minutes and exit afterwards)

-

  rtl\_power **-f** ... **-e** 1h \| gzip \> log.csv.gz

-

  (collect data for one hour and compress it on the fly)

### Convert CSV to a waterfall graphic with:

-

  http://kmkeen.com/tmp/heatmap.py.txt

rtl\_power, a simple FFT logger for RTL2832 based DVB-T receivers

Use:    rtl\_power **-f** freq\_range \[-options\] \[filename\]

**-f** lower:upper:bin\_size \[Hz\]

-

  (bin size is a maximum, smaller more convenient bins

- will be used.

  valid range 1Hz - 2.8MHz)

-

  \[-i integration\_interval (default: 10 seconds)\]

-

  (buggy if a full sweep takes longer than the interval)

-

  \[-1 enables single-shot mode (default: off)\] \[-e exit\_timer (default: off/0)\] \[-d device\_index (default: 0)\] \[-g tuner\_gain (default: automatic)\] \[-p ppm\_error (default: 0)\] filename (a '-' dumps samples to stdout)

-

  (omitting the filename also uses stdout)

### Experimental options:

-

  \[-w window (default: rectangle)\]

-

  (hamming, blackman, blackman-harris, hann-poisson, bartlett, youssef)

-

  \[-c crop\_percent (default: 0%, recommended: 20%-50%)\]

-

  (discards data at the edges, 100% discards everything) (has no effect for bins larger than 1MHz)

-

  \[-F fir\_size (default: disabled)\]

-

  (enables low-leakage downsample filter,

- fir\_size can be 0 or 9.

  0 has bad roll off,

-

  try with '-c 50%')

-

  \[-P enables peak hold (default: off)\] \[-D enable direct sampling (default: off)\] \[-O enable offset tuning (default: off)\]

### CSV FFT output columns:

-

  date, time, Hz low, Hz high, Hz step, samples, dbm, dbm, ...

-

  rtl\_power **-f** 88M:108M:125k fm\_stations.csv

-

  (creates 160 bins across the FM band,

-

  individual stations should be visible)

-

  rtl\_power **-f** 100M:1G:1M **-i** 5m **-1** survey.csv

-

  (a five minute low res scan of nearly everything)

-

  rtl\_power **-f** ... **-i** 15m **-1** log.csv

-

  (integrate for 15 minutes and exit afterwards)

-

  rtl\_power **-f** ... **-e** 1h \| gzip \> log.csv.gz

-

  (collect data for one hour and compress it on the fly)

### Convert CSV to a waterfall graphic with:

-

  http://kmkeen.com/tmp/heatmap.py.txt

## SEE ALSO

RTL-SDR wiki documentation: **http://sdr.osmocom.org/trac/wiki/rtl-sdr**

Other rtl-sdr programs:

[rtl\_adsb(1)](/rtl_adsb/1.md), [rtl\_eeprom(1)](/rtl_eeprom/1.md), [rtl\_fm(1)](/rtl_fm/1.md), [rtl\_sdr(1)](/rtl_sdr/1.md), [rtl\_tcp(1)](/rtl_tcp/1.md), [rtl\_test(1)](/rtl_test/1.md)

## AUTHOR

This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).

## COPYRIGHT

Copyright (c) 2013 A. Maitland Bottoms \<bottoms@debian.org\>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
