Top Banner
©2015 FLEXRADIO SYSTEMS SmartSDR API Ham-Com: June 13, 2015 Stephen Hicks, N5AC VP Engineering , FlexRadio Systems
68

N5AC 2015 06-13 Ham-Com SmartSDR API

Apr 14, 2017

Download

Software

N5AC
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

SmartSDR API

Ham-Com: June 13, 2015

Stephen Hicks, N5AC VP Engineering, FlexRadio Systems

Page 2: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

SDR Forum Update

SmartSDR APIs GLASS Project Maestro

Page 3: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

SmartSDR APIs

FLEX-6XXX

Windows Computer

UDP TCP

FlexLib

SmartSDR Ethernet API

SmartSDR FlexLib API

SmartSDR

SmartSDR-Windows

Page 4: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

SmartSDR Ethernet API Interfaces

FLEX-6XXXUDP TCP

PAN

DATA

MET

ER D

ATA

RF IQ

DAT

A

CLIE

NT D

ATA

DISC

OVE

RY

Streaming Data Control & Status

WFA

LL D

ATA

Page 5: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

API Standards

Radio control is a TCP/IP socket with simple commands (no standard known): slice create freq=14.1 ant=ANT1 mode=USB slice tune 0 14.105

Streaming Panadapter/Waterfall/Meter/Discovery data are VITA-49 Extension

I/Q and Real IF is VITA-49 IF Data (24-192ksps)

Page 6: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

TCP/IP socket connection to port 4992

API provides API version and a “handle” V1.1.0.0 H35E61405

Send commands!

Interface is asynchronous, commands are non-blocking

SmartSDR TCP/UDP API Connecting to radio

Page 7: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

SmartSDR TCP/UDP API Command Format

Command preface, sequence, v-bar, command C134|slice create freq=7.243

Response preface, sequence, v-bar, responseR134|50000002

Status preface, handle, v-bar, statusS67EF9A22|slice 0 freq=7.243 S67EF9A22|slice 0 filter_lo=300 filter_hi=2700

Page 8: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Slice Receivers, example

Create a slice receiverslice create [freq=<MHz>] [ant=<antenna>] [mode=<mode>]C34|slice create freq=14.236 mode=FDV R34|0

Tune a slice receiverslice tune 0 [freq=<MHz>] C45|slice 0 freq=14.236

Change slice receiver settingsslice set <slice> [<feature>=<value>] C71|slice set 0 diversity=1 tx=0 record=1R71|0

Page 9: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Ethernet API Simplicity

Example: K6TU iPad Control App

Requested API: July 1, 2013

Asked 3-4 questions

Beta iPad app delivered: August 18, 2013

Developed Objective-C interface library, now at:[email protected]:n5ac/smartsdr-objective-c

Page 10: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

All SmartSDR APIs are OPEN

SmartSDR APIs Launch Pagehttp://www.flexradio.com/amateur-products/flex-6000-signature-series/smartsdr-api/

Page 11: N5AC 2015 06-13 Ham-Com SmartSDR API

Sniffing TCP/IP API Using Wireshark

Page 12: N5AC 2015 06-13 Ham-Com SmartSDR API

Yes, we know

The objective was KISS, easy debugging & testing

Today, connections restricted

SmartSDR TCP/UDP API Dude, that is major hackable

Authentication and Authorization coming to a radio near you

Page 13: N5AC 2015 06-13 Ham-Com SmartSDR API

Ethernet API Documentation

Online Wiki docs

Source code

Community Supporthttp://community.flexradio.com

Page 14: N5AC 2015 06-13 Ham-Com SmartSDR API

FlexLib - SmartSDR in .NETFlexLib is a .NET 4.0 DLL that provides .NET style access to the SmartSDR Internet API

Simplifies interoperation with the radio in .NET environment - Object Oriented, Events, etc.

Provided at no charge on the FlexRadio website

Page 15: N5AC 2015 06-13 Ham-Com SmartSDR API

