discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] How to build a QT GUI fsk/nrz transmitter for a g


From: Cinaed Simson
Subject: Re: [Discuss-gnuradio] How to build a QT GUI fsk/nrz transmitter for a given device
Date: Sun, 23 Apr 2017 14:31:07 -0700
User-agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.0.1

On 04/19/2017 12:36 PM, Dane Goodwin wrote:
> Hey all
> 
> I'm new to SDR stuff, and am trying to learn as much as I can. As
> hands-on practice is best, I found a cheap and simple rf device to
> practice with. Specifically, this remote
> <http://www.grandviewscreen.com/pdf/manuals/Accessaries/1GD-868MnIII%28RF_Remote_Controller%29.pdf>.
> 
> It transmits an (almost) static signal, which can be replayed using
> hackrf_transfe> Each button repeats the same signal, but with a counter
> which increments as long as you hold the button down. Each button
> transmits 12 bytes which include a preamble, sync word, command, said
> weird counter, and a null byte to signal the end of the transmission. As
> I understand, the data is fsk/nrz encoded, but I've included a
> screenshot of the waveform I see right after the Quadrature Demod block,
> so you can see what I see. From the doc, the baud rate is 2400.
> 
> I'd like to create a software version of the remote, which transmits the
> same signals as the remote, but using GRC to encode the message
> properly. This is where I'm stuck, so, I'm asking for help with two things: 
> 1. How do you go about creating a qt gui source block which outputs
> something that GRC can use? What datatype should this block output?
> 
> 2. How would I encode that output in such a way that it would be
> identical to what the remote transmits? I tried using the GFSK modulator
> with various settings, but that didn't work, and I'm not sure why.
> 
> Regarding what I've done so far: I created a receiver for the remote in
> GRC. I used two custom blocks, so I've only attached a screenshot of the
> graph in this mail. The Pattern Dump block comes from here
> <https://github.com/tkuester/gr-reveng>, and basically looks for a given
> preamble, and passes the bits that follow to another block as a message.
> I wrote the receiver block, which checks those messages, and runs a
> different os command depending on what button was pressed.

Incidentally, the RF gain on the HackRF should be 0 when receiving. It
doesn't have a front end - a strong receiving signal can smoke the RF
amplifier unless you have an external band pass filter.

I would remove the Low Pass Filter and add it's taps to the Xlating FIR
filter:

    firdes.low_pass_2(1, 1, cutoff_frequency/samp_rate,
transition_width/samp_rate, firdes.WIN_BLACKMAN, 6.76))

The sampling rate entering the re-sampler is 32 kHz, which is then
decimated by 781 and interpolated by 4, giving a down sampled rate of
164 Hz.

And from the Clock Recovery MM Omega 4 block it appears the number of
samples per symbol (sps) is 4.

Hence

   (samples/sec)/(samples/symbols) = symbols/sec = 41 symbols/sec

Working backwards - using the sampling rate of 32 kHz, the signal should
probably be re-sampled with a decimation of 10 and interpolation of 3
yielding 2400 symbols/sec.

And good luck with the protocol - it reads like a confused child wrote it.

In any case, I didn't realize the HackRF could sample at 32 kHz - I've
never tried it - I'll have to give it a try when I get back.

Does the transmitter have a FCC id?

Also, would it be possible to get copy of the capture file so I can play
with it?

-- Cinaed


> 
> Thanks in advance for the help!
> 
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]