SlideShare a Scribd company logo
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Introduction to Digital Signal Processing
Using GNU Radio
Albert Chun-Chieh Huang
PyCon Taiwan 2013
May 25, 2013
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
About the Author
He is both a programmer and a communication engineer.
He learned Python in 2000 and has used it extensively on
improving his workflow ever since. He has been working in
communication IC industry for more than eight years. His
interests include communication engineering and
engineering communication, which consists of fields from
physical layer to MAC layer as well as typesetting.
Blog: Random Notes,
http://alberthuang314.blogspot.com/
LinkedIn:
http://www.linkedin.com/in/alberthuang314
Email address: alberthuang314 AT gmail DOT com
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Outline
1 Introduction to SDR and GNU Radio
2 Adding a Filter in GNU Radio
3 Analyzing Filters
4 Concluding Remarks
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Software-Defined Radio
Software-Defined Radio (SDR) is a radio communication
system implemented (mostly) in software.
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Software-Defined Radio
Software-Defined Radio (SDR) is a radio communication
system implemented (mostly) in software.
Application areas
Military systems, space exploration, base stations, NVIDIA
i500 LTE SDR modems, etc.
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Software-Defined Radio
Software-Defined Radio (SDR) is a radio communication
system implemented (mostly) in software.
Application areas
Military systems, space exploration, base stations, NVIDIA
i500 LTE SDR modems, etc.
Background knowledge required for SDR programmer
Digital Signal Processing (the most fundamental
knowledge)
Programming
Probability and Statistics
Communication System
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Software-Defined Radio
Software-Defined Radio (SDR) is a radio communication
system implemented (mostly) in software.
Application areas
Military systems, space exploration, base stations, NVIDIA
i500 LTE SDR modems, etc.
Background knowledge required for SDR programmer
Digital Signal Processing (the most fundamental
knowledge)
Programming
Probability and Statistics
Communication System
This talk is going to illustrate how easy digital signal
processing is! Don’t be hesitated!
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Introduction to GNU Radio
GNU Radio is a free & open-source software development
toolkit that provides signal processing blocks to implement
software radios.
Primarily written in Python with performance-critical
signal processing components written in C++ [1].
C++ classes are wrapped by SWIG [2].
Python can be used to develop rapid prototype for SDR in
an elegant and fast way.
“Install GNU Radio 3.6.2 on MacOSX 10.8.2”
http://goo.gl/mJQmA
“A Glimpse into Developing Software-Defined Radio by
Python” on SlideShare.net
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
GNU Radio Companion
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Top Block
1 #!/ us r / bin /env python
2 from PyQt4 import Qt
3 # Other imports are hidden
4 c l a s s top bl ock ( gr . top block , Qt . QWidget ) :
5 def i n i t ( s e l f ) :
6 # GUI−r e l a t e d s t u f f are hidden here
7 s e l f . samp rate = samp rate = 16000
8 # q t g u i s i n k s t u f f hidden
9 s e l f . t o p l a y o u t . addWidget ( s e l f . q t g u i s i n k x
10 s e l f . a n a l o g s i g s o u r c e x 1 = analog . s i g s o u r
11 samp rate , analog . GR COS WAVE, 8000 ,
12 s e l f . connect (( s e l f . a n a l o g s i g s o u r c e x 1 , 0)
13 ( s e l f . a u d i o s i n k 0 , 0))
14 s e l f . connect (( s e l f . a n a l o g s i g s o u r c e x 1 , 0)
15 ( s e l f . q t g u i s i n k x 0 , 0))
16
17 i f name == ’ m a i n ’ :
18 tb = top bl ock ()
19 tb . s t a r t ()
20 tb . show ()
21 tb . stop ()
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Adding a Simple Moving Average Filter
1 #!/ us r / bin /env python
2 from gnuradio import f i l t e r # Add t h i s l i n e i n t o top bl ock . p
3 # Other imports are hidden
4 c l a s s top bl ock ( gr . top block , Qt . QWidget ) :
5 def i n i t ( s e l f ) :
6 # GUI−r e l a t e d s t u f f are hidden here
7 s e l f . samp rate = samp rate = 44100
8 # q t g u i s i n k s t u f f hidden
9 s e l f . t o p l a y o u t . addWidget ( s e l f . q t g u i s i n k x
10
11 s e l f . a n a l o g s i g s o u r c e x 1 = analog . s i g s o u r
12 # ==============================
13 taps = (0. 25 , 0. 25 , 0. 25 , 0. 25)
14 s e l f . f l t = f i l t e r . f i r f i l t e r f f f (1 , taps )
15 s e l f . connect (( s e l f . a n a l o g s i g s o u r c e x 1 , 0)
16 ( s e l f . f l t , 0))
17 s e l f . connect (( s e l f . f l t , 0) ,
18 ( s e l f . q t g u i s i n k x 0 , 0))
19 s e l f . connect (( s e l f . f l t , 0) ,
20 ( s e l f . a u d i o s i n k 0 , 0))
21
22 # ==============================
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
What Is This Filter?!
self.flt = filter.fir filter fff(1, (0.25, 0.25, 0.25, 0.25) )
FIR filter block
Input: Float
Output: Float
Coefficients: Float
Time domain equation:
y[n] = 0.25x[n]+0.25x[n −1]+0.25x[n −2]+0.25x[n −3]
x[n]: current input sample, x[n-1] previous one input
sample, and so on...
y[n]: current output sample
It’s just adding/multiplying numbers together, right?
Pretty easy, huh?
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Digital Frequency
Digital frequency is not related to real frequency (yet).
So forget about Hz right now.
Normally mapped to [0, π] or [0, 1].
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Digital Frequency: Highest
0 1 2 3 4 5 6 7 8 9 10
-2
-1
0
1
2
Figure : π in [0, π], or 1 in [0, 1]
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Digital Frequency: Lowest or DC
0 1 2 3 4 5 6 7 8 9 10
-2
-1
0
1
2
Figure : 0
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Digital Frequency: Middle
0 1 2 3 4 5 6 7 8 9 10
-2
-1
0
1
2
Figure : π/2 in [0, π], or 0.5 in [0, 1]
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
How to Analyze This Filter?
Back-of-the-Envelope Method
Do fast calculation in the back of the envelope
Handy to get a feel of this filter’s frequency response
Discrete Fourier Transform (DFT)
All transformations are giving us different perspectives
DFT gives us frequency response of a filter
z Transform
Gives us more than just frequency response
Also give us more thorough information, such as stability,
etc.
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope Method
Is the filter low pass filter, high pass filter, or?
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope Method
Is the filter low pass filter, high pass filter, or?
Let’s input these coefficients into Octave to tell us...
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope Method
Is the filter low pass filter, high pass filter, or?
Let’s input these coefficients into Octave to tell us...
What if your Octave is not installed, like most of
attendees here...
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope Method
Is the filter low pass filter, high pass filter, or?
Let’s input these coefficients into Octave to tell us...
What if your Octave is not installed, like most of
attendees here...
Let’s use back-of-the-envelope method
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope Method
Is the filter low pass filter, high pass filter, or?
Let’s input these coefficients into Octave to tell us...
What if your Octave is not installed, like most of
attendees here...
Let’s use back-of-the-envelope method
Remember the filter time domain equation is
y[n] = (x[n] + x[n − 1] + x[n − 2] + x[n − 3])/4
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope: Highest
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
Figure : π in [0, π], or 1 in [0, 1]
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope: Middle
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
Figure : π/2 in [0, π], or 0.5 in [0, 1]
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope: Lowest or DC
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Back-of-the-Envelope: Frequency Response
0 1
0
1
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Complete Frequency Response
0 0.5 1 1.5 2 2.5 3 3.5
−60
−50
−40
−30
−20
−10
0
dB
radian/sample
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Transforming Time Domain Equations into
z-Domain
y[n] = x[n]+x[n−1]+x[n−2]+x[n−3]
4
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Transforming Time Domain Equations into
z-Domain
y[n] = x[n]+x[n−1]+x[n−2]+x[n−3]
4
Looking up z transform pairs in DSP textbook, and you
will get...
x[n − k]− > X[z] × z−k
y[n]− > Y [z]
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Transforming Time Domain Equations into
z-Domain
y[n] = x[n]+x[n−1]+x[n−2]+x[n−3]
4
Looking up z transform pairs in DSP textbook, and you
will get...
x[n − k]− > X[z] × z−k
y[n]− > Y [z]
Y [z] = X[z]+X[z]×z−1+X[z]×z−2+X[z]×z−3
4
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Transforming Time Domain Equations into
z-Domain
y[n] = x[n]+x[n−1]+x[n−2]+x[n−3]
4
Looking up z transform pairs in DSP textbook, and you
will get...
x[n − k]− > X[z] × z−k
y[n]− > Y [z]
Y [z] = X[z]+X[z]×z−1+X[z]×z−2+X[z]×z−3
4
H[z] = Y [z]
X[z] = 1+z−1+z−2+z−3
4 = B[z]
A[z]
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Transforming Time Domain Equations into
z-Domain
y[n] = x[n]+x[n−1]+x[n−2]+x[n−3]
4
Looking up z transform pairs in DSP textbook, and you
will get...
x[n − k]− > X[z] × z−k
y[n]− > Y [z]
Y [z] = X[z]+X[z]×z−1+X[z]×z−2+X[z]×z−3
4
H[z] = Y [z]
X[z] = 1+z−1+z−2+z−3
4 = B[z]
A[z]
Zeros are values to make |H[z]| = 0 and are roots of
B[z] = 1 + z−1 + z−2 + z−3 = 0 (There are three zeros at
z=1j, z=-1, and z=-1j)
Poles are values to make |H[z]| = ∞ and are roots of
A[z] = 0 (There isn’t any pole for this filter)
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Visualization of equations: z Plane
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Visualization of z Plane 1/3
“Logic will get you from A to Z (Plane); imagination
will get you everywhere.” – Albert Einstein
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Visualization of z Plane 2/3
Imagine...
Zeros drag surface to ground
Poles bring surface up in the sky
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Visualization of z Plane 3/3
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
−30
−20
−10
0
10
20
30
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
z Transform and Frequency Response
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
−30
−20
−10
0
10
20
30
0 0.5 1 1.5 2 2.5 3 3.5
−60
−50
−40
−30
−20
−10
0
dB
radian/sample
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Sampling Rate and Real Frequency
[0, 1] −→ [0, 1
2 Fs]
[0, π] −→ [0, 1
2Fs]
Fs is sampling rate
The highest digital frequency we can represent is 1, and it
will be mapped to Fs
2 .
Fs
2 plays an important role in digital signal processing, and
is called Nyquist frequency.
To sample 8kHz analog signals, you need Fs
2 ≥ 8 kHz, i.e.
Fs ≥ 16 kHz to represent it. (Nyquist-Shannon sampling
theorem)
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Demo: Seeing Is Believing
No, in this case,
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Demo: Seeing Is Believing
No, in this case,
Hearing is believing!
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Concluding Remarks
GNU Radio provides us a signal processing framework in
Python.
Digital signal processing seems not easy at first glance.
By visualizing z plane and frequency response, DSP
becomes easier to understand!
Finally, don’t forget Fs ≥ 2 Finterest, where Finterest is the
highest frequency for signal you’re interested in.
With these visualization techniques, you can use
gr filter design tool in GNU Radio to design filter without
analyzing it.
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
Q & A
Introduction
to Digital
Signal
Processing
Using GNU
Radio
Albert
Chun-Chieh
Huang
PyCon Taiwan
2013
Introduction
to SDR and
GNU Radio
Adding a
Filter in GNU
Radio
Analyzing
Filters
Concluding
Remarks
References
“GNU Radio Project Wiki.” [Online]. Available:
http://gnuradio.org/redmine/projects/gnuradio/wiki
“SWIG - Simple Wrapper and Interface Generator.”
[Online]. Available: http://swig.org
J. Mitola, III, “Software radios-survey, critical evaluation
and future directions,” in Telesystems Conference, 1992.
NTC-92., National, 1992, p. 13.

More Related Content

What's hot

Sdr
SdrSdr
Analog RF Front End Architecture
Analog RF Front End ArchitectureAnalog RF Front End Architecture
Analog RF Front End Architecture
SHIV DUTT
 
Unit 1 introduction to software defined radios
Unit 1   introduction to software defined radiosUnit 1   introduction to software defined radios
Unit 1 introduction to software defined radios
JAIGANESH SEKAR
 
Software Defined Radio Engineering course sampler
Software Defined Radio Engineering course samplerSoftware Defined Radio Engineering course sampler
Software Defined Radio Engineering course sampler
Jim Jenkins
 
Sdr the future of radio
Sdr the future of radioSdr the future of radio
Sdr the future of radio
JauwadSyed
 
Software defined radio....
Software defined radio....Software defined radio....
Software defined radio....Bise Mond
 
Software Defined Radio With RTL-SDR
Software Defined Radio With RTL-SDRSoftware Defined Radio With RTL-SDR
Software Defined Radio With RTL-SDR
Vikas Jain
 
Software Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionSoftware Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio Companion
Andy Juan Sarango Veliz
 
USRP Project Final Report
USRP Project Final ReportUSRP Project Final Report
USRP Project Final ReportArjan Gupta
 
Basic Principles and Design of The Antenna in Mobile Communications
Basic Principles and Design of The Antenna in Mobile CommunicationsBasic Principles and Design of The Antenna in Mobile Communications
Basic Principles and Design of The Antenna in Mobile CommunicationsTempus Telcosys
 
Receiver design
Receiver designReceiver design
Receiver design
Pei-Che Chang
 
Gnu Radio and the Universal Software Radio Peripheral
Gnu Radio and the Universal Software Radio PeripheralGnu Radio and the Universal Software Radio Peripheral
Gnu Radio and the Universal Software Radio Peripheral
Alexandru Csete
 
Digital Signal Processing
Digital Signal Processing Digital Signal Processing
Digital Signal Processing
Sri Rakesh
 
microwave communication
microwave communicationmicrowave communication
microwave communication
ATTO RATHORE
 
10 range and doppler measurements in radar systems
10 range and doppler measurements in radar systems10 range and doppler measurements in radar systems
10 range and doppler measurements in radar systems
Solo Hermelin
 
Components of a satellite communication system transponder
Components of a satellite communication system transponderComponents of a satellite communication system transponder
Components of a satellite communication system transponder
Islamic University, Kushtia, Bangladesh
 
Direct digital frequency synthesizer
Direct digital frequency synthesizerDirect digital frequency synthesizer
Direct digital frequency synthesizerVenkat Malai Avichi
 

What's hot (20)

Sdr
SdrSdr
Sdr
 
Analog RF Front End Architecture
Analog RF Front End ArchitectureAnalog RF Front End Architecture
Analog RF Front End Architecture
 
Software defined radio
Software defined radioSoftware defined radio
Software defined radio
 
Unit 1 introduction to software defined radios
Unit 1   introduction to software defined radiosUnit 1   introduction to software defined radios
Unit 1 introduction to software defined radios
 
Software Defined Radio Engineering course sampler
Software Defined Radio Engineering course samplerSoftware Defined Radio Engineering course sampler
Software Defined Radio Engineering course sampler
 
Sdr the future of radio
Sdr the future of radioSdr the future of radio
Sdr the future of radio
 
Software defined radio....
Software defined radio....Software defined radio....
Software defined radio....
 
Diplexer duplexer
Diplexer duplexerDiplexer duplexer
Diplexer duplexer
 
Software Defined Radio With RTL-SDR
Software Defined Radio With RTL-SDRSoftware Defined Radio With RTL-SDR
Software Defined Radio With RTL-SDR
 
Software Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionSoftware Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio Companion
 
USRP Project Final Report
USRP Project Final ReportUSRP Project Final Report
USRP Project Final Report
 
Basic Principles and Design of The Antenna in Mobile Communications
Basic Principles and Design of The Antenna in Mobile CommunicationsBasic Principles and Design of The Antenna in Mobile Communications
Basic Principles and Design of The Antenna in Mobile Communications
 
Receiver design
Receiver designReceiver design
Receiver design
 
Gnu Radio and the Universal Software Radio Peripheral
Gnu Radio and the Universal Software Radio PeripheralGnu Radio and the Universal Software Radio Peripheral
Gnu Radio and the Universal Software Radio Peripheral
 
Whip antenna
Whip antennaWhip antenna
Whip antenna
 
Digital Signal Processing
Digital Signal Processing Digital Signal Processing
Digital Signal Processing
 
microwave communication
microwave communicationmicrowave communication
microwave communication
 
10 range and doppler measurements in radar systems
10 range and doppler measurements in radar systems10 range and doppler measurements in radar systems
10 range and doppler measurements in radar systems
 
Components of a satellite communication system transponder
Components of a satellite communication system transponderComponents of a satellite communication system transponder
Components of a satellite communication system transponder
 
Direct digital frequency synthesizer
Direct digital frequency synthesizerDirect digital frequency synthesizer
Direct digital frequency synthesizer
 

Viewers also liked

Pysx presentation at Pycontw
Pysx presentation at PycontwPysx presentation at Pycontw
Pysx presentation at Pycontw
weijr
 
Introduction Discrete-Event Simulation Using SimPy
Introduction Discrete-Event Simulation Using SimPyIntroduction Discrete-Event Simulation Using SimPy
Introduction Discrete-Event Simulation Using SimPy
Albert Huang
 
Pycontw2013x
Pycontw2013xPycontw2013x
Pycontw2013xweijr
 
Rapid prototypingembeddedsystemsbypython
Rapid prototypingembeddedsystemsbypythonRapid prototypingembeddedsystemsbypython
Rapid prototypingembeddedsystemsbypython
Albert Huang
 
Integrated Software Defined Radio (Design Conference 2013)
Integrated Software Defined Radio (Design Conference 2013)Integrated Software Defined Radio (Design Conference 2013)
Integrated Software Defined Radio (Design Conference 2013)
Analog Devices, Inc.
 
CLG - GNURadio et USRP
CLG - GNURadio et USRPCLG - GNURadio et USRP
CLG - GNURadio et USRP
Pascal Charest
 
GNU Radio for space research
GNU Radio for space researchGNU Radio for space research
GNU Radio for space research
Rustam Akhtyamov
 
Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...
Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...
Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...Marwan Hammouda
 
Fairwaves UmTRX - GNU Radio Conference 2013 presentation
Fairwaves UmTRX - GNU Radio Conference 2013 presentationFairwaves UmTRX - GNU Radio Conference 2013 presentation
Fairwaves UmTRX - GNU Radio Conference 2013 presentationAlexander Chemeris
 
Basic Rules & Theorems for Differentiation
Basic Rules & Theorems for DifferentiationBasic Rules & Theorems for Differentiation
Basic Rules & Theorems for DifferentiationChristopher Gratton
 
Spectrum Sensing Techiniques for Cognitive Radios
Spectrum Sensing Techiniques for Cognitive RadiosSpectrum Sensing Techiniques for Cognitive Radios
Spectrum Sensing Techiniques for Cognitive RadiosKonstantinos Bountouris
 
Mimo and sync_with_usrp
Mimo and sync_with_usrpMimo and sync_with_usrp
Mimo and sync_with_usrp
Elizeu Calegari
 
Cognitive Radio Spectrum Sensing 1586 ppt
Cognitive Radio Spectrum Sensing 1586 pptCognitive Radio Spectrum Sensing 1586 ppt
Cognitive Radio Spectrum Sensing 1586 pptAnupam Yadav
 
1 radar signal processing
1 radar signal processing1 radar signal processing
1 radar signal processing
Solo Hermelin
 
Radar signal processing
Radar signal processingRadar signal processing
Radar signal processing
Mustahid Ali
 
Lecture 8 derivative rules
Lecture 8   derivative rulesLecture 8   derivative rules
Lecture 8 derivative rules
njit-ronbrown
 
Basic Rules Of Differentiation
Basic Rules Of DifferentiationBasic Rules Of Differentiation
Basic Rules Of Differentiationseltzermath
 
Dsp U Lec01 Real Time Dsp Systems
Dsp U   Lec01 Real Time Dsp SystemsDsp U   Lec01 Real Time Dsp Systems
Dsp U Lec01 Real Time Dsp Systems
taha25
 

Viewers also liked (20)

Pysx presentation at Pycontw
Pysx presentation at PycontwPysx presentation at Pycontw
Pysx presentation at Pycontw
 
Introduction Discrete-Event Simulation Using SimPy
Introduction Discrete-Event Simulation Using SimPyIntroduction Discrete-Event Simulation Using SimPy
Introduction Discrete-Event Simulation Using SimPy
 
Pycontw2013x
Pycontw2013xPycontw2013x
Pycontw2013x
 
Rapid prototypingembeddedsystemsbypython
Rapid prototypingembeddedsystemsbypythonRapid prototypingembeddedsystemsbypython
Rapid prototypingembeddedsystemsbypython
 
Integrated Software Defined Radio (Design Conference 2013)
Integrated Software Defined Radio (Design Conference 2013)Integrated Software Defined Radio (Design Conference 2013)
Integrated Software Defined Radio (Design Conference 2013)
 
CLG - GNURadio et USRP
CLG - GNURadio et USRPCLG - GNURadio et USRP
CLG - GNURadio et USRP
 
GNU Radio for space research
GNU Radio for space researchGNU Radio for space research
GNU Radio for space research
 
Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...
Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...
Phydyas 09 fFilter Bank Multicarrier (FBMC): An Integrated Solution to Spectr...
 
Calc 2.2a
Calc 2.2aCalc 2.2a
Calc 2.2a
 
Fairwaves UmTRX - GNU Radio Conference 2013 presentation
Fairwaves UmTRX - GNU Radio Conference 2013 presentationFairwaves UmTRX - GNU Radio Conference 2013 presentation
Fairwaves UmTRX - GNU Radio Conference 2013 presentation
 
Basic Rules & Theorems for Differentiation
Basic Rules & Theorems for DifferentiationBasic Rules & Theorems for Differentiation
Basic Rules & Theorems for Differentiation
 
Spectrum Sensing Techiniques for Cognitive Radios
Spectrum Sensing Techiniques for Cognitive RadiosSpectrum Sensing Techiniques for Cognitive Radios
Spectrum Sensing Techiniques for Cognitive Radios
 
Mimo and sync_with_usrp
Mimo and sync_with_usrpMimo and sync_with_usrp
Mimo and sync_with_usrp
 
Cognitive Radio Spectrum Sensing 1586 ppt
Cognitive Radio Spectrum Sensing 1586 pptCognitive Radio Spectrum Sensing 1586 ppt
Cognitive Radio Spectrum Sensing 1586 ppt
 
Usrp family-09-open
Usrp family-09-openUsrp family-09-open
Usrp family-09-open
 
1 radar signal processing
1 radar signal processing1 radar signal processing
1 radar signal processing
 
Radar signal processing
Radar signal processingRadar signal processing
Radar signal processing
 
Lecture 8 derivative rules
Lecture 8   derivative rulesLecture 8   derivative rules
Lecture 8 derivative rules
 
Basic Rules Of Differentiation
Basic Rules Of DifferentiationBasic Rules Of Differentiation
Basic Rules Of Differentiation
 
Dsp U Lec01 Real Time Dsp Systems
Dsp U   Lec01 Real Time Dsp SystemsDsp U   Lec01 Real Time Dsp Systems
Dsp U Lec01 Real Time Dsp Systems
 

Similar to Introduction to Digital Signal Processing Using GNU Radio

Lab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_finalLab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_final
Bhavna Singh
 
BEST gr-bertool
BEST gr-bertoolBEST gr-bertool
BEST gr-bertool
Arturo Rinaldi
 
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
International Journal of Engineering Inventions www.ijeijournal.com
 
Lecture Slide (21).pptx
Lecture Slide (21).pptxLecture Slide (21).pptx
Lecture Slide (21).pptx
BilalMumtaz9
 
Lab based report
Lab based reportLab based report
Lab based report
Bhavna Singh
 
dsp.pdf
dsp.pdfdsp.pdf
dsp.pdf
Naol Worku
 
Easy GPS Tracker using Arduino and Python
Easy GPS Tracker using Arduino and PythonEasy GPS Tracker using Arduino and Python
Easy GPS Tracker using Arduino and Python
Núria Vilanova
 
COMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGA
COMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGACOMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGA
COMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGA
ijiert bestjournal
 
Arduino 101
Arduino 101Arduino 101
Arduino 101
Pierre Pichot
 
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data ExfiltrationMind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Checkmarx
 
4 ijaems nov-2015-4-fsk demodulator- case study of pll application
4 ijaems nov-2015-4-fsk demodulator- case study of pll application4 ijaems nov-2015-4-fsk demodulator- case study of pll application
4 ijaems nov-2015-4-fsk demodulator- case study of pll application
INFOGAIN PUBLICATION
 
GNU Radio based Real Time Data Transmission and Reception
GNU Radio based Real Time Data Transmission and ReceptionGNU Radio based Real Time Data Transmission and Reception
GNU Radio based Real Time Data Transmission and Reception
IRJET Journal
 
Emergent Software Services
Emergent Software ServicesEmergent Software Services
Emergent Software Services
Universidad de los Andes
 
Emergent Software Services
Emergent Software ServicesEmergent Software Services
Emergent Software Services
Nicolás Cardozo Alvarez
 
SENSOR DATA COMMUNICATION TO THNIGSPEAK IOT PLATFORM USING RASPBERRY P
SENSOR DATA COMMUNICATION TO THNIGSPEAK  IOT PLATFORM USING RASPBERRY PSENSOR DATA COMMUNICATION TO THNIGSPEAK  IOT PLATFORM USING RASPBERRY P
SENSOR DATA COMMUNICATION TO THNIGSPEAK IOT PLATFORM USING RASPBERRY P
IJTRET-International Journal of Trendy Research in Engineering and Technology
 
Fpga 11-sequence-detector-fir-iir-filter
Fpga 11-sequence-detector-fir-iir-filterFpga 11-sequence-detector-fir-iir-filter
Fpga 11-sequence-detector-fir-iir-filterMalik Tauqir Hasan
 
Thesis A. Rinaldi (PDF Slides)
Thesis A. Rinaldi (PDF Slides)Thesis A. Rinaldi (PDF Slides)
Thesis A. Rinaldi (PDF Slides)
Arturo Rinaldi
 
On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...
On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...
On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...
Stefano Severi
 
spread_spectrum_ppts.pdf
spread_spectrum_ppts.pdfspread_spectrum_ppts.pdf
spread_spectrum_ppts.pdf
DrVaibhavKumarGupta
 
Arduino: Arduino starter kit
Arduino: Arduino starter kitArduino: Arduino starter kit
Arduino: Arduino starter kit
SANTIAGO PABLO ALBERTO
 

Similar to Introduction to Digital Signal Processing Using GNU Radio (20)

Lab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_finalLab based ppt pluto-sdr_final
Lab based ppt pluto-sdr_final
 
BEST gr-bertool
BEST gr-bertoolBEST gr-bertool
BEST gr-bertool
 
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
 
Lecture Slide (21).pptx
Lecture Slide (21).pptxLecture Slide (21).pptx
Lecture Slide (21).pptx
 
Lab based report
Lab based reportLab based report
Lab based report
 
dsp.pdf
dsp.pdfdsp.pdf
dsp.pdf
 
Easy GPS Tracker using Arduino and Python
Easy GPS Tracker using Arduino and PythonEasy GPS Tracker using Arduino and Python
Easy GPS Tracker using Arduino and Python
 
COMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGA
COMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGACOMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGA
COMMUNICATION PROTOCOL RS232 IMPLEMENTATION ON FPGA
 
Arduino 101
Arduino 101Arduino 101
Arduino 101
 
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data ExfiltrationMind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
 
4 ijaems nov-2015-4-fsk demodulator- case study of pll application
4 ijaems nov-2015-4-fsk demodulator- case study of pll application4 ijaems nov-2015-4-fsk demodulator- case study of pll application
4 ijaems nov-2015-4-fsk demodulator- case study of pll application
 
GNU Radio based Real Time Data Transmission and Reception
GNU Radio based Real Time Data Transmission and ReceptionGNU Radio based Real Time Data Transmission and Reception
GNU Radio based Real Time Data Transmission and Reception
 
Emergent Software Services
Emergent Software ServicesEmergent Software Services
Emergent Software Services
 
Emergent Software Services
Emergent Software ServicesEmergent Software Services
Emergent Software Services
 
SENSOR DATA COMMUNICATION TO THNIGSPEAK IOT PLATFORM USING RASPBERRY P
SENSOR DATA COMMUNICATION TO THNIGSPEAK  IOT PLATFORM USING RASPBERRY PSENSOR DATA COMMUNICATION TO THNIGSPEAK  IOT PLATFORM USING RASPBERRY P
SENSOR DATA COMMUNICATION TO THNIGSPEAK IOT PLATFORM USING RASPBERRY P
 
Fpga 11-sequence-detector-fir-iir-filter
Fpga 11-sequence-detector-fir-iir-filterFpga 11-sequence-detector-fir-iir-filter
Fpga 11-sequence-detector-fir-iir-filter
 
Thesis A. Rinaldi (PDF Slides)
Thesis A. Rinaldi (PDF Slides)Thesis A. Rinaldi (PDF Slides)
Thesis A. Rinaldi (PDF Slides)
 
On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...
On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...
On Prototyping IEEE 802.11p Channel Estimators in Real-World Environments usi...
 
spread_spectrum_ppts.pdf
spread_spectrum_ppts.pdfspread_spectrum_ppts.pdf
spread_spectrum_ppts.pdf
 
Arduino: Arduino starter kit
Arduino: Arduino starter kitArduino: Arduino starter kit
Arduino: Arduino starter kit
 

Recently uploaded

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Introduction to Digital Signal Processing Using GNU Radio

  • 1. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 May 25, 2013
  • 2. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks About the Author He is both a programmer and a communication engineer. He learned Python in 2000 and has used it extensively on improving his workflow ever since. He has been working in communication IC industry for more than eight years. His interests include communication engineering and engineering communication, which consists of fields from physical layer to MAC layer as well as typesetting. Blog: Random Notes, http://alberthuang314.blogspot.com/ LinkedIn: http://www.linkedin.com/in/alberthuang314 Email address: alberthuang314 AT gmail DOT com
  • 3. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Outline 1 Introduction to SDR and GNU Radio 2 Adding a Filter in GNU Radio 3 Analyzing Filters 4 Concluding Remarks
  • 4. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Software-Defined Radio Software-Defined Radio (SDR) is a radio communication system implemented (mostly) in software.
  • 5. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Software-Defined Radio Software-Defined Radio (SDR) is a radio communication system implemented (mostly) in software. Application areas Military systems, space exploration, base stations, NVIDIA i500 LTE SDR modems, etc.
  • 6. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Software-Defined Radio Software-Defined Radio (SDR) is a radio communication system implemented (mostly) in software. Application areas Military systems, space exploration, base stations, NVIDIA i500 LTE SDR modems, etc. Background knowledge required for SDR programmer Digital Signal Processing (the most fundamental knowledge) Programming Probability and Statistics Communication System
  • 7. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Software-Defined Radio Software-Defined Radio (SDR) is a radio communication system implemented (mostly) in software. Application areas Military systems, space exploration, base stations, NVIDIA i500 LTE SDR modems, etc. Background knowledge required for SDR programmer Digital Signal Processing (the most fundamental knowledge) Programming Probability and Statistics Communication System This talk is going to illustrate how easy digital signal processing is! Don’t be hesitated!
  • 8. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Introduction to GNU Radio GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. Primarily written in Python with performance-critical signal processing components written in C++ [1]. C++ classes are wrapped by SWIG [2]. Python can be used to develop rapid prototype for SDR in an elegant and fast way. “Install GNU Radio 3.6.2 on MacOSX 10.8.2” http://goo.gl/mJQmA “A Glimpse into Developing Software-Defined Radio by Python” on SlideShare.net
  • 9. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks GNU Radio Companion
  • 10. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Top Block 1 #!/ us r / bin /env python 2 from PyQt4 import Qt 3 # Other imports are hidden 4 c l a s s top bl ock ( gr . top block , Qt . QWidget ) : 5 def i n i t ( s e l f ) : 6 # GUI−r e l a t e d s t u f f are hidden here 7 s e l f . samp rate = samp rate = 16000 8 # q t g u i s i n k s t u f f hidden 9 s e l f . t o p l a y o u t . addWidget ( s e l f . q t g u i s i n k x 10 s e l f . a n a l o g s i g s o u r c e x 1 = analog . s i g s o u r 11 samp rate , analog . GR COS WAVE, 8000 , 12 s e l f . connect (( s e l f . a n a l o g s i g s o u r c e x 1 , 0) 13 ( s e l f . a u d i o s i n k 0 , 0)) 14 s e l f . connect (( s e l f . a n a l o g s i g s o u r c e x 1 , 0) 15 ( s e l f . q t g u i s i n k x 0 , 0)) 16 17 i f name == ’ m a i n ’ : 18 tb = top bl ock () 19 tb . s t a r t () 20 tb . show () 21 tb . stop ()
  • 11. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Adding a Simple Moving Average Filter 1 #!/ us r / bin /env python 2 from gnuradio import f i l t e r # Add t h i s l i n e i n t o top bl ock . p 3 # Other imports are hidden 4 c l a s s top bl ock ( gr . top block , Qt . QWidget ) : 5 def i n i t ( s e l f ) : 6 # GUI−r e l a t e d s t u f f are hidden here 7 s e l f . samp rate = samp rate = 44100 8 # q t g u i s i n k s t u f f hidden 9 s e l f . t o p l a y o u t . addWidget ( s e l f . q t g u i s i n k x 10 11 s e l f . a n a l o g s i g s o u r c e x 1 = analog . s i g s o u r 12 # ============================== 13 taps = (0. 25 , 0. 25 , 0. 25 , 0. 25) 14 s e l f . f l t = f i l t e r . f i r f i l t e r f f f (1 , taps ) 15 s e l f . connect (( s e l f . a n a l o g s i g s o u r c e x 1 , 0) 16 ( s e l f . f l t , 0)) 17 s e l f . connect (( s e l f . f l t , 0) , 18 ( s e l f . q t g u i s i n k x 0 , 0)) 19 s e l f . connect (( s e l f . f l t , 0) , 20 ( s e l f . a u d i o s i n k 0 , 0)) 21 22 # ==============================
  • 12. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks What Is This Filter?! self.flt = filter.fir filter fff(1, (0.25, 0.25, 0.25, 0.25) ) FIR filter block Input: Float Output: Float Coefficients: Float Time domain equation: y[n] = 0.25x[n]+0.25x[n −1]+0.25x[n −2]+0.25x[n −3] x[n]: current input sample, x[n-1] previous one input sample, and so on... y[n]: current output sample It’s just adding/multiplying numbers together, right? Pretty easy, huh?
  • 13. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Digital Frequency Digital frequency is not related to real frequency (yet). So forget about Hz right now. Normally mapped to [0, π] or [0, 1].
  • 14. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Digital Frequency: Highest 0 1 2 3 4 5 6 7 8 9 10 -2 -1 0 1 2 Figure : π in [0, π], or 1 in [0, 1]
  • 15. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Digital Frequency: Lowest or DC 0 1 2 3 4 5 6 7 8 9 10 -2 -1 0 1 2 Figure : 0
  • 16. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Digital Frequency: Middle 0 1 2 3 4 5 6 7 8 9 10 -2 -1 0 1 2 Figure : π/2 in [0, π], or 0.5 in [0, 1]
  • 17. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks How to Analyze This Filter? Back-of-the-Envelope Method Do fast calculation in the back of the envelope Handy to get a feel of this filter’s frequency response Discrete Fourier Transform (DFT) All transformations are giving us different perspectives DFT gives us frequency response of a filter z Transform Gives us more than just frequency response Also give us more thorough information, such as stability, etc.
  • 18. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope Method Is the filter low pass filter, high pass filter, or?
  • 19. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope Method Is the filter low pass filter, high pass filter, or? Let’s input these coefficients into Octave to tell us...
  • 20. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope Method Is the filter low pass filter, high pass filter, or? Let’s input these coefficients into Octave to tell us... What if your Octave is not installed, like most of attendees here...
  • 21. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope Method Is the filter low pass filter, high pass filter, or? Let’s input these coefficients into Octave to tell us... What if your Octave is not installed, like most of attendees here... Let’s use back-of-the-envelope method
  • 22. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope Method Is the filter low pass filter, high pass filter, or? Let’s input these coefficients into Octave to tell us... What if your Octave is not installed, like most of attendees here... Let’s use back-of-the-envelope method Remember the filter time domain equation is y[n] = (x[n] + x[n − 1] + x[n − 2] + x[n − 3])/4
  • 23. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope: Highest 0 1 2 3 4 5 6 7 8 9 10 -1 0 1 0 1 2 3 4 5 6 7 8 9 10 -1 0 1 Figure : π in [0, π], or 1 in [0, 1]
  • 24. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope: Middle 0 1 2 3 4 5 6 7 8 9 10 -1 0 1 0 1 2 3 4 5 6 7 8 9 10 -1 0 1 Figure : π/2 in [0, π], or 0.5 in [0, 1]
  • 25. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope: Lowest or DC 0 1 2 3 4 5 6 7 8 9 10 -1 0 1 0 1 2 3 4 5 6 7 8 9 10 -1 0 1
  • 26. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Back-of-the-Envelope: Frequency Response 0 1 0 1
  • 27. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Complete Frequency Response 0 0.5 1 1.5 2 2.5 3 3.5 −60 −50 −40 −30 −20 −10 0 dB radian/sample
  • 28. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Transforming Time Domain Equations into z-Domain y[n] = x[n]+x[n−1]+x[n−2]+x[n−3] 4
  • 29. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Transforming Time Domain Equations into z-Domain y[n] = x[n]+x[n−1]+x[n−2]+x[n−3] 4 Looking up z transform pairs in DSP textbook, and you will get... x[n − k]− > X[z] × z−k y[n]− > Y [z]
  • 30. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Transforming Time Domain Equations into z-Domain y[n] = x[n]+x[n−1]+x[n−2]+x[n−3] 4 Looking up z transform pairs in DSP textbook, and you will get... x[n − k]− > X[z] × z−k y[n]− > Y [z] Y [z] = X[z]+X[z]×z−1+X[z]×z−2+X[z]×z−3 4
  • 31. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Transforming Time Domain Equations into z-Domain y[n] = x[n]+x[n−1]+x[n−2]+x[n−3] 4 Looking up z transform pairs in DSP textbook, and you will get... x[n − k]− > X[z] × z−k y[n]− > Y [z] Y [z] = X[z]+X[z]×z−1+X[z]×z−2+X[z]×z−3 4 H[z] = Y [z] X[z] = 1+z−1+z−2+z−3 4 = B[z] A[z]
  • 32. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Transforming Time Domain Equations into z-Domain y[n] = x[n]+x[n−1]+x[n−2]+x[n−3] 4 Looking up z transform pairs in DSP textbook, and you will get... x[n − k]− > X[z] × z−k y[n]− > Y [z] Y [z] = X[z]+X[z]×z−1+X[z]×z−2+X[z]×z−3 4 H[z] = Y [z] X[z] = 1+z−1+z−2+z−3 4 = B[z] A[z] Zeros are values to make |H[z]| = 0 and are roots of B[z] = 1 + z−1 + z−2 + z−3 = 0 (There are three zeros at z=1j, z=-1, and z=-1j) Poles are values to make |H[z]| = ∞ and are roots of A[z] = 0 (There isn’t any pole for this filter)
  • 33. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Visualization of equations: z Plane
  • 34. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Visualization of z Plane 1/3 “Logic will get you from A to Z (Plane); imagination will get you everywhere.” – Albert Einstein
  • 35. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Visualization of z Plane 2/3 Imagine... Zeros drag surface to ground Poles bring surface up in the sky
  • 36. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Visualization of z Plane 3/3 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −30 −20 −10 0 10 20 30
  • 37. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks z Transform and Frequency Response −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −30 −20 −10 0 10 20 30 0 0.5 1 1.5 2 2.5 3 3.5 −60 −50 −40 −30 −20 −10 0 dB radian/sample
  • 38. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Sampling Rate and Real Frequency [0, 1] −→ [0, 1 2 Fs] [0, π] −→ [0, 1 2Fs] Fs is sampling rate The highest digital frequency we can represent is 1, and it will be mapped to Fs 2 . Fs 2 plays an important role in digital signal processing, and is called Nyquist frequency. To sample 8kHz analog signals, you need Fs 2 ≥ 8 kHz, i.e. Fs ≥ 16 kHz to represent it. (Nyquist-Shannon sampling theorem)
  • 39. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Demo: Seeing Is Believing No, in this case,
  • 40. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Demo: Seeing Is Believing No, in this case, Hearing is believing!
  • 41. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Concluding Remarks GNU Radio provides us a signal processing framework in Python. Digital signal processing seems not easy at first glance. By visualizing z plane and frequency response, DSP becomes easier to understand! Finally, don’t forget Fs ≥ 2 Finterest, where Finterest is the highest frequency for signal you’re interested in. With these visualization techniques, you can use gr filter design tool in GNU Radio to design filter without analyzing it.
  • 42. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks Q & A
  • 43. Introduction to Digital Signal Processing Using GNU Radio Albert Chun-Chieh Huang PyCon Taiwan 2013 Introduction to SDR and GNU Radio Adding a Filter in GNU Radio Analyzing Filters Concluding Remarks References “GNU Radio Project Wiki.” [Online]. Available: http://gnuradio.org/redmine/projects/gnuradio/wiki “SWIG - Simple Wrapper and Interface Generator.” [Online]. Available: http://swig.org J. Mitola, III, “Software radios-survey, critical evaluation and future directions,” in Telesystems Conference, 1992. NTC-92., National, 1992, p. 13.