Garage Door Signal Demodulation
Building off the concepts learned from my Ground Communication for Satellite Operation course, I took it upon myself to take it a step further and not only capture and record a signal, but also demodulate it and recreate it through use of GNU Radio Companion. Due to its simplicity and easy access, I chose to use a 10 dip switch garage door opener.
-
Upon finding my particular garage door opener model’s frequency range on the FCC website, I utilized a HackRF and SDRSharp to find the signal at a frequency of 298.2 MHz. I then recorded the signal to demodulate it in order to recreate it.
-
Running the raw signal through GNU Radio, I implemented a lowpass filter to get rid of excess noise that was captured with the signal. Converting the signal from complex to magnitude and running it in a Time Sink in GNU Radio, I found the modulation scheme to be On-Off Keying (OOK). By measuring the length of each pulse and taking the smallest time per pulse, I was able to convert to signal to the following binary: 110110100110100110100110100110
-
Now that I had my signal, I placed it back in GNU Radio as a variable and created a vector from it. I mapped the vector to ones and zeros and send it through a Rational Resampler to interpolate it by a ratio of the sample rate divided by the symbol rate at which the bytes are coming in. I sent that through a Moving Average block to calculate the average change in the data set. Finally, changing it from float to complex and running it through a Time Sink, we have created the signal! Now if I ever forget my garage door opener and I have my laptop, a HackRF, and an antenna on standby, I can always get into my apartment garage!