Getting started with FlexLib

Radio broadcasts out UDP/IP discovery packets

First, setup event handlers for RadioAdded and RadioRemoved events. API.RadioAdded += new API.RadioAddedEventHandler(API_RadioAdded); API.RadioRemoved += new API.RadioRemovedEventHandler(API_RadioRemoved);

Page 16: N5AC 2015 06-13 Ham-Com SmartSDR API

Initialize and wait for Radios

Tell the radio the application name and initialize the API API.ProgramName = "My Program”;

API.Init(); // start receiving discovery packets here

RadioAdded/Removed events fire as the discovery packets are broadcast through the network.

Now you have a reference to a Radio

Page 17: N5AC 2015 06-13 Ham-Com SmartSDR API

Selecting a RadioImmediately connect (e.g. CAT, DAX)*

Select from a list (e.g. SmartSDR)

*Immediate connection may behave in unexpected ways in a multi-radio environment (connect to the wrong radio, etc)

Page 18: N5AC 2015 06-13 Ham-Com SmartSDR API

Attach to PropertyChanged Events

PropertyChanged events notify you of changes to radio objects

For example: radio.SliceAdded += new Radio.SliceAddedEventHandler(radio_SliceAdded);radio.SliceRemoved += new Radio.SliceRemovedEventHandler(radio_SliceRemoved);

radio.PanadapterAdded += new Radio.PanadapterAddedEventHandler( radio_PanadapterAdded); …

Page 19: N5AC 2015 06-13 Ham-Com SmartSDR API

Connect to the RadioNow a connection to the radio will provide you details

Connect: radio.Connect();

Once objects arrive (slices, panadapters, etc) you can attach to notify events within that object slice.PropertyChanged += new PropertyChangedEventHandler(slice_PropertyChanged); panadapter.PropertyChanged += new PropertyChangedEventHandler( panadapter_PropertyChanged);

Page 20: N5AC 2015 06-13 Ham-Com SmartSDR API

Observing and Controlling

With these objects, you can observe clients manipulating the radio and control the radio slice.Frequency = 14.185; // MHz slice.Mode = “USB”; slice.UpdateFilter(100, 2700); // Hz

Page 21: N5AC 2015 06-13 Ham-Com SmartSDR API

We Eat our own Dog FoodThe SmartSDR Windows client rests on FlexLib which rests on the Internet API

CAT and DAX also use FlexLib

You can do anything you see us do in SmartSDR

You have unprecedented control over a radio server!

Page 22: N5AC 2015 06-13 Ham-Com SmartSDR API

All SmartSDR APIs are OPEN

SmartSDR APIs Launch Pagehttp://www.flexradio.com/amateur-products/flex-6000-signature-series/smartsdr-api/

Page 23: N5AC 2015 06-13 Ham-Com SmartSDR API

Where to go for help?

SmartSDR TCP-UDP/IP APIhttp://wiki.flexradio.com

SmartSDR FlexLib (Windows .NET API)http://www.flexradio.com/downloads/flexlib_api-zip/

SmartSDR Objective-C Accesshttp://github.com/n5ac/smartsdr-objective-c

SmartSDR Waveform API GPL3 Source http://github.com/n5ac/smartsdr-dsp

Page 24: N5AC 2015 06-13 Ham-Com SmartSDR API

Where to go for help (con’t)FlexRadio Community (API Category) http://community.flexradio.com

The community is the best place for questions (please try to avoid sending us email directly)

SmartSDR FlexLib Documentation

Page 25: N5AC 2015 06-13 Ham-Com SmartSDR API

Documentation

Doxygen generated docs for FlexLib are available

SmartSDR FlexLib (Windows .NET API) Docshttp://www.flexradio.com/flexlib/annotated.html You can also look at example code (CAT/CODEC2) and at the Visual Studio Object Browser

Page 26: N5AC 2015 06-13 Ham-Com SmartSDR API

FlexRadio Community

Page 27: N5AC 2015 06-13 Ham-Com SmartSDR API

