[GSoC] FEC week 4 blog post

2024-06-24 Thread Kayla Comer
Hi all,

Just posted last week's update to my blog:
https://kaylacomer.github.io/blog/. Closer to a functional Turbo encoder
and decoder but still not quite there.

As always, you can view updates to my code here:
https://github.com/kaylacomer/gr-fec_dev.

Best,
Kayla


Trying to Receive the ADS-B signal and trying to open a external software

2024-06-24 Thread Nitheesh Babu
 Hi Friends,

I am trying to receive the ADS-B signals to identify the aircraft location
, amplitude, speed, etc in GNU Radio using RTL-SDR V4. But in my output I
can't receive the ADS-B signal. I have no idea how to check my Flowgraph.
Screenshot and .grc file of my flowgraph is attached below. Also I want to
connect this with an external software called VIRTUAL RADAR to locate the
fligh. Please help me friends. Feel free to ask if any other information is
required.
Thank you
Nitheesh Babu


adsb_rx.grc
Description: Binary data
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

#
# SPDX-License-Identifier: GPL-3.0
#
# GNU Radio Python Flow Graph
# Title: ADS-B Receiver
# Author: Matt Hostetter
# GNU Radio version: 3.10.9.2

from PyQt5 import Qt
from gnuradio import qtgui
from PyQt5 import QtCore
from gnuradio import analog
from gnuradio import blocks
from gnuradio import gr
from gnuradio.filter import firdes
from gnuradio.fft import window
import sys
import signal
from PyQt5 import Qt
from argparse import ArgumentParser
from gnuradio.eng_arg import eng_float, intx
from gnuradio import eng_notation
import gnuradio.adsb as adsb
import osmosdr
import time
import sip



class adsb_rx(gr.top_block, Qt.QWidget):

def __init__(self):
gr.top_block.__init__(self, "ADS-B Receiver", catch_exceptions=True)
Qt.QWidget.__init__(self)
self.setWindowTitle("ADS-B Receiver")
qtgui.util.check_set_qss()
try:
self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
except BaseException as exc:
print(f"Qt GUI: Could not set Icon: {str(exc)}", file=sys.stderr)
self.top_scroll_layout = Qt.QVBoxLayout()
self.setLayout(self.top_scroll_layout)
self.top_scroll = Qt.QScrollArea()
self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
self.top_scroll_layout.addWidget(self.top_scroll)
self.top_scroll.setWidgetResizable(True)
self.top_widget = Qt.QWidget()
self.top_scroll.setWidget(self.top_widget)
self.top_layout = Qt.QVBoxLayout(self.top_widget)
self.top_grid_layout = Qt.QGridLayout()
self.top_layout.addLayout(self.top_grid_layout)

self.settings = Qt.QSettings("GNU Radio", "adsb_rx")

try:
geometry = self.settings.value("geometry")
if geometry:
self.restoreGeometry(geometry)
except BaseException as exc:
print(f"Qt GUI: Could not restore geometry: {str(exc)}", file=sys.stderr)

##
# Variables
##
self.threshold = threshold = 4
self.sample_rate = sample_rate = 2e6
self.gain = gain = 22.9
self.freq = freq = 1091*1e6

##
# Blocks
##

self._threshold_range = qtgui.Range(1, 7, 0.5, 4, 200)
self._threshold_win = qtgui.RangeWidget(self._threshold_range, self.set_threshold, "'threshold'", "counter_slider", float, QtCore.Qt.Horizontal)
self.top_layout.addWidget(self._threshold_win)
self._gain_range = qtgui.Range(20, 60, 2, 22.9, 200)
self._gain_win = qtgui.RangeWidget(self._gain_range, self.set_gain, "'gain'", "counter_slider", float, QtCore.Qt.Horizontal)
self.top_layout.addWidget(self._gain_win)
self.rtlsdr_source_0 = osmosdr.source(
args="numchan=" + str(1) + " " + ""
)
self.rtlsdr_source_0.set_sample_rate(sample_rate)
self.rtlsdr_source_0.set_center_freq(freq, 0)
self.rtlsdr_source_0.set_freq_corr(0, 0)
self.rtlsdr_source_0.set_dc_offset_mode(2, 0)
self.rtlsdr_source_0.set_iq_balance_mode(2, 0)
self.rtlsdr_source_0.set_gain_mode(False, 0)
self.rtlsdr_source_0.set_gain(gain, 0)
self.rtlsdr_source_0.set_if_gain(20, 0)
self.rtlsdr_source_0.set_bb_gain(20, 0)
self.rtlsdr_source_0.set_antenna('', 0)
self.rtlsdr_source_0.set_bandwidth(0, 0)
self.qtgui_time_sink_x_0_0_0 = qtgui.time_sink_f(
300, #size
int(sample_rate), #samp_rate
"Demodulated", #name
2, #number of inputs
None # parent
)
self.qtgui_time_sink_x_0_0_0.set_update_time(5)
self.qtgui_time_sink_x_0_0_0.set_y_axis(0, 1)

self.qtgui_time_sink_x_0_0_0.set_y_label('Amplitude', "")

self.qtgui_time_sink_x_0_0_0.enable_tags(True)
self.qtgui_time_sink_x_0_0_0.set_trigger_mode(qtgui.TRIG_MODE_TAG, qtgui.TRIG_SLOPE_POS, 0, 1.25e-6, 0, "burst")
self.qtgui_time_sink_x_0_0_0.enable_autoscale(True)
self.qtgui_time_sink_x_0_0_0.enable_grid(True)
self.qtgui_time_sink_x_0_0_0.enable_axis_labels(True)
self.qtgui_time_sink_x_0_0_0.enable_control_panel(False)
self.qtgui_time_sink_x_0_0_0.enable_stem_p