So I talked to my neighbor about my Raspberry PI, harmonics and his emergency radio. He told me to fire it up, as we saw the FCC sticker on it, meaning it is in compliance with Part 15. I started my broadcast on 91.60 MHz. He didn't notice anything, but when he checked his phone, no service. He told me to turn off the transmitter, and like that, his 4 bars of LTE came back. He decided to use a SDR radio and we found that there is a harmonic of my radio transmission around 75.60 MHz? How is this possible and is there a way to fix this as I don't want to anger the cell phone company.
There are many articles which describe how to use a R-Pi to emit (=transmit) a signal.
However what most, if not all, articles fail to describe is that this signal is a very rough signal, usually not even a sinus, and has harmonics. It is these harmonics (=spurious emissions) which can cause interference to a whole range of services and devices when not properly filtered.
Even when you manage to filter out these spurious emissions with a lot of filters, it would be questionable if it is legal to transmit for you.
Transmitting usually involves having a license for specific frequencies or bands. For those bands which are "free to use" usually are restricted by "type approved equipment" which I am sure a R-Pi without filters is not.
Now, the frequencies you are mentioning in your post, are likely in the FM-broadcast band, and are likely to cause interference to services. The second harmonics, and third harmonics are likely to cause interference in frequencies which are used by official services (aviation, police, ambulances, fire departments) depending on your location.
Higher harmonics could cause interference to other services, as yourself has noticed.
Dont do this unless you:
- Know how to control/filter harmonics
- Know how to handle suppress spurious emissions, phase noise, and others
- Know how to measure/adjust and test your transmitter and emitted signal
- Know the law in regards transmitting on your chosen frequency
- Have a license.
I am all for experimentation, but this is just something you shouldn't do without proper knowledge, to ensure that you do not interfere with official services.
You are observing a practical example of harmonics.
Harmonics of a Square Wave
You do not mention how you are generating the signal with your Pi but it probably uses a simple square wave generator. Square waves have the characteristic that in addition to the fundamental frequency (the frequency that is being directly generated by the program in your Pi) there are also all of the odd harmonics present. This means it will generate the fundamental frequency, and that frequency times 3, times 5, times 7, etc. All of these frequencies are present simultaneously but as the harmonic is increased, the power decreases until eventually it is very difficult to detect very high order harmonics.
So in your case, it is unlikely the Pi is generating a fundamental frequency 91.6 MHz. You can work backwards by dividing 91.6 by odd numbers to see what possible fundamental frequency is being used. The frequency your neighbor observed at 75.6 MHz is also an odd harmonic. The cell phone observation means that there are likely odd harmonics present at 700 MHz or greater. If you spend a little more time with your Pi and an SDR, you will likely see many of the harmonic signals gradually decreasing in amplitude for higher order harmonics.
Many transmitters take advantage of harmonics to generate transmitted signals that are multiples of its fundamental oscillator. But good design practices (and a plethora of regulations) dictate that bandpass filters be used so that the transmitted signal consists primarily of the desired harmonic. The fundamental frequency and all other undesired harmonics are greatly reduced in amplitude to the point of being negligible.
I applaud experimenting as a learning vehicle. Be aware of the regulations that govern your experiments so you don't run afoul of them. Experimenting with very low power and no antenna in a basement helps to keep your experimentation contained. Consider building a bandpass filter and then compare your Pi output to your original findings using the SDR.
The Part 15 designation that your Pi carries refers to its classification as a "non-intentional radiator". When you turn your Pi into a transmitter, it is then an "intentional radiator" under part 15. The regulations allow you to transmit a signal with a field strength of 150 μvolts/meter measured at a 3 meter distance throughout the 88-216 MHz range (ref CFR 47.15.209). So you are not prohibited from transmitting in this range but you must restrict your signal to these relatively low power levels (expressed as a field strength). The nice part is that as you go higher in frequency, you are actually allowed a stronger field strength. But your harmonic frequency field strength will go down as frequency goes up. So if you are in compliance on the 88-216 MHz range, you should automatically be on all higher frequencies provided that you do not have any amplification or filtering stages that would alter the naturally decaying amplitude of the higher order harmonics.
The Part 15 regulations can be very confusing when trying to interpret them for a particular circumstance. The ARRL (American Radio Relay League) has a nice layman's overview of Part 15 here.
Connecting an antenna to a Raspberry Pi GPIO (usually 4 or 18) clocked at HF/VHF rates without a low-pass filter (and band-pass filter for higher frequencies) is a bad idea. This filtering is required to remove digital waveform harmonics before they get to any sufficiently radiating antenna. The Part 15 certification is only for the Pi board/module with no added antennas. Even long proto-board wires can cause local interference when connected to clock signals toggling at high enough rates.
It might be possible to meet legal transmission requirements in the broadcast FM band in certain jurisdictions by sufficiently (low pass) filtering the GPIO output signal before it reaches a small enough (gain limited) antenna.