For data transmission / reception, one of the less expensive options today is a pre-built module around the nRF24L01+ Transceiver IC. These modules typically offer a built-in PCB-trace antenna, 250 Kbps to 2 MBPS bandwidth before error correction, and are tried and tested.
Most important, they save you time in debugging and antenna tuning. After thousands of people have used these modules, which are built on the manufacturer's reference designs after all, most of the kinks are pretty thoroughly ironed out. Also, being able to tap the experience of many others on the internet who have used such a module, counts for a lot when trying to resolve issues.
For instance, this listing on eBay is for a mere US$2.10 with free international shipping. It uses the 2.4 GHz band, which does not need licensing for low power use in most countries.
Another alternative is this 433 MHz band transmit / receive pair of modules (just 9.6 Kbps though), in case you specifically want to stay with transmit-only and receive-only designs. US$1.99 for the pair makes it pretty attractive.
Of course, in each case, you could as well build your own module starting from the IC manufacturer's reference design, and thus learn while implementing your radio functionality.
It is unlikely that the price advantage of massive volume production can be beaten, though.
I doubt if I can cover all your questions, but I'll give it a try:
Well, what if I'm using a fixed-frequency signal? Fupper and Flower would be the same value, right? So does that mean B=0? So a fixed frequency signal can't carry any data? So what am I missing?
A single frequency signal would be a continuous tone. It's amplitude would never change. It would just continue on repetitively forever. As such, it would not convey any information.
When you start modulating your carrier, the spectrum of your signal is no longer a single frequency. According to the amplitude modulation formula, the spectrum of the modulated signal is the convolution of the carrier (a single frequency) and the modulating signal (typically, containing energy in some band about 0 Hz).
Therefore the modulated output signal contains energy in a band around the carrier, not just at the single (carrier) frequency.
We know that's not true, AM radio does it.
Each AM station delivers energy not just at the carrier frequency, but in a band around that frequency. An AM radio broadcast is not an example of a single-frequency signal.
It's plainly obvious that I can cram way more bits into 2.4*10^9 cycles/second than I can with just 1/sec.
Certainly you could. However, if you simply modulated your 2.4 GHz carrier with an information signal spanning 2.4 GHz, the bandwidth of the resulting signal would be nearly 2.4 GHz. The energy in the signal would be spread from 1.2 to 3.6 GHz.
There is a way to get around this though...
What about fractional differences? Waveforms are analog in nature, so we could have a 1Hz signal and a 1.5Hz signal. Likewise at the high frequency range. Say 2.4GHz minus 0.5Hz. There is an infinite amount of space between 1 and 1.5. Could not 1Hz and 1.001Hz serve as two separate channels?
They can, but only by trading off the SNR term in the Shannon-Hartley formula for the bandwidth term. That is, the formula shows there's two ways to increase the capacity of the signal: Increase the bandwidth or increase the signal to noise ratio.
So if you had an infinitely high signal to noise ratio, you could use 0.001 Hz of bandwidth to carry as much information as you like.
But in practice, the log function around the SNR means that there are diminishing returns for increasing SNR. Beyond a certain point, large increases in SNR provide little improvement in channel capacity.
Two typical ways this is used:
In multilevel AM coding, instead of just sending the carrier or not sending it in a bit interval, you might have 4 different amplitude levels that can be sent. This allows two bits of information to be encoded in each bit interval and increases the bits per Hz by a factor of two. But it requires a higher SNR to be able to consistently distinguish between the different levels.
In FM radio broadcasting, the broadcast signal bandwidth is broader than the audio signal being carried. This allows the signal to be received accurately even in low SNR conditions.
Could not 1Hz and 1.001Hz serve as two separate channels? In terms of practicality I realize this would be difficult, nearly impossible to measure this difference with modern electronics
In fact it's quite easy to distinguish 1 Hz from 1.001 Hz with modern electronics. You simply need to measure the signal for a few thousand seconds and count the number of cycles.
So in that sense, shouldn't there be an infinite amount of bandwidth between two frequencies?
No. Between 1.00 Hz and 1.01 Hz there is exactly 0.01 Hz of bandwidth. It doesn't need to be counted in whole numbers of Hertz, but there's only as much bandwidth between two frequencies as the difference between those frequencies.
Edit
From what you're saying, the B in the Shannon equation has nothing to do with carrier frequency? This is modulation bandwidth only?
Essentially yes. B is the bandwidth, or the range of frequencies over which the signal spectrum has energy.
You could use a 1 MHz band around 10 MHz, or a 1 MHz band around 30 GHz, and the channel capacity would be the same (given the same SNR).
However in the simplest cases, like dual-sideband AM, the carrier tends to sit in the middle of the signal band. So if you have a 1 kHz carrier, with dual-sideband AM, you can only hope to use the bandwidth from 0 to 2 kHz.
Single-sideband obviously doesn't follow this rule.
An information signal spanning 2.4GHz, what does this mean?
I mean that the spectrum contains energy over a 2.4 GHz band.
If you had a narrow band filter and an RF power detector, you could detect energy in the signal at any frequency within the band.
are you taking about the carrier wave now?
No. The carrier is a single frequency. The complete signal contains energy over a band of frequencies around the carrier. (Again, single-sideband pushes all the signal to one side of the carrier; also, suppressed-carrier AM eliminates most of the energy at the carrier frequency)
As N->0, C will approach infinity. So in theory an infinite amount of data can be encoded into a single wave?
In principle, yes, by (for example) varying the amplitude in infinitely small steps and infinitely slowly.
In practice, the SNR term has that log function around it, so there are diminishing returns for increasing SNR, and also there are fundamental physical reasons that the noise never goes to 0.
Best Answer
There are many different definitions of bandwidth and engineers are used to switching back and forth between them and comparing apples and oranges to get the correct answer that they both are fruit. For example, if one says that the bandwidth of a lowpass filter is 10 kHz, then usually it means that the output power of a signal at 10 kHz is attenuated by a factor of 2 (3 dB attenuation) compared to the output power at DC. It is not the case that signals above 10 kHz are blocked entirely; if that were the intent, then the filter would have been referred to as an ideal lowpass filter with a cutoff at 10 kHz. For commonly used low-pass filters, the output power decreases at the rate of n dB per octave as the frequency increases beyond the 3 dB point, where n depends on the filter order: sharper decreases require higher-order (and thus more expensive) filters.
Similarly, if your antenna is usable from 2400 MHz to 2588 MHz, then I would hesitate at using it for signaling at a carrier frequency of 2588 MHz since the upper sideband would be attenuated considerably compared to the lower sideband. You want to be sure that the entire signal bandwidth fits comfortably within the specified range of operation.