Last modifiedNameSummary
Saturday, 11 April 2015, 10:45 PMHome
Wednesday, 13 April 2016, 06:33 PMActivities
Monday, 13 April 2015, 02:25 PMContact us
Monday, 21 May 2018, 03:38 PMWhat is LoRa?

LoRa is a physical layer wireless modulation for long-range communication link that is based on chirp spread spectrum (CSS) modulation scheme that trades data rate for receiver sensitivity. This technology has been used in military and space communication for decades but LoRa is the first low cost implementation for commercial usage. The long range LoRaWAN base station can cover hundreds of square kilometers with high data rate and low power consumption for nodes. Spread spectrum aspect of LoRa offers link robustness to interference with high network capacity.

Tuesday, 21 April 2015, 08:17 PMBPSK modulation and simulink
Wednesday, 16 December 2015, 05:44 PMLocalization video in matlab with background codes in MATLAB for presenting localization with default background
Sunday, 27 December 2015, 08:09 PMOptimization All contents related to optimization will publish here
Tuesday, 8 August 2017, 12:21 AMAbout me profile pic
Nozhan Hosseini

Ph.D. candidate

Electrical & Computer Engineering

Student (Research Assistant)

University of South Carolina



M.S Electrical & Computer Engineering

Concentration:Telecommunication Engineering

Thesis : “Interference mitigation techniques for GNSS receivers” Experiment section title : Experimental analysis of interference detection, mitigation and localization in GNSS using Software Defined Radios (SDR)

University-of-Bologna (2013-2015) Full scholar


B.S Electrical & Computer Engineering
Concentration: Electronic (Final project : Image processing through ARM cortex microprocessors )

University of Kashan (2008–2013)


All Publications:


"Software Defined Radios as Cognitive Relays for Satellite Ground Stations Incurring Terrestrial Interference"
IEEE LINK
Free download version (for student and colleagues)

Abstract:Satellite to ground links are extremely vulnerable to any type of terrestrial interference due to the relatively weak satellite signal at the ground stations. This can cause connection failures or degradation in performance at the ground station, which could in some cases be significant or even catastrophic. The great flexibility of software defined radio (SDR) systems facilitates the implementation of cognitive relays as a complementary entity that can help reduce the effects of interference. In this paper, we describe a cognitive SDR testbed that has been developed based on the Universal Software Radio Peripheral (USRP) and the GNU radio software platform. One of our testbed's aims is to evaluate error performance improvements of satellite signal relays in the presence of interference. We report on performance evaluation in terms of bit error ratio (BER) as a function of carrier-to-noise ratio (CNR) and in the presence of interference, for our detect and relay algorithms in an example frequency band, using an emulated desired (satellite-relay-ground station) signal. Our testbed contains four separate segments: satellite (emulated), relay, interferer, and ground receiver. At each segment, we transmit and/or receive signals via SDRs or standard communication laboratory equipment. We consider two relaying protocols in our work, amplify-and-forward (AF), and decode-and-forward (DF). Initial experiments were indoors, although outdoor testing with small unmanned aircraft systems is planned for future work. Our experiments explore the effects of different relaying techniques, and provide some quantitative results on performance improvements via our software defined radio approach.

nozhan.hosseini@studio.unibo.it



