Software Defined Radio II: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
Ugur (talk | contribs)
No edit summary   (change visibility)
Ugur (talk | contribs)
 
(27 intermediate revisions by the same user not shown)
Line 28: Line 28:
Ms Project
Ms Project


== Project Team ==
== ''' Project Team ''' ==
'''Project Owner '''
'''Project Owner '''


Line 35: Line 35:
'''Team Members'''
'''Team Members'''


Emine Ugur Kaynar
Beril Burcu Huroglu


== '''Flow Chart Of Kiss Konsole''' ==
Deniz Huseyin Yaman


[[File:FlowChartKK.JPEG]]
Emine Ugur Kaynar


Nimet Duru Cilsal


== Software Defined Radio - Spring ==


== '''Functions of SDT ''' ==
This semester I will implement 2 different windows in existence SDT program.


*Logging the signal record
First one is Kiss Konsole. Kiss Konsole window is automatically launched when SDT program starts. I create a socket connection between these 2 program. Login screen of SDT requests the bandwidth, frequency and call_signal values from Kiss Konsole. These values used as an input in the SDT Login window and saved into the database.
*Searching Positions in database.
*Seeing online and offline terminals.
*Scheduling band for later use.
*Chatting within the LAN with other workstations.
*Communicate with the KISS Konsole.


== '''Connection Between Kiss Konsole and SDT ''' ==
Now I am implementing the second window which is Rotor Control Window.


Kiss Konsole and SDT projects are communicate with each other by using TCP sockets. Applications are act both client and server. Both application start listening ports while they are running.
== Project Team ==
For TCP connection I wrote 3 funtions for both Kiss Konsole and TCP. These functions are ''ListenClient()'', ''create_connection()'' and G''etMessageFromClient()'' functions.
'''Project Owner '''


Alex Harvilchuck


'''Team Members'''


Login- ListenClient()
Emine Ugur Kaynar
:Purpose: create TCP server socket for listening requests. Create a thread for each connected socket.
:Prototype: private bool create_connection ()
:Inputs: None
:Outputs: None
:Called by: Login Constructor
:Calls: GetMessageFromClient()
:Algorithm: Create a TCP Server socket. Start Listening port. Create thread for handling incoming sockets. Starts thread.

Login-create_connection()
:Purpose: create client socket and try to connect the target machine, send the frequency value and callsign value to the kiss konsole
:Prototype: private bool create_connection ()
:Inputs: None
:Outputs: None
:Called by: Login form
:Calls: isAccessedGranted():Algorithm Create a TCP socket. Connect to the target machine; Takes the callsign and frequency values put them in a string. Create a streamwriter. Send the output string to target machine.

Login- GetMessageFromClient()
:Purpose: reading Stream when client connected to the server.
:Prototype: void GetMessageFromClient()
:Inputs: None
:Outputs: None
:Called by: Login form
:Calls: ListenClient()
:Algorithm: Accept socket in a infinite while loop. Whenever the socket is connected. Read the stream and set it into “gelen” variable.


*First user enters the band value into login screen.
*Then this band and call sign values send to Kiss Konsole and Kiss Konsole set its band according the user input.
[[File:22.jpeg]]


After Kiss Konsole sets its band and frequency, program let knows the SDT about the frequency value that Kiss Konsole is using. The frequency value is seen into the Transaction and Terminal windows and updated regularly. Whenever user changed the frequency in the Kiss Konsole, it is directly changed in the SDT.

[[File:kk.jpeg]]


SDR-1500 Radio talks with the Kiss Konsole. User is able to change the features of the signal that comes from SDR-1500 Radio by using Kiss Konsole. This way SDT program is able to save the signal into database that is comes from radio.

== '''SDT DATABASE ''' ==

[[File:db.jpeg]]

*Login Table: keeps login data
*Workqueue Table: keeps band scheduling data
*Position Table: keeps all the positions and their grid locations
*Call Table: keeps all the valid users' call sign and positions
*Transaction Record Table: keeps recorded transactions' information
*Log Table: keeps log data for system.
*Logtype Table: keeps definition of logs
*Chat Table: keeps chat information and history location on disk
*GridLocation Table: keeps grid location information

Latest revision as of 03:22, 27 May 2011

Description of the Project

SDT project has started in September 2009 by BU Information Systems Engineering, Senior Project Students. This software program allows the logging of detected signals with VHF/UHF/Microwave amateur Contests and Radio Astronomy. SDT is implemented using MySQL and C#. This year, we will continue to develop the same project. It is possible to divide this year project in 2 parts;

