I'm looking for some suggestions on detecting wifi using spectrograms (abs magnitude only) . My project involves a wifi driver which outputs a spectrogram whenever it scans the channel .

Can we use any of DSP techniques to detect WIFI in the spectrogram ? I have seen lot of implementations using deep learning based CNN where they classify if there is a WIFI packet or not

Some More Info on Spectrogram : It is captured over 200ms time (and delta time is 200us) and over 80M bandwidth with resolution bandwidth of 312.5KHz.. so my spectrogram is a 1000*256 matrix with absolute magnitudes in log domain and don't have any phase info to revert back to time-domain

What my initial thoughts was to : Divide 256 into 4 chunks i.e. have 4 of the 1000*64 and loop through each row and check all 64 bins (or avg of 64 bins) and compare with some thrshold but this will tell me if there is a signal or not , but wont tell me if its WiFi or not

Any thoughts ?

EDIT: I'm trying both 2.4GHz and 5GHz band and whole idea is to identify if the spectrogram has WiFi only (or) WiFi plus some Non-WiFi Interference (or) Just Non-WiFi interference

  • 1
    $\begingroup$ Can you let us know about what kind of band are you using ? 2.4 GHz or 5GHz ? Asking this info as 2.4GHz as lot of interference from Bluetooth, zigbee and Microwave ovens. This will impact the wifi detection performance $\endgroup$
    – Saira
    Sep 23, 2022 at 18:59
  • 1
    $\begingroup$ And what's the end goal of this project/problem ? Is it just for wifi clasification ? $\endgroup$
    – Saira
    Sep 23, 2022 at 19:03
  • 1
    $\begingroup$ @Saira . Should have been more clear.. editing the question $\endgroup$
    – Aryan
    Sep 23, 2022 at 21:11

1 Answer 1


By 'doing a spectrogram' one may understand looking for signal presence within certain frequency band.

Any radio receiver of a system where channels are agreed by standards every one complies with 1st looks for signal presence within the frequency channel where signal expected. Look at this

1.- OFDM Beacon Receiver Using Software-Defined Radio


2.- Also have you read this solution :

Wireless Network Signal Strength with ESP32 with Arduino IDE


Receivers 1st look for pulses presence to synchronise, and from there get modulation symbols.

3.- Bear in mind that Wifi signals do frequency hopping within channel, really fast, and the whole channel is shifted to another channel when the current channel is 'too crowded' to the point that Bit Error Rates fall below thresholds.

Channel hopping takes place all the time, just check your router with a smart phone app that can monitor wifif channels.

4.- Basically you don't have to look at the spectrogram to tell whether a signal is wifi compliant because the receiver, the router, the smart phone tells you.

There are many smartphone apps that show all wifi signals, in the channel your signal is using, and within band, and it may even show all Wifi bands.

Wifi now has 3 bands 2.4 5 and 6GHz.

I read that even a higher frequency band is being developed.

5.- As of telling whether a non-wifi signals are either radar bursts of a nearby airport, or cell phone towers doing odd things, or a CB user abusing 2.4GHz, or security of nearby business jamming everyone around .. you are asking for a signals intelligence database.

Bear in mind that secuirity forces, the same they are allowed to carry fire arms to protect, they are also allowed to 'control' the spectrum within certain areas precisely for essentially the same purpose of carrying fire arms : to be in control.

I have read of schools allowed to install jammers to prevent students using mobile phones during exams.

6.- Waterfall analyses may help, but you will have to record 24/7/365 to build a consistent database.

And even then new IoT modulations Spread Spectrum and with special pulses, require expensive equipment to be 'caught' they way you intend to because such signals lay below noise level most of travel time transmitter-receiver.

7.- Record, compare, and build your own records.

But without the right tools and not knowing, not having narrowed to a small bunch of possible interferring possibles, you may be wasting your time.

8.- Even if let's say you manage to catch a consistently interferring signal, you start driving around with a direction finder, you look for increasing signal strength .. to end up at the door step of a private property: End of the story, you have no authority to check inside : call Ofcom.

9.- If you think a neighbour is causing disturbance to your router you can call Ofcom or whatever communications authority in your country so they look into it.

But even the ones in control of the spectrum cautiously mention for instance


Ofcom does not guarantee interference-free spectrum because there are many possible causes for interference beyond our control, such as natural atmospheric conditions. Interference is normally caused by:

- the unlicensed use of radio apparatus electromagnetic disturbance - from apparatus or installations or a fault or deficiency in the - affected station or apparatus.

Don't get mistaken, they are in control, but not doing nitty-gritty on the spectrum, that is an access point 'at the door', but in the data centres.

You may want to check the Frequency Allocation Table of your area/country, in the UK UKFAT is available here


As well as all major mobile operators with base stations nearby.

Good luck

  • $\begingroup$ Thanks @John for detailed answer . I cannot really use the IQ samples nor I have access to them in order to decode the STF/LTF and detect the wifi presence . The Idea of this project is to use spectrograms to classify non-wifi interferers in ISM band . Radio also capture surrounding WiFi traffic and I was thinking to remove WiFi from the spectrogram and then use CNN to train/classify the set of interferers $\endgroup$
    – Aryan
    Oct 4, 2022 at 15:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.