FlexRadio Community

Page 28: N5AC 2015 06-13 Ham-Com SmartSDR API

FlexRadio Community

Page 29: N5AC 2015 06-13 Ham-Com SmartSDR API

ANSI/VITA-49 Standard Quick Introduction

ANSI/VITA 49.0-2009 VITA Radio Transport (VRT) Standard (www.vita.com)

Designed specifically for RF/IF and other radio data

Supports high accuracy frequencies, data, time, etc.

Includes metadata layer (self-describing)

Comprehends complex architectures

Comprehends computing & network challenges

Page 30: N5AC 2015 06-13 Ham-Com SmartSDR API

Metadata (a.k.a Context) describes the system: Tuned Frequency, Timestamp, sample rate, etc.

Data carries the actual samples

ANSI/VITA-49 Standard Types of data

ADCDown- converter DSP

Receiver Metadata

Data

Page 31: N5AC 2015 06-13 Ham-Com SmartSDR API

ANSI/VITA-49 Standard Four data types

Standard Extension

DataIF Data Stream

• Real/Complex Data • Fixed/Floating Point • Flexible Packing

Extension Data Stream

• Any type of data • Custom data formats, etc.

Context

IF Context Stream • Frequency • Power • Timestamp • Location…

Extension Context Stream

• Any kind of context • Custom formats

Page 32: N5AC 2015 06-13 Ham-Com SmartSDR API

ANSI/VITA-49 Standard FLEX-6000

Standard Extension

Data

IF Data Stream • Real and I/Q sample data • Both Real and Complex • Floating Point • Processing Efficient

Extension Data Stream • Panadapter • Waterfall • Metering • Compressed Audio (Opus)

Context IF Context Stream • None today, easily added

Extension Context Stream

• None today

Page 33: N5AC 2015 06-13 Ham-Com SmartSDR API

ANSI/VITA-49 Standard IF Packet Format

Page 34: N5AC 2015 06-13 Ham-Com SmartSDR API

Packet Type (IF, IF context, Extension, Extension Context)

Whether Class ID, Trailer are included, type of timestamp

Rolling packet count and packet size

ANSI/VITA-49 Standard IF Packet Format, header

Page 35: N5AC 2015 06-13 Ham-Com SmartSDR API

OUI = Organization (FlexRadio Systems = 0x001C2D)

Information Class (SMOOTHLAKE = 0x534C)

Packet Class (for FRS varies by data type)

ANSI/VITA-49 Standard IF Packet Format, Class ID

Page 36: N5AC 2015 06-13 Ham-Com SmartSDR API

Link Efficient reduces network bandwidth (mostly) Processing Efficient reduces CPU effort FlexRadio Systems uses Processing Efficient today

ANSI/VITA-49 Standard IF Packet data packing

LINK EFFICIENT PROCESSING EFFICIENT

Page 37: N5AC 2015 06-13 Ham-Com SmartSDR API

ANSI/VITA-49 Standard IF Context Information

Page 38: N5AC 2015 06-13 Ham-Com SmartSDR API

Sign-up for developers

Page 39: N5AC 2015 06-13 Ham-Com SmartSDR API

Sign-up for developers

Page 40: N5AC 2015 06-13 Ham-Com SmartSDR API

Why register?

Invitations to FlexRadio Developer Town Halls

Emails with important developer updates

Access to early code

Registration is completely optional

Page 41: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Example API DesignApril 25th “I started working on a Android App…”

Page 42: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Example API DesignApril 26th “Now we are getting somewhere.  I successfully graphed live FFT data…”

Page 43: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Example API DesignApril 26th “Here is what I have so far.  Much better me thinks :)”

Page 44: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Example API DesignApril 27th “I got a pan-adapter successfully run on android”

Page 45: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Example API DesignMay 8th “here is a little demo”

Page 46: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

On what platforms? If you can write code on it…

OS X

iOS

Linux (BeagleBone, Ubuntu, etc.)

