Go Down

Topic: How to: transmitting modulated RF bits (Read 168 times) previous topic - next topic

Stan09

Sep 15, 2019, 10:45 am Last Edit: Sep 15, 2019, 11:24 am by Stan09
I am trying to emulate RF remote that controls Pan/Tilt device. Using RTL-SDR dongle and Radio Hacker software I recorded packages that remote transmits, determined the bit length and recorded bit code for each of 4 buttons of remote, all nice and dandy. I just ordered standard Arduino RF transmitters 433 MHz, and while waiting for them to arrive I am trying to understand how I should code transmission of these packages. As I understand, RF library accepts just a bit code as a string (like, '111011010100' etc) and a pulse length, that is, what is a length of a bit in microseconds; and then it transmits 433 MHz wave modulated by rectangular pulses, and width of each pulse is equal to 'pulse length' parameter (AM modulation)
Now the problem:
as I see from recorded remote packages, bits are represented not by rectangular shape, but by a 4100Hz sinusoidal modulation:

 (Audacity screenshot).
The length of  each bit is 1 ms, each contains ~3 periods of sine at 4100Hz frequency.

So how I can reproduce such structure with Arduino transmitters? I cannot split 'bits' into sine periods and use them as new '0' and '1's because each  bit of a package contains fractional number of periods.

I am going to find out if this modulation is required for communication, but have to wait until transmitter board arrives.


jremington

#1
Sep 15, 2019, 11:00 pm Last Edit: Sep 16, 2019, 03:19 am by jremington
That waveform results from some sort of interference or sampling artifact at the receiving end, either the receiving radio or audio sampling. It is extremely difficult to transmit such a waveform.

Could be that some signal is beating with the (41 kHz ?) sampling digitizer in the computer running Audacity.

If sampling at, say 41 kHz, you cannot permit a signal at frequency higher than 20.5 kHz in the input stream (look up the "sampling theorem"). Try adding a low pass filter to the receiver output (e.g. 10K + 0.01 uF).

Stan09

#2
Sep 16, 2019, 11:30 am Last Edit: Sep 16, 2019, 11:32 am by Stan09
Turned out this waveform is software artifact plus incorrect recording settings. First of all, SDR# produces way better recordings; I also recalled someones note that recording should not be done at the peak frequency; So when I recorded in SDR# at 433.76 MHz I got a perfect waveform; surprisingly, when recording at center frequency 433.92 the waveshape is totally distorted:

This is Audacity screenshot;
at the top is the package produced by remote I am trying to emulate;
in the middle is emulated package by HS1000A transmitter at 433.76,
and at the bottom - the same package from HS1000A but recorded at peak frequency.

Here is HS1000A  emission spectrum, prepared to record at peak frequency (bad, bad!):


Original remote has quite different spectrum and recording at the peak is not different from recording off-center:


jremington


Go Up