a software defined radio implementation for voice transmission over wireless ad-hoc networks jason...
Post on 20-Jan-2016
216 views
TRANSCRIPT
A Software Defined Radio Implementation for Voice
Transmission over Wireless Ad-hoc Networks
Jason TranSURF-IT 2009 Fellow
Mentors: Dr. Homayoun Yousefi’zadehDr. 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. DigitalWhat’s the Difference?!
• We only care about information at certain points.
• Information is now “discrete” or “digital”, but still transmitted in analog.
Converting to Digital
(aka Sampling)
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 ModesIntranet
(Infrastructure) Ad-Hoc
The Project (Streaming Voice)
• We stream by packetizing a certain amount of data.– For example6000Bytes 1500Bytes 1500 Bytesor 6KBytes 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|1010101010x010x1|x0010x00|10x010x0
Regular Packet
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” “110” is seen as “1”• Received “010” is seen as “0” “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)
Background Traffic
(200/400/600/800kbps)
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.
Voice
Transmission
Computer 3Computer 2Computer 1
Throughput vs. Raw Bitrate
Packet Error Rate (PER) vs. Raw Bitrate
Mean Opinion ScoreMean Opinion Score (0-5)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
0 100 200 300 400 500 600 700 800 900 1000 1100
Background Traffic (kbps)
MO
S MOS
End to End Delay
Avg Delay vs Background Traffic
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
0 100 200 300 400 500 600 700 800 900 1000 1100
Background Traffic
Avg
Del
ay (m
s)
Series1
JitterAvg Jitter vs. Background Traffic
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
0 100 200 300 400 500 600 700 800 900 1000 1100
Background Traffic (kbps)
Avg
Jitt
er (m
s)
Series1
Networking and the OSI Model
Linux
Reed Solomon Codes
GNU Radio
USRP