Arduino

Windows

Page 47: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

http://goo.gl/3zR7uz

Page 48: N5AC 2015 06-13 Ham-Com SmartSDR API

GLASS  Project  OverviewMay  2015

Global  AIS  on  Space  Station

Page 49: N5AC 2015 06-13 Ham-Com SmartSDR API

GLASS  Project

❑ GLASS  Project  ▪Global  AIS  on  Space  Station  (GLASS)  is  a  collaborative  applied  research  and  development  project  to  assess  the  practical  value  of  AIS  data  collected  on  the  International  Space  Station  (ISS)  for  maritime  operations  and  worldwide  MDA  

❑ Majority  funded  by  CASIS,  an  organization  selected  by  NASA  to  maximize  use  of  the  ISS  U.S.  National  Laboratory  ▪ Two-­‐year  initiative  beginning  September  2014  ▪ CASIS  contribution  of  more  than  $500,000  ▪All  participants  making  significant  in-­‐kind  contributions

49

Page 50: N5AC 2015 06-13 Ham-Com SmartSDR API

Rationale

❑ Nearly  all  commercial  ships  are  tracked  using  Automatic  Identification  System  (AIS)  

❑ AIS  receivers  are  typically  limited  to  line-­‐of-­‐site  signal  reception  

❑ GLASS  to  acquire  world-­‐wide,  real-­‐time  AIS  data  from  ISS  

❑ ISS  ideally  suited  to  maximize  reception  of  AIS  signals  and  offers  opportunities  for  upgrades  and  maintenance  by  on-­‐board  crew  

❑ Better  information  will  enhance  commercial  business,  improve  national  security,  protect  the  environment,  and  provide  economic  and  societal  benefits

50

Page 51: N5AC 2015 06-13 Ham-Com SmartSDR API

Team  &  Roles51

4

❑ JAMSS  America,  Inc.  –  principal  investigator  and  project  integrator  

❑ University  of  Hawaii  –  co-­‐investigator,  maritime  researcher  and  GLASS  operational  evaluator  

❑ Greater  Houston  Port  Bureau  –  co-­‐investigator,  maritime  consultant  and  GLASS  operational  evaluator  

❑ Mare  Liberum  Consulting,  L.P.  –  co-­‐investigator,  data  systems  and  AIS  signal  processing/analysis

❑ Flexitech,  LLC  –  consultant,  aerospace  radio  communications  technologies  

❑ VPI  Engineering,  FlexRadio  Systems  &  Flexitech,  LLC  –  developers,  GLASS  space  segment  system

Page 52: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Two channels with up to four doppler regions = 8CH Access to samples from receivers (Waveform API) Ethernet output to get samples to ground station

Why FlexRadio?

Page 53: N5AC 2015 06-13 Ham-Com SmartSDR API

Project  Overview53

GLASS  Da

ta

GLASS  Servers

•Client  Services  •Health  &  Status  • Secure  Data  Archive

User  Assessments  &  Feedback

NASA  Ground  Network

•Raw  Data  •Processed    Information

Equipment   on   the   ISS   consists   of   redundant  SDR   (software   defined   radio)   receivers   to  process   incoming   AIS   signals,   packetize   them  and   forward   the   packets   to   the   TDRSS   for  downlink  to  the  ground.  

TDRSS

ISS

ISS  –  International  Space  Station  TDRSS  –  Tracking  and  Data  Relay  Satellite  System

Users  (Evaluators)  

Page 54: N5AC 2015 06-13 Ham-Com SmartSDR API

54

Express Racks

Page 55: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

GLASS Express Rack Drawer

Page 56: N5AC 2015 06-13 Ham-Com SmartSDR API

Schedule

❑ Grant  awarded  (September  2014)  ❑ Hardware/software  development  (initiated  October  2014)  

❑ Equipment  launched  to  ISS  and  readied  for  operation  (late  2015)  

❑ System  operation  and  data  collection  (12-­‐month  duration)  

