Display the DFT with ACII art in the terminal, for a given SDR. Parameters are the one required to configure a SDR with AbstractSDRs. kwargs are nFFT the size of the FFT used and kwargs... all the keywords parameters required to configure the radio (see openSDR from AbstractSDRs for the supported keywords AbstractSDRsasciiart_dft.main(sdr,carrierFreq,samplingRate,gain;nFFT=1024,avg,canvas,kwargs...)

Input parameters

  • sdr : SDR type supported by AbstractSDRs (for instance :uhd). A symbol is expected
  • carrierFreq : Carrier Freq in Hz (e.g 2400e6)
  • samplingRate : Radio sampling rate in Hz (e.g 2e6)
  • gain : gain in normalized scale (e.g 20)


  • nFFT : Size of the FFT/DFT as an Int (e.g 1024)
  • averaging factor for PSD computation as an Int (e.g 12)
  • canvas : Canvas used to display. Can be AsciiCanvas, DotCanvas or BlockCanvas (see UnicodePlots.jl documentation)
  • kwargs... : All arguments supported by AbstractSDRs to open configure and monitor radio devices


It is possible to change the magnitude axis during acquisition to zoom in/out and to shift the center magnitude. By default the plot is centered around 0dB and have 120dB dynamic. By pressing different keys we can:

  • UP arrow to shit the center limit up
  • DOWN arrow to shift the center down
  • LEFT arrow to zoom out (increase range)
  • RIGHT arrow to decrease range of ylims (zoom in)