This post is going to be about my first experience with the awesome new "YRDKRX63N" kit that I received recently from the Renesas electronics Singapore. This kit was sent to me as prize for the recently held "Renesas RX Robot Challenge" on facebook.
Thursday, March 27, 2014
Using FFT to scan for FM channels with RTL_SDR
Recently, my brother got selected for the "Beagle Bone radio challenge" road test by element14. As part of this challenge, the selected individuals had to build a working radio using the components provided by element 14. I've decided to help my brother a little with a feature called "scan". This post is going to be how we got the "scan" feature to work. This feature scans the available FM channels.
Analysis:
Tools used for analysis:
rtl_fm -f 91.1e6 -s 200000 -r 48000 - | aplay -r 48k -f S16_LE
Options:
-f Specify the frequency, which is 91.1Mhz in the above line
-s The sampling rate used (Sampling rate for the audio data decoded by RTL sdr)
-r The output sapling rate (The sampling rate that the "rtl_fm" is going to use to output audio)
Analysis:
Tools used for analysis:
- Python 2.7
- matplot
- scipy
- dvb t dongle
- rtl_fm program
Options:
-f Specify the frequency, which is 91.1Mhz in the above line
-s The sampling rate used (Sampling rate for the audio data decoded by RTL sdr)
-r The output sapling rate (The sampling rate that the "rtl_fm" is going to use to output audio)
Labels:
Beagle Bone,
DSP,
fm scan,
IIR,
python DSP,
rtl_fm,
scipy numpy
Monday, February 25, 2013
Controller
This one is still related to the my previous posts. This time around, I have added features that I had promised in my earlier posts. The usage of the software remains mainly unchanged. What has changed is the way in which the firmware is written. The firmware now uses polymorphism to make it easier to adapt the communication frame work to different hardware platforms (The selected hardware platform should support C++ as a programming language to use this approach). The current implementation makes use of polymorphism at two different places
(a) For the implementation of the communication channel (UART/serial protocol in our case)
(b) For implementing the functions required for accessing the digital and analog peripherals
(a) For the implementation of the communication channel (UART/serial protocol in our case)
(b) For implementing the functions required for accessing the digital and analog peripherals
Sunday, February 24, 2013
EvoPrimer Tutorial: ToolBars
This
blog post is the first in series (hopefully, there will be more) of
tutorials on the EvoPrimer dev kit from Raisonance. These tutorials
will mainly concentrate on usage of the circle OS. This tutorial
assumes that you already know how to create a simple Circle OS
project. If you are not aware of the procedure to do so, you can
follow this tutorial to learn about it.
For
this tutorial, we will see how we can create and use a tool bar under
Circle OS. Toolbars are the widgets that appear on the top of the
LCD.
For
this tutorial, we will build a simple game of gears, papers and
scissors (I could not find a rock icon in Tango image library :p).
The game logic itself is simple, the CPU makes a random selection of
an object, either a rock(gears), paper or scissor and compares
against the user selection, selected via the tool bar.
Monday, October 29, 2012
Arduino controller - 2
Here is a sample configuration file (for Arduino Duemilanove):
Tuesday, October 9, 2012
Arduino controller
This project is based on Arduino
Platform.
This current project implements a
software architecture which eases the Arduino related peripheral
operations such as Analog out(pwm), digital read/write and analog
read operations. The core of the project is implemented in
“trans_layer.cpp”. The central object in this project is
“TransLayer” which has following methods:
TransLayer ()(constructor)
AddService()
SeeServices()
LookForService()
MainLoop()
Services here I am referring to are
actually functions that accomplish certain task such as turning on an
LED or reading Analog voltage at a given pin. The list of services
are maintained within a linked list. The construct in this project
(TransLayer()) initializes the head and tail pointers for the linked
list. The linked list is list of data object of type service_list
whose deceleration is:
struct
service_list /**< Struct for
holding service list */
{
call_back_ptr service_function; /**<
call back function pointer */
char
service_flag; /**<
Packet service flag for which this service responds*/
service_ptr next_service;
};
call_back_ptr is
the function pointer to the call back function. The service_flag is a
char which uniquely represents the service. To add a service,
AddService() should be used. It accepts a function pointer, to be
used as call back function when the character which corresponds to
the second argument to this function is received.
Sunday, July 3, 2011
Smith chart plotter
This was my first ever major project. So this is going to be first blog
pot. So what actually does is, plots the network characteristics on a
smith chart. What is Smith chart you ask, it is a graphical tool that RF
engineers use to evaluate the characteristics of a network more. For
more info, head onto wikipedia
http://en.wikipedia.org/wiki/Smith_chart.
So why did I do it? Well at the time, I was UG engineering student and had just finished with TLWG (Transmission line and wave guides) and at about the same time, there was an EFY article explaining about the software that plotted Smith chart. It was based on the BGI libaray that came with the turbo C and I wanted to do something that was windows based and had a modern look and feel.
The language, environment that I choose to develop with was just BASIC(JB). which is a flavor of basic language and free version of commercial software called liberty BASIC. They are written in small talk. They are/were windows only software that is why I abandoned the platform.
So why did I do it? Well at the time, I was UG engineering student and had just finished with TLWG (Transmission line and wave guides) and at about the same time, there was an EFY article explaining about the software that plotted Smith chart. It was based on the BGI libaray that came with the turbo C and I wanted to do something that was windows based and had a modern look and feel.
The language, environment that I choose to develop with was just BASIC(JB). which is a flavor of basic language and free version of commercial software called liberty BASIC. They are written in small talk. They are/were windows only software that is why I abandoned the platform.
Subscribe to:
Posts (Atom)