Class: PWN::SDR::Decoder::DECT::DemodIQ

Inherits:
Object
  • Object
show all
Defined in:
lib/pwn/sdr/decoder/dect.rb

Overview

Streaming DECT GFSK demod for Base.run_iq — I/Q → RFPI/A-field.

Instance Method Summary collapse

Constructor Details

#initialize(rate:, carrier: nil) ⇒ DemodIQ

Returns a new instance of DemodIQ.



23
24
25
26
27
28
# File 'lib/pwn/sdr/decoder/dect.rb', line 23

def initialize(rate:, carrier: nil)
  @rate    = rate.to_f
  @carrier = carrier
  @bits    = []
  @seen    = {}
end

Instance Method Details

#feed_iq(samples, rate: nil) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/pwn/sdr/decoder/dect.rb', line 30

def feed_iq(samples, rate: nil, &)
  @rate = rate.to_f if rate
  [false, true].each do |inv|
    nb = PWN::SDR::Decoder::DSP.gfsk_slice(
      iq: samples, rate: @rate, baud: BAUD, bt: 0.5, invert: inv
    )
    scan(nb, inv, &) if block_given?
  end
end