Jason Tran - UCI Undergraduate Research Opportunities Program
Download
Report
Transcript Jason Tran - UCI Undergraduate Research Opportunities Program
A Software Defined Radio
Implementation for Voice
Transmission over Wireless Ad-hoc
Networks
Jason Tran
SURF-IT 2009 Fellow
Mentors: Dr. Homayoun Yousefi’zadeh
Dr. Hamid Jafarkhani
Graduate Student: Ala Khalifeh
Introduction
– Most radios today can only serve as one kind of radio.
• Cell phones cell phones
• Walkie talkies walkie talkies
• FM Transmitter FM Receiver
– Imagine a radio that can be programmed.
– The Software Defined Radio (SDR)
• Example: Gobi - Qualcomm’s SDR can switch
between EVDO (Verizon/Sprint) and HSDPA (AT&T)
My SURF-IT Research
• We’ve implemented a voice transmission
scheme over a software defined radio
platform using the Universal Software Radio
Peripheral (USRP) programmed by GNU Radio.
• The goal of this project was to optimize voice
transmission using voice codecs and forward
error correction (FEC). These will be discussed
in more detail later.
Motivation/Definitions
• Why Reprogram the Walkie Talkie?
• Fundamentally we are going from
Analog -> Digital (like our new TV broadcasts).
• Three Advantages:
– Efficient: less data is needed to be sent
(compression)
– Reliable: digital can overcome errors/noise
– Flexible: no needed extra hardware to change
signals which could save money
Analog vs. Digital
What’s the Difference?!
Converting to Digital
(aka Sampling)
• We only care about
information at
certain points.
• Information is now
“discrete” or “digital”,
but still transmitted
in analog.
Our Software Defined Radio (SDR)
• Our SDR = GNU Radio on Linux (Software) +
Laptop
USRP
+
• GNU Radio is an open source Linux software used to
program the USRP.
• The USRP consists of digital to analog converters and
a radio frequency front-end that sends the data over
the air.
Network Modes
Intranet
(Infrastructure)
Ad-Hoc
The Project
(Streaming Voice)
• We stream by packetizing a certain amount of data.
– For example
6000Bytes
or 6KBytes
1500Bytes
1500 Bytes
1500 Bytes
1500 Bytes
• Two usual transport protocols used for streaming are
transmission control protocol (TCP) and user
datagram protocol (UDP).
– TCP: sends a packet and waits for acknowledgement
before sending another
– UDP: continuously sends without acknowledgement
Transmission Diagram
Transmission Errors
• Two types we are concerned about:
– Packet Erasures (late or lost packets)
– Bit errors
• Bit Errors (flipped or unknown bits)
– Packets [3 byte example(8 bits per byte)]
10101001|00010100|10101010 Regular Packet
10x010x1|x0010x00|10x010x0 Packet with Errors
One Byte
Error Handling
• Voice Codec: Speex (data compression)
– Uses less bandwidth and reduces packet erasures
– Variable Bitrate and Echo Cancellation
• Forward Error Correction (FEC): Reed Solomon Codes
– Creates redundant bits:
• Received “000” is seen as “0”
• Received “010” is seen as “0”
“110” is seen as “1”
“011” is seen as “1”
• With these, we’re able to optimize voice streaming.
Additional and Future Work
• This project is one part of a larger project of
delivering multimedia content in real-time (voice,
audio, video) and non-real time (HTTP and FTP) on a
Mobile Ad-hoc Network (MANET).
Applications
• Mobile ad-hoc networks (MANETs) can
establish a network where there is no
infrastructure
– Military (Joint Tactical Radio System (JTRS) )
– Emergencies
– Medical
• SDRs enable“cognitive” radios
– Self-adjusting radios
Thank You!
Thank you SURF-IT and UROP coordinators!
Questions?
Future Work and Applications
• Other current applications include cellular
GSM base station, GPS receiver, FM
transmitter/receiver, digital television
decoder, and passive radar.
Metrics for Measuring Transmission
Performance
• Packet Loss/Throughput
• Perceptual Evaluation of Speech Quality
– Family of standards for a test methodology of evaluating
speech quality.
– Compare speech before and after transmission.
– Mean Opinion Score (MOS)
• Packet Delay Variation
– Jitter
– IP Packet Delay Variation for IP Performance Metrics
(IPPM)
Performance Analysis
• We know what link speed we will choose (1Mbps)
• In real life, we’ll have a lot of background traffic.
• We want to measure performance of voice stream under
different network before and after using error handling
schemes (encoder/FEC).
• Experiment setup: Measure voice transmission from
computer 1 to computer 2.
Computer 1
Computer 2
Voice
Transmission
Computer 3
Background Traffic
(200/400/600/800kbps)
Throughput vs. Raw Bitrate
Packet Error Rate (PER) vs. Raw Bitrate
Mean Opinion Score
Mean Opinion Score (0-5)
5
4.5
4
3.5
MOS
3
2.5
MOS
2
1.5
1
0.5
0
0
100
200
300
400
500
600
Background Traffic (kbps)
700
800
900
1000
1100
End to End Delay
Avg Delay vs Background Traffic
7500
7000
6500
6000
5500
Avg Delay (ms)
5000
4500
4000
Series1
3500
3000
2500
2000
1500
1000
500
0
0
100
200
300
400
500
600
Background Traffic
700
800
900
1000
1100
Jitter
Avg Jitter vs. Background Traffic
1400
1300
1200
1100
1000
Avg Jitter (ms)
900
800
700
Series1
600
500
400
300
200
100
0
0
100
200
300
400
500
600
Background Traffic (kbps)
700
800
900
1000
1100
Networking and the OSI Model
Linux
Reed Solomon Codes
GNU Radio
USRP