Monday, 6 February 2017, 03:03 AMbroadcast a text file from one USRP to another SDR (HackRF) 
Sunday, 29 January 2017, 09:53 PMInstalling GNURADIO on Raspberry pi 3 Unfortunately, at this time that I am making this video there is no official 64bit ARMv8 Operating System(OS) for Raspberry pi 3. It seems that Raspberry manufacturer forced armv8 1200 MHZ board to work as ARMv7 ! and this gonna give you an error during installation of GNURADIO on Raspberry pi 3(probably GNSS-SDR too) so in order to resolve this problem we inspect all those OS and then came into the following instruction in order to install this software. feel free to ask questions. unfortunately the image of this OS is 8.5GIG and I didn't find any server for this big size files and high bandwidth for all users. have fun!
Monday, 28 December 2015, 03:30 PMInstalling GNURADIO on Linux(Ubuntu) for HACKRF SDR board (incompatibility with OSMOSDR version) SOLVED Watch video below:
Monday, 28 December 2015, 03:34 PMGnu radio GNSS BladeRF (result)Watch below:
Wednesday, 2 March 2016, 12:20 PMFM transmitter with HackRF SDR Here is a simple FM transmitter using HACKRF SDR (SAME CONFIGURATION FOR OTHER SDRs TOO
you can change he parameters with your own preference
Fm transmitter gnuradio schematic



and here is a amateur video of successfully implementing in home ! smile

Wednesday, 2 March 2016, 12:21 PMFM transmitter with HackRF SDR Here is a simple FM transmitter using HACKRF SDR (SAME CONFIGURATION FOR OTHER SDRs TOO
you can change he parameters with your own preference
Fm transmitter gnuradio schematic



and here is a amateur video of successfully implementing in home ! smile

Wednesday, 15 June 2016, 11:39 AMSDR
Saturday, 18 June 2016, 05:52 PMBasics of satellite communication(impairments and mitigation techniques)
Sunday, 19 June 2016, 06:54 PMMultiple Input Multiple Output(MIMO)
Thursday, 21 July 2016, 02:12 AMHow to find multiple USRP serial and device in Linux using USB port for connection udev handles USB plug and unplug events. The following commands install a udev rule so that non-root users may access the device. This step is only necessary for devices that use USB to connect to the host computer, such as the B200, B210, and B200mini. This setting should take effect immediately and does not require a reboot or logout/login. Be sure that no USRP device is connected via USB when running these commands. cd $HOME/workarea-uhd/uhd/host/utils sudo cp uhd-usrp.rules /etc/udev/rules.d/ sudoudevadm control --reload-rules sudoudevadm trigger For USRP devices that use Ethernet to connect to the host computer, such as the N200, N210, X300, X310, set a static IP address for your system of 192.168.10.1, with a netmask of 255.255.255.0. The default IP address of the USRP is 192.168.10.2, with a netmask of 255.255.255.0. You should probably set the IP address using the graphical Network Manager. If you set the IP address from the command line with ifconfig , Network Manager will probably overwrite these settings. The installation of UHD and GNU Radio should now be complete. At this point, connect the USRP to the host computer. If the interface is Ethernet, then open a terminal window, and try to ping the USRP with "ping 192.168.10.2". The USRP should respond to the ping requests. If the interface is USB, then open a terminal window, and run " lsusb ". You should see the USRP listed on the USB bus with a VID of 2500 and PID of 0020 , 0021 , 0022 , for B200, B210, B200mini, respectively. Also try running " uhd_find_devices " and " uhd_usrp_probe "
Thursday, 21 July 2016, 02:16 AMBDPSK by USRPGNU RADIO BDPSK BY USRP
Tuesday, 2 August 2016, 04:10 PMInstaling two, three more USRP in Linux Ubuntu
first going here and download the package:
http://files.ettus.com/manual/page_ni_rio_kernel.html
http://files.ettus.com/binaries/niusrprio/niusrprio-installer-15.0.0.tar.gz

Download the installer and extract it with the following command:

tar zxf niusrprio-installer-15.0.0.tar.gz 

The files will be extracted into a directory called niusrprio-installer.

To install the NI USRPRIO kernel modules and RPC server, run the following command:

sudoniusrprio-installer/INSTALL

Once everything is installed, run the following commands to enable use of the X300/X310 over PCI Express:

sudo /usr/local/bin/niusrprio_pcie start



uhd_find_devices
uhd_usrp_probe
lsusb
ifconfig -a
Friday, 19 August 2016, 12:26 AMCompare SDRs: USRP 2901 vs B210 vs N210 vs BladeRF

2901 [1390$]

B210 [1190$]

USRP N210 [1746$]

BladeRF (~700$)

70 MHz to 6 GHz with 2X2 MIMO

70 MHz–6 GHz

DC to 6 GHz

300MHz - 3.8GHz

56 MHz bandwidth

56 MHz

25/50 MHz for 16bit/8bit

28MHz

n 

n 

Internal GPS Disciplined Oscillator

n 

2X2 MIMO

Fully-coherent 2x2 MIMO capability

Fully-Coherent MIMO Capability - M x N MIMO with external

2x2 MIMO configurable with SMB cable, expandable up to 4x4

Monday, 22 August 2016, 02:54 PMhow to make your windows VPS a file hosting for upload and download in different ports for users accessThere is a free and useful software for add file sharing capability to your windows VPS hosting very easy very fast.
download the following software and configure your preferred settings.
HFS (HTTP File Server)
vps to sharing server
Wednesday, 19 July 2017, 03:44 AMstream live camera with Raspberry pi3 raspberry pi 3 Jessie OS has libav package but in case you got error try this:

apt-get install libav-tools

now insert this command:

1. Make instal VNC server
2. Vncserver :1
3. connect to linux port 5901
4.
git clonegit://git.videolan.org/x264
cd x264
./configure--host=arm-unknown-linux-gnueabi--enable-static--disable-opencl
make
sudo make install

cd/usr/src
git clonehttps://github.com/FFmpeg/FFmpeg.git
cd ffmpeg
sudo./configure--arch=armel--target-os=linux--enable-gpl--enable-libx264--enable-nonfree
make
sudo make install

5. stream youtube ( find link in my website for instructions)

alias ffmpeg=avconv


To start the stream, run this command:

raspivid -o - -t 0 -w 1280 -h 720 -fps 30 -b 6000000 -g 50 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/your youtube id find you session here" in above line in your youtube channel 
  • -o - makes it write the video data to STDOUT so it gets piped into ffmpeg.
  • -t 0 is how you make it record forever
  • -vf -hf flips it horizontal and vertical so it looks correct
  • -fps 30 sets frames per second to 30
  • -b 6000000 - output bitrate limit. YouTube recommends 400-600kbps, this is 600kbps. Change this to save upload bandwidth at the expense of a lower quality video
  • -re - tells ffmpeg to slow down the reading of the input to the native frame rate of the input (useful when live streaming)
  • -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zeroand -acodec aac -ab 128k and-strict experimental - adds a fake audio channel filled with zeroes (silence). YouTube rejects streams without an audio channel. You can also change the input device to a microphone if you want (I haven't done this yet)
  • -g 50 adds a keyframe every 50 frames. Feel free to tweak, its one of those tradeoff variables.
  • -f h264 and -f flv tells ffmpeg it's receiving h264 input and that you should mux it into flv output (flv is the container format that works with YouTube. Others might work but I haven't tried them)
  • by not specifying -w and -h to raspivid we get the full 1920x1080 resolution (aka 1080p). You can specify these if you want a lower resolution
automatic sending video all the time rapsberry turned on code::
sleep5
while true; sudo shutdown -r +60; do nohup raspivid -o - -t 0 -w 1280 -h 720 -fps 20 -ISO auto -br auto -ex auto | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/7xxx-gxxd-xxxs-xxxk; sleep 15;reboot; done

put above code in these two places:
sudo nano /etc/rc.local
sudo nano /etc/init.d/rc.local
Tuesday, 15 August 2017, 10:30 PM Build home made camera stream online youtube throught linux 1. Make instal VNC server
2. Vncserver :1
3. connect to linux port 5901
4.
git clonegit://git.videolan.org/x264
cd x264
./configure--host=arm-unknown-linux-gnueabi--enable-static--disable-opencl
make
sudomake install

cd/usr/src
git clonehttps://github.com/FFmpeg/FFmpeg.git
cd ffmpeg
sudo./configure--arch=armel--target-os=linux--enable-gpl--enable-libx264--enable-nonfree
make
sudo make install

5. stream youtube ( find link in my website for instructions)


raspberry pi 3 Jessie OS has libav package but in case you got error try this:

apt-get install libav-tools

now insert this command:

1. Make instal VNC server
2. Vncserver :1
3. connect to linux port 5901
4.
git clonegit://git.videolan.org/x264
cd x264
./configure--host=arm-unknown-linux-gnueabi--enable-static--disable-opencl
make
sudomake install

cd/usr/src
git clonehttps://github.com/FFmpeg/FFmpeg.git
cd ffmpeg
sudo./configure--arch=armel--target-os=linux--enable-gpl--enable-libx264--enable-nonfree
make
sudo make install

5. stream youtube ( find link in my website for instructions)




To start the stream, run this command:

raspivid -o - -t 0 -w 1280 -h 720 -fps 30 -b 6000000 -g 50 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/your youtube id find you session here" in above line in your youtube channel 
  • -o - makes it write the video data to STDOUT so it gets piped into ffmpeg.
  • -t 0 is how you make it record forever
  • -vf -hf flips it horizontal and vertical so it looks correct
  • -fps 30 sets frames per second to 30
  • -b 6000000 - output bitrate limit. YouTube recommends 400-600kbps, this is 600kbps. Change this to save upload bandwidth at the expense of a lower quality video
  • -re - tells ffmpeg to slow down the reading of the input to the native frame rate of the input (useful when live streaming)
  • -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zeroand -acodec aac -ab 128k and-strict experimental - adds a fake audio channel filled with zeroes (silence). YouTube rejects streams without an audio channel. You can also change the input device to a microphone if you want (I haven't done this yet)
  • -g 50 adds a keyframe every 50 frames. Feel free to tweak, its one of those tradeoff variables.
  • -f h264 and -f flv tells ffmpeg it's receiving h264 input and that you should mux it into flv output (flv is the container format that works with YouTube. Others might work but I haven't tried them)
  • by not specifying -w and -h to raspivid we get the full 1920x1080 resolution (aka 1080p). You can specify these if you want a lower resolution

Monday, 26 September 2016, 03:23 AMPSPICE EXAMPLESA
Tuesday, 2 May 2017, 12:02 AMAdvance Design System (ADS) software examples RF circuit design for wireless communication

Problem 1

Monday, 30 January 2017, 01:27 AMobserving 2.4 GHz 802.11 spectrum1.freq: 2.437 GHz channel 6 , channel 1 , channel 11
802.11 2.4 GHz
2.freq: 2.437 GHz channel 6 , channel 1 , channel 11 + INTERFERENCE ==> CONNECTIVITY LOST
2.4 GHZ SPECTRUM ANALAYSER
Sunday, 30 October 2016, 07:08 PMMake linux repeat a command every N minutes in terminalMake linux repeat a command every N minutes in terminal:
while true; do yourcommand' ; sleep nsec' ;done
Thursday, 15 December 2016, 03:53 PM SDcard problem (visibility) in windows 10 / 8 (two method) (Drive letter can't be assigned)
if you cannot see your SDcard drive letter in "mycomputer" or "this pc" part but you are sure the driver is installed successfully try this two method.
this SDCARD issue is common among many PCs and devices

Thursday, 15 December 2016, 07:29 PMError probability for QPSK in Rayleigh fading channel vs AWGN channel [simulation + theory]
If you simulate a QPSK channel under Rayleigh fading which means of no LOS environments you can obviously observe worst performance in sense of bit error rate. as you can see in this example. 
QPSK theoretical performance under Rayleigh fading approximate with this formula: 
Pbtheory4 = 0.5*(1-(sqrt((Es/N0)./(1+(Es/N0)))));
simulation steps: 
1.Generate random bits (randn)(define a function to generate "0" and "1" bits.
2. Map bits to symbols define constellation points and modulation scheme
3. characterize channel fading( in this case Rayleigh)
4.add WGN noise
5. set decision regions
6.compare thresholds and sampling
7.inspect received bits for any error
8.plot
Result: 
performance(error probability) for QPSK in Rayleigh fading channel vs AWGN channel [simulation and theory]
PURE AWGN ON QPSK SIGNAL CONSTELLATION POINTS
Monday, 6 February 2017, 03:06 AM SDR operates as a relay (USRP) full duplex OFDM 
Thursday, 9 February 2017, 09:20 AMcommand line for installing gnuradio with uhd on ubuntu 14.04 tested 1 ubuntu 14.04
----------
sudo apt-get -y install git-core cmake g++ python-dev swig \ pkg-config libfftw3-dev libboost1.55-all-dev libcppunit-dev libgsl0-dev \ libusb-dev libsdl1.2-dev python-wxgtk2.8 python-numpy \ python-cheetah python-lxml doxygen libxi-dev python-sip \ libqt4-opengl-dev libqwt-dev libfontconfig1-dev libxrender-dev \ python-sip python-sip-dev
----------
sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential
-----------
git clone git://github.com/EttusResearch/uhd.git
------------
cd uhd
cd host
mkdir build
cd build
cmake ../
make
make test
make install
ldconfig
--------------
git clone git://github.com/EttusResearch/gnuradio.git
--------
install same as uhd
------------
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gnuradio/lib export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnuradio/lib/pkgconfig
-------------
install gnuradio in software center
Thursday, 2 March 2017, 10:34 PMInstalling Gnuradio on windows supporting USRP and HackRF1.Package installation
2.UHD usb driver download --> manually define driver for unknown driver in device manager
3.Find USRP serial in device manager
4. add in gnuradio

----FOR HACKRF
download zadig.exe
isntall driver
add osmosdr block in gnuradio and let the block find hackrf
Monday, 8 January 2018, 07:27 PMUSRP N210 or N2xx First time installation tips (if you can't find the device) default ip address through Ethernet will be 192.168.10.2

open terminal and type: uhd_find_devices

if you got error no UHD devices found follow these steps if not every thing is ok

type : uhd_images_downloader
**download the images*

type: uhd_image_loader --args="usrp2,addr=192.168.10.2"
this will upload the image to FPGA

Restart both laptop and USRP.

tip1: in GNURADIO give addr=192.168.10.2 to the USRP blocks.
use uhd_usrp_probe --args="addr=192.168.10.2"

you should see all details about your N210 after this command.
Tuesday, 8 August 2017, 01:46 AMSoftware defined radios as cognitive relays for satellite ground stations incurring terrestrial interference Satellite to ground links are extremely vulnerable to any type of terrestrial interference due to the relatively weak satellite signal at the ground stations. This can cause connection failures or degradation in performance at the ground station, which could in some cases be significant or even catastrophic. The great flexibility of software defined radio (SDR) systems facilitates the implementation of cognitive relays as a complementary entity that can help reduce the effects of interference. In this paper, we describe a cognitive SDR testbed that has been developed based on the Universal Software Radio Peripheral (USRP) and the GNU radio software platform. One of our testbed's aims is to evaluate error performance improvements of satellite signal relays in the presence of interference. We report on performance evaluation in terms of bit error ratio (BER) as a function of carrier-to-noise ratio (CNR) and in the presence of interference, for our detect and relay algorithms in an example frequency band, using an emulated desired (satellite-relay-ground station) signal. Our testbed contains four separate segments: satellite (emulated), relay, interferer, and ground receiver. At each segment, we transmit and/or receive signals via SDRs or standard communication laboratory equipment. We consider two relaying protocols in our work, amplify-and-forward (AF), and decode-and-forward (DF). Initial experiments were indoors, although outdoor testing with small unmanned aircraft systems is planned for future work. Our experiments explore the effects of different relaying techniques, and provide some quantitative results on performance improvements via our software defined radio approach.

N. Hosseini and D. W. Matolak, "Software defined radios as cognitive relays for satellite ground stations incurring terrestrial interference," 2017 Cognitive Communications for Aerospace Applications Workshop (CCAA), Cleveland, OH, USA, 2017, pp. 1-4.
doi: 10.1109/CCAAW.2017.8001874
Wednesday, 19 September 2018, 02:11 PMWide band channel characterization for low altitude unmanned aerial system communication using software defined radios Hosseini, Nozhan and David W. Matolak, "Wide band channel characterization for low altitude unmanned aerial system communication using software defined radios" 2018 Integrated Communications, Navigation, Surveillance Conference (ICNS), Herndon, VA, USA, 2018, pp. 2C2-1-2C2-9.(link) (↓Download)[Best student paper] [Best paper @ track 2]

In the near future, there will be a need for accommodating large populations of fast moving Unmanned Aerial Systems (UAS) operating in uncontrolled, very low level (VLL) (below 500 ft.) airspace. As is well-known, real-time knowledge of the wireless propagation channel is essential for the effective design and optimization of wireless communication systems. In this paper, we propose a software defined radio (SDR) based channel sounder employing a wideband linear frequency modulated continuous wave (FMCW) or chirp waveform technique for low altitude air-to-air (AA) links. This paper discusses both matched filter and heterodyne detector implementations in the receiver, and investigates advantages and disadvantages of both architectures for an SDR implementation in an AA scenario. We also discuss proper windowing techniques in the transmitter to improve sounding resolution. Some proof of concept measurement results using SDRs are presented for a simulated UAS scenario.
Thursday, 21 July 2016, 01:47 AMInteresting news
Here is my experience on GPS signal acquisition with Blade RF SDR through GNURADIO on Linux:



----------------------------------------------------------------
Here is a simple FM transmitter using HACKRF SDR (SAME CONFIGURATION FOR OTHER SDRs TOO
you can change he parameters with your own preference
Fm transmitter gnuradio schematic



and here is a amateur video of successfully implementing in home ! smile


----------------------------------------------------------------

Wireless World with Software Defined Radio





ASTOUNDING ATHLETIC POWER OF QUADCOPTERS
In a robot lab at TEDGlobal, Raffaello D'Andrea demos his flying quadcopters: robots that think like athletes, solving physical problems with algorithms that help them learn. In a series of nifty demos, D'Andrea show drones that play catch, balance and make decisions together — and watch out for an I-want-this-now demo of Kinect-controlled quads.


















































































Web Statistics