❑ Final  assessment  and  report  ❑ Project  completion  (late  2016)    ❑ Commercial  business  initiation  (2017)

56

6

Page 57: N5AC 2015 06-13 Ham-Com SmartSDR API

Anticipated  Value

❑ Enhanced  global  competitiveness  ❑ Adaptation  to  supply  chain  disruptions  ❑ Improved  protection  of  U.S.  Exclusive  Economic  Zones  ❑ Decreased  environmental  impacts  ❑ Increased  environmental  protection  ❑ Decreased  illegal  activities  ❑ Expedited  emergency  response  ❑ Enhanced  education  and  training  ❑ Data  mining  for  societal  benefit

57

7

“Better  information  will  enhance  commercial  business,  improve  national  security,  protect  the  environment,  and  provide  economic  and  societal  benefits.”

Page 58: N5AC 2015 06-13 Ham-Com SmartSDR API

Research  Objectives

❑ Verify  performance  of  Software  Defined  Radio  architecture  in  receiving  and  processing  massive  volumes  of  incoming  AIS  signals  

❑ Verify  HarborlightsTM  ability  to  simultaneously  process  GLASS  AIS  signals  for  multiple  users  and  regions  

❑ Investigate  the  value  of  collecting  and  using  long-­‐range  AIS  data  

❑ Investigate  ways  AIS  data  obtained  from  ISS  can  be  used  to  support  ongoing  port  and  brown  water  operations  

❑ Determine  value  of  the  AIS  data  for  trade,  economic,  resource  management  and  national  security  analysis  

❑ Determine  business  model  to  commercially  provide  AIS  data  to  commercial,  academic  and  government  users

58

8

Page 59: N5AC 2015 06-13 Ham-Com SmartSDR API

Opportunities59

❑ Public  and  private  sector  evaluators  –  analyze  and  validate  the  data  usefulness  for:  ▪ Port  efficiency,  security  and  safety  ▪ Local,  regional  and  national       maritime  domain  awareness  ▪ Synergy,  co-­‐application  with  other  ground  and  space-­‐based  technologies  (e.g.  radar,  imaging)  ▪Data  mining    

❑ Creators  –  identify  and  develop  innovative  ideas  for  use  of  the  data  for  public  benefit

For  more  information:  

[email protected]  281.461.3700  

www.jamssamerica.com/GLASS

Page 60: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Complete access to the radio Standards based Multi platform Broad support from both FlexRadio and customers Simplifies building applications and clients

SmartSDR APIs

Page 61: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Continued to hear that knobs/buttons are important Often, existing products maligned for complexity Station reconfiguration time frustrating Integration in SO2R, M/1, M/2, M/M stations a problem The dream of simple remote operation…

Maestro The interviews…

Page 62: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro Control surface and more…

Page 63: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro Control surface and more

Essentially a remotable SmartSDRwith knobs & buttons Can be used in place of a computer to run any FLEX-6000 Optimized to have just frequently used controls Let’s take a closer look …

Page 64: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro Display

WXGA (1280x800) 8” IPS Cap Touch Can show one or two panafalls Up to two slices Cap touch, pinch to zoom, buttons and pop-up menus Built on SmartSDR API

Page 65: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro Controls

Slice A

Slice B or

RIT/XIT

Page 66: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro Capabilities

Integrated CW keyer Mic, headphones, line in/out ~6 hours of battery life or plug-in (12V nom.) WiFi (802.11 a/b/g/n) and wired Ethernet (1GbE) VESA mount for Public Safety comms, mobile use, etc

Page 67: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro What’s next?

Control of a computer and large display (fairly easy) Multiple Maestros on a single radio Who knows …

Page 68: N5AC 2015 06-13 Ham-Com SmartSDR API

© 2 0 1 5 F L E X R A D I O S Y S T E M S

Maestro What’s next?

Control of a computer and large display (fairly easy) Multiple Maestros on a single radio WAN use (away from the shack) Who knows …