I have a project which is transmitting data using an 868MHz CW signal which is generated outside of the Arduino (which will be my modulation device).
The idea is to control a BS_Antenna to reflect back this 868MHz signal after integrating a bit_stream into this signal, and this bit_stream should be encoded using FSK. i.e., the signal outputted from the antenna which is connected to Arduino should manipulate the incident signal to change its frequency corresponding to the transmitted bit,
I searched online, and I found out that is the most used technique is to use PWM.
Did you think up this project all by yourself? What sources did your use and can you give us the links so we can get up to speed on the various parts of the project?
The problems with the code are
1- bit_duration of the FSK signal is not fixed which is absolutely a problem for FSK.
2- The code does not work on high baud rates, for example, 1200.
But in your fist post you specified CW or continuous wave signal, which is basically on-off keying.
The real problem with FSK is making it coherent, or making the frequency change only when the RF wave crossed the zero point, just like mains AC zero crossing. Unless that can be done, you are introducing spurious frequencies into the RF stream.
There is not much to study, the backscatter module is a simple impedance variator antenna, which jumps from the state (reflection) to state (non-reflection) by switching between two different impedances,
My understanding is that backscatter sensors in an FSK network modulate the backscatter device with sub-carrier frequencies.
For example the device might use a sub-carrier of 10 kHz for 10 ms (the bit period) to represent a digital "zero" symbol and 11 kHz " for 10 ms to represent a "one" in a binary FSK system. The sub-carrier is simply a square wave on/off keying the backscattering device. To get started, at least, this could be simply implemented using the Arduino tone library, but this won't allow fine control of the bit periods which potentially gives rise to the coherency issues Paul hinted at in post #7.
The backscattered signal will be a mixing product of the 868 MHz carrier and the sub-carrier which will have energy at the sum and difference of the two. Thus the receiver would detect energy at 868 MHz + 10 kHz as a "zero" symbol and 868 MHz + 11 kHz as a "one".
There may be another sensor in the environment using different FSK sub-carriers, say 12 kHz and 13 kHz, operating at the same time and the receiver should be able to simultaneously each sensor without otherwise deconflicting the sensors.
Here's a paper on one demonstration system. In this case, they're using a single sub-carrier with the binary signalling states being the presence and absence of the carrier side band. They use a low cost RTL SDR type receiver: