• Stars
    star
    112
  • Rank 312,240 (Top 7 %)
  • Language
    Python
  • License
    GNU Affero Genera...
  • Created almost 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Passive Radar Code for the KrakenSDR

Kraken SDR Passive Radar

Please consult our Passive Radar Wiki page at https://github.com/krakenrf/krakensdr_docs/wiki/08.-Passive-Radar for more information.

Quickstart Raspberry Pi 4 Image

The passive radar software is preinstalled on the DOA PI4 Image at https://github.com/krakenrf/krakensdr_doa/releases/

By default this image runs the DOA direction finding code on boot.

To change to the passive radar code, connect a monitor and keyboard (or SSH in), and edit start.sh in the home folder. You will need to comment out the DOA code run lines, and uncomment the passive radar lines.

Make sure to change the heimdall preconfig file to pr_2ch_2pow20, pr_2ch_2pow21 or pr_2ch_2pow22

Quickstart VirtualBox Image

See our Wiki for more information about our VirtualBox Image and where to download it https://github.com/krakenrf/krakensdr_docs/wiki/10.-VirtualBox-and-Docker-Images#virtualbox

Once you are in the OS to start the passive radar code, open a terminal and browse to the krakensdr_pr folder. Then run ./kraken_pr_start.sh. Next see the Running heading below.

Manual Installation

This is only required if you are not using the premade images, and are setting up the software from a clean system.

  1. Install the prerequisites
sudo apt update
sudo apt install libfftw3-3
sudo apt install libfftw3-dev
  1. Install Heimdall DAQ

If not done already, first, follow the instructions at https://github.com/krakenrf/heimdall_daq_fw/tree/development to install the Heimdall DAQ Firmware.

  1. Set up Miniconda environment

You will have created a Miniconda environment during the Heimdall DAQ install phase.

Please run the installs in this order as we need to ensure a specific version of dash is installed.

conda activate kraken

conda install pip
conda install quart
conda install pandas
conda install orjson
conda install matplotlib

pip3 install dash_bootstrap_components
pip3 install quart_compress
pip3 install dash_devices
pip3 install pyapril
pip3 install cython
pip3 install pyfftw

conda install dash==1.20.0
conda install werkzeug==2.0.2
  1. Clone the krakensdr_pr software
cd ~/krakensdr
git clone https://github.com/krakenrf/krakensdr_pr

Copy the the krakensdr_doa/util/kraken_doa_start.sh and the krakensdr_doa/util/kraken_doa_stop.sh scripts into the krakensdr root folder of the project.

cd ~/krakensdr
cp krakensdr_pr/util/kraken_pr_start.sh .
cp krakensdr_pr/util/kraken_pr_stop.sh .

Running

Local operation (Recommended)

./kraken_pr_start.sh

Then browse to KRAKEN_IP_ADDR:8080 in a webbrowser on a computer on the same network.

When the GUI loads, make sure to set an appropriate passive radar preconfig ini for the Heimdall DAQ. For example, choose "pr_2ch_2pow21", then click on "Reconfigure and Restart DAQ". This will configure the DAQ for passive radar, and then start the processing.

Please be patient on the first run, at it can take 1-2 minutes for the JIT numba compiler to compile the numba optimized functions, and during this compilation time it may appear that the software has gotten stuck. On subsqeuent runs this loading time will be much faster as it will read from cache.

Use CH0 to connect your reference antenna, and CH1 for your surveillance antenna.)

Remote operation

UNTESTED

  1. Start the DAQ Subsystem either remotely. (Make sure that the daq_chain_config.ini contains the proper configuration) (See:https://github.com/krakenrf/heimdall_daq_fw/Documentation)
  2. Set the IP address of the DAQ Subsystem in the settings.json, default_ip field.
  3. Start the DoA DSP software by typing: ./gui_run.sh
  4. To stop the server and the DSP processing chain run the following script: ./kill.sh

After starting the script a web based server opens at port number 8088, which then can be accessed by typing "KRAKEN_IP:8080/" in the address bar of any web browser. You can find the IP address of the KrakenSDR Pi4 wither via your routers WiFi management page, or by typing "ip addr" into the terminal. You can also use the hostname of the Pi4 in place of the IP address, but this only works on local networks, and not the internet, or mobile hotspot networks.

More Repositories

1

KiwiSDR_PCB

KiCAD PCB files for KiwiSDR project including active antenna and bias tee
KiCad Layout
21
star
2

InvariantEKF_GNSS_IMU

C++
18
star
3

FlyDog_SDR_GPS

Forked from Beagle_SDR_GPS for specialized add-on SDR board with 16-Bit ADC which improved from KiwiSDR.
C++
10
star
4

PPP_AR

Multi-GNSS Precise Point Postioning with Ambiguity Resolution
C
10
star
5

OFDM-Joint-Radar-Communications

MATLAB
8
star
6

DIC

Digital Image Correlation. OpenCV with Python wrapper
Python
8
star
7

IntegratedNavigation

integrated navigation using INS/GNSS
C++
8
star
8

parallella-platform

Verilog
6
star
9

GNSS-Software-Defined-Radio

GPS software-defined receiver (SDR) which acquires and tracks a single GPS L1 C/A signal.
MATLAB
6
star
10

E203_dma

Verilog
5
star
11

RIEKF-KITTI

Left/Right Invariant Extended Kalman Filter Localization for KITTI Dataset.
MATLAB
4
star
12

insar

Utilities for SAR and InSAR processing
Python
4
star
13

MCUProgFast

MCU programmer using CMSIS-DAP (DAPLink), using Keil MDK's *.FLM Flashing Algorithm
Python
4
star
14

slam_and_leetcode

一个SLAM算法方向学生的痛苦之旅,包括leetcode刷题、c++面经和SLAM相关知识点。欢迎协作!
4
star
15

zjv-core

10 stage RISC-V (riscv) core capable of booting RV64 Linux and Debian on FPGA
Scala
3
star
16

Livox_Fisheye_Fusion

C++
3
star
17

GNSS_Programming

Continuing programming of GNSS algorithm and application
C
3
star
18

esp32-ice40up5k

Files for a dev board containing an ESP32-Wrover module and an ice40up5k-sg48 FPGA
Python
3
star
19

uav-solar-sensor-angle

Codes to calculate solar-sensor zenith and azimuth angles directly from hyperspectral images collected by UAV. Works only for UAVs that have high resolution GNSS/IMU unit.
Jupyter Notebook
3
star
20

FAST_LIO_Modified

Applied to the modified livox_ros_driver pointcloid2 format
C++
2
star
21

Navigation_GNSS

MATLAB
2
star
22

TransmetaCrusoeExposed

Crusoe Exposed: Transmeta TM5xxx Architecture - text from an anonymous reverse engeneerer
C++
2
star
23

vins_mono_noted

vins_mono application 计算机视觉life
C++
2
star
24

coxgraph

A multi robot collaborative dense SLAM
C++
2
star
25

rp2040-base-pcb-template

A template EasyEDA project with Raspberry Pi RP2040, USB-UART Bridge, 16MB Flash and 800mA LDO optimised for JLCPCB PCBA. 🔌 🔨
2
star
26

GNSS-spoofing

A spoofing demonstration using GNSS and GNSS-SDR-SIM
C
2
star
27

SHA256_Hardware_Accelerator

SHA256 Hardware Accelerator Synthesizable Verilog RTL
Verilog
2
star
28

ad936x_lvds_if

ad936x lvds interface
Verilog
2
star
29

fyp-rca-taiga

SystemVerilog
2
star
30

GNSS_INS

学习严老师的C++代码,使用QT重新编译
C++
2
star
31

UBX_Decode_ESF-NAV

UBX_Decode_ESF-NAV
MATLAB
2
star
32

Freelance_SDR_FPGA_2019-FaultTolerant

Open Source HDLC and fault tolerant frame syncronization IPs using VHDL
VHDL
2
star
33

Pipelined-ALU

This module is a Verilog Implementation of a fully pipelined Arithmetic Logic Unit which is capable of performing all sorts of computations on Integers. The ARM 7 instruction set architecture is followed in the implementation which includes all of the standard operations with a control on weather to write the data back to register file, or not. It also takes care of the dependencies by using data forwarding methods.
Verilog
2
star
34

useful-link-for-me

Usefule link about MCU/FPGA/CPU/RTL design
1
star
35

hlsVHDL_fixed_point_math

VHDL
1
star
36

SpinalHDL-FPGA-IPbox

SystemVerilog
1
star
37

SIFT3D-installers

Installers for SIFT3D on various platforms.
1
star
38

Ace21064

RISCV Superscalar Microprocessor Implemention
Verilog
1
star
39

fpga-cnn-accelerator

VHDL
1
star
40

FPGA-Vector-Addition-RTL-VHDL

First translation of C program for vector addition into RTL VHDL
VHDL
1
star
41

EmLab_Amp_HW-lpc4370

Hardware for 80dB amp
HTML
1
star
42

phased-array-Mux-FPGA

Verilog 93 implementation of a special multiplexer for use in phased arrays
Verilog
1
star
43

gps-hw3

This repository contains MATLAB code used to complete HW3 for Fundamentals of GPS.
MATLAB
1
star
44

verilog-advanced-synthesis-cookbook

Verilog
1
star
45

interferometer

Verilog 12-channel intensity correlator for FPGAs
C
1
star
46

ROS-NAVIGATION-WITH-IMU-SENSOR-AND-MAGNETOMETER

MATLAB
1
star
47

STM32MP1_TestBoard

HTML
1
star
48

hgdb-rtl

C++
1
star
49

RV32I-Single-Cycle

This repository contains the implementation of a single cycle based on RISC-V ISA and implemented on `LOGISIM`
SystemVerilog
1
star
50

gnss_compass

2个UBX M8T实现双天线侧向功能
C
1
star
51

hlsVHDL_memory_library

VHDL
1
star
52

ula32bits

Implementation of a 32-bit ULA using VHDL.
VHDL
1
star
53

multi_layer_perceptron_verilog

Verilog
1
star
54

ArmleoCPU

RISC-V RV32IM compatible CPU created from scratch. Includes MMU and D/I-Caches
Verilog
1
star
55

CassieHardware

C++
1
star
56

Stereo-Matching

Rectify Difference in Vertical Direction in Binocular Cameras based on Fearture Points Matching. As a consequence, the Cloud Points and Depth Map would be calculated.
Python
1
star
57

gnss_imu

A repository for launching GNSS/IMU Tightly-coupled localization method aided with fisheye camera on ROS
C++
1
star
58

Verilog-Register-File-and-ALU

RF(register file) and ALU
Verilog
1
star
59

rk-open-docs

internal docs
Shell
1
star
60

8_bit_processor

this repository gives an overview and step by step description on how to make an 8 bit processor using verilog HDL on an FPGA.
Verilog
1
star
61

Video_Analytics

Developing sensor using Computer Vision to monitor movement and produce vibration trace of critical bridge elements.
Jupyter Notebook
1
star
62

GNSS_SDR-2

MATLAB
1
star
63

rtk_gps_src

C
1
star
64

Plex-Automatic-Pre-roll-GUI

This is the new and improved Plex Automatic Pre-roll script with a GUI
Python
1
star
65

M.A.Nt.I.S

Self Driving Car project using MATLAB and RWTH Mindstorms NXT Toolbox for LEGO® Mindstorms NXT
MATLAB
1
star
66

SPU_Multimedia_Processor

VHDL Model of a Cell Processor Synergistic Processing Unit
VHDL
1
star
67

JLKCmdr

J-LINK Commander like tool for JLink, adding HardFault diagnosis and SVD-based peripheral register access.
Python
1
star
68

piocamera

CAMERA-IF for Raspberry Pi Pico (RP2040)
C
1
star
69

RISC-V_Vector_Accelerator_For_ML

VHDL
1
star
70

hlsVHDL_ethernet

VHDL
1
star
71

HamPWR-lpc4370

USV board for HAMNET Nodes
1
star
72

SDRAM-Controller-1

Verilog 拥有极简用户接口的 SDR SDRAM 控制器
SystemVerilog
1
star
73

SIFT-1

SIFT Verilog
C
1
star
74

hlsVHDL_fpga_interconnect

VHDL
1
star
75

matlabINS

MATLAB
1
star
76

radar_slam

C++
1
star
77

hlsVHDL_dynamic_simulation_library

VHDL
1
star
78

nnls_solver

generic non-negative least squares solver
C
1
star
79

Verilog-Program-Counter-and-Shifter

PC(Program counter) and SHIFTER(arithmatic and logical)
Verilog
1
star
80

lidar-mapping

High precision mapping using LIDAR, GNSS and IMU
C++
1
star
81

GPSDO_by_DF4IAH

GNSS or DCF77 disciplined OCXO based on hardware by DL4ZAO and DL7UKM.
C
1
star
82

Detect-Interference-on-GNSS-Signals

Apply LSTM to Detect Interference in Satellite Signals
Jupyter Notebook
1
star
83

Benchmark-of-RISC-V-INSTRUCTIONS-concerning-power-consumption-

aim is straight forward -> the power analysis of each RISC-V instructions , such that in future an extremely superior RISC-V ISA core can be designed , that can give best performance in both prospective -> highest speed during execution of any task and along with lowest power consumption as well !
Makefile
1
star
84

Monocular_ORB_SLAM2_System

C++
1
star
85

ArmleoCPU-1

Development branch: Multicore RV32IMA w/ MMU, Cache capable of booting Linux. two stage: RISC-V RV32IM compatible CPU created from scratch. Includes MMU and D/I-Caches
SystemVerilog
1
star
86

Matrix-Multiplication-VHDL

Multiplying a square matrix on hardware using one clock cycle and a 3-stage pipeline.
VHDL
1
star
87

RV32IMF-MicroGT_01

A low power, 6 stage in order pipeline, 2 privilege level (M and U), clock cicle of 100MHz, 32 bit RISC-V softcore for FPGA. Written in SystemVerilog.
SystemVerilog
1
star
88

RPX-100-SDR

The concept of the WRAN software uses the IEEE 802.22 frame structure for prototyping to make use of super frames and preambles for cognitive channel management, which allows a dynamic resource allocation between base stations, but also between multiple users at one base station. Orthogonal Frequency Division Multiple Access (OFDMA) is used in the upper layers, as Modulation techniques QPSK, 16-QAM and 64-QAM is supported. The software will support a connection-oriented MAC layer with cognitive functionality for dynamic and adaptive scheduling and management of coexistence of base stations in the same time-frequency domain (super frames).
C++
1
star
89

Graph-SLAM

simultaneous localization and mapping (SLAM) - To build a map of the environment and to simultaneously localize within this map for mobile robots navigating in unknown environments in absence of external referencing systems
Jupyter Notebook
1
star
90

fpga-6dof-inverse-kinematics

This implementation is on Xilinx Artix-7 100T FPGA with Vivado using Verilog and hosts the RISC-V processor. It introduces a hardware synthesized inverse kinematics algorithm that controls 6 degrees of freedom robotic arms and a sensor-based automatic control system. All systems are hardware-synthesized and work simultaneously. (2022-06-25~ (If I have some free time, I'll start working on it.))
C
1
star
91

gnss_multipath_mitigator

Python
1
star
92

Bfloat16-Floating-Point-Arithmetic-Unit

Design and implementation of a pipelined Bfloat16 Floating Point Arithmetic Unit using VHDL. This unit can perform addition, subtraction, multiplication, division and fused multiply-add/subtract operations. Bfloat16 is a 16-bit floating-point data type developed at Google and currently used in their Tensor Processing Units (TPU's). Thanks to its dynamic range, the Bfloat16 format can be useful for Machine Learning applications that work well with low-precision representations of data. This Bfloat16 unit will be used to add custom RISC-V floating-point instructions to a RISC-V processor that can potentially be used as a hardware accelerator for Machine Learning applications. This model will also be tested on and FPGA and possibly modified to achieve optimal performance. Work is still in progress.
VHDL
1
star