Main Site Documentation

OutputCompare carrier frequency modulation


I was going through the Internet of Things book and noticed that the OutputCompare class has a SetBlocked method that takes a frequency parm and modulates a group of pulse widths onto a carrier frequency. The only use for that I’ve seen so far is for IR - but I was just curious, exactly what is the modulation method? If I have a carrier frequency of 32kHz and I encode some pulse widths onto that what exactly is it doing to modulate that onto the output signal? I don’t have any specific application, just curious.


I checked it out on the oscilloscope and if I modulate a 2000Hz, 50% duty signal (250us on and off each period) with a 32kHz carrier, then I see a 16KHz signal that is on for around 250us and off for 250us. So it looks more or less like the signal modulated if you squint your eyes a bit. I’m guessing the reason for it is that makes it easier to rule out background noise (light) for IR stuff.


This was specifically added for IR remotes, which is 38Khz modulated signal.