The first part of the project is about the kiss console hardware handling. There are other teams from ECE/ME departments that work in the same project. W are responsible for the software part of the project. This part will be done end of the fall 2010 semester K.I.S.S (Keep It Simple Stupid) Konsole is written in C# using the free VS 2008 IDE . It is a straight forward PC program that will allow beginners in SDR and DSP programming.

SDT project is including different groups from different departments. Right now some EECE/ME students are developing a box that is FPGA box= Field programmable gate array. That box will be connected to the Radio (SDR-1500) We are going to develop a kiss konsole application for our existing sdt project. The program that we will developed will communicate with the box that is developed by eece/me students. This way we can get the radio signals from box and restore them in our existing database (program).

Current kiss konsole program communicates to radio by USB. In this semester we are responsible to give the usb algotihm that is used by kiss konsole to the EECE/ME students. First of all we should describe a USB for kiss console and radio connection and give this algorithm to the EECE/ME students. Then they can implement this algorithm in VHDL into the Box that they are developed.

Second part of the project is implementing 2 new window to the existing SDT program. Also, the Ethernet communication frame will be decided and explained. This will be done in second semester.

Two new windows are ; Kiss Konsole window and Rotor control window. Mr. Harvilchuck did not give detail about the design of the kiss console and rotor window yet. However, there is existing beta version of the kiss konsole. We will implement similar kiss konsole code like a new frame in our sdt application. Also, Rotor window provides the ability to move the antenna rotors (positioning motors) in 2 directions which are Azimuth and Elevation to select which antennas to use and to select the polarization of the antennas.

Software Reuirements

C# and MySQL programing languages

Microsoft Visual Studio 2008

MySQL Server 5.1

Kiss Konsole Application [1]

Ms Project

Project Team

Project Owner

Alex Harvilchuck

Team Members

Emine Ugur Kaynar

Flow Chart Of Kiss Konsole


Functions of SDT

  • Logging the signal record
  • Searching Positions in database.
  • Seeing online and offline terminals.
  • Scheduling band for later use.
  • Chatting within the LAN with other workstations.
  • Communicate with the KISS Konsole.

Connection Between Kiss Konsole and SDT

Kiss Konsole and SDT projects are communicate with each other by using TCP sockets. Applications are act both client and server. Both application start listening ports while they are running. For TCP connection I wrote 3 funtions for both Kiss Konsole and TCP. These functions are ListenClient(), create_connection() and GetMessageFromClient() functions.


Login- ListenClient()

Purpose: create TCP server socket for listening requests. Create a thread for each connected socket.
Prototype: private bool create_connection ()
Inputs: None
Outputs: None
Called by: Login Constructor
Calls: GetMessageFromClient()
Algorithm: Create a TCP Server socket. Start Listening port. Create thread for handling incoming sockets. Starts thread.

Login-create_connection()

Purpose: create client socket and try to connect the target machine, send the frequency value and callsign value to the kiss konsole
Prototype: private bool create_connection ()
Inputs: None
Outputs: None
Called by: Login form
Calls: isAccessedGranted():Algorithm Create a TCP socket. Connect to the target machine; Takes the callsign and frequency values put them in a string. Create a streamwriter. Send the output string to target machine.

Login- GetMessageFromClient()

Purpose: reading Stream when client connected to the server.
Prototype: void GetMessageFromClient()
Inputs: None
Outputs: None
Called by: Login form
Calls: ListenClient()
Algorithm: Accept socket in a infinite while loop. Whenever the socket is connected. Read the stream and set it into “gelen” variable.


  • First user enters the band value into login screen.
  • Then this band and call sign values send to Kiss Konsole and Kiss Konsole set its band according the user input.


After Kiss Konsole sets its band and frequency, program let knows the SDT about the frequency value that Kiss Konsole is using. The frequency value is seen into the Transaction and Terminal windows and updated regularly. Whenever user changed the frequency in the Kiss Konsole, it is directly changed in the SDT.


SDR-1500 Radio talks with the Kiss Konsole. User is able to change the features of the signal that comes from SDR-1500 Radio by using Kiss Konsole. This way SDT program is able to save the signal into database that is comes from radio.

SDT DATABASE

  • Login Table: keeps login data
  • Workqueue Table: keeps band scheduling data
  • Position Table: keeps all the positions and their grid locations
  • Call Table: keeps all the valid users' call sign and positions
  • Transaction Record Table: keeps recorded transactions' information
  • Log Table: keeps log data for system.
  • Logtype Table: keeps definition of logs
  • Chat Table: keeps chat information and history location on disk
  • GridLocation Table: keeps grid location information