I used gnuradio to decode a remote control to a device that allowed me to then automate. I now use a Great Scott Gadgets YARD Stick One to transmit along with rfcat and python. A generic RTL-SDR device with gnuradio worked on the decoding part.
I found some good online resources to understand how to do the decoding (e.g. learning the different protocols used). You can dive into more theory (FFT etc.) of course. It was a winter break project. Pretty fun. But be warned SDR generally can be a deep rabbit hole.
One note: gnuradio is a shockingly bloated suite of software, so pick a machine you don't mind getting tons of new packages.