The document discusses digital signal processing using GNU Radio. It begins with an introduction to software-defined radio (SDR) and GNU Radio. It then demonstrates how to add a simple moving average filter in GNU Radio and analyzes the filter using back-of-the-envelope calculations. Specifically, it shows that the filter has a low-pass frequency response by examining how it averages input samples over time. The document thus provides an overview of SDR concepts and a hands-on example of creating and analyzing a basic filter using GNU Radio.
A Glimpse into Developing Software-Defined Radio by PythonAlbert Huang
Software-defined radio~(SDR) has been emerging for many years in
various fields, including military, commercial communication
systems, and scientific research, e.g. space exploration. GNU Radio
is an open source SDR framework written in Python. This talk will introduce from basic concept of software-defined radio and various
front-end hardware, and then illustrate how to use Python to develop
SDR.
A Glimpse into Developing Software-Defined Radio by PythonAlbert Huang
Software-defined radio~(SDR) has been emerging for many years in
various fields, including military, commercial communication
systems, and scientific research, e.g. space exploration. GNU Radio
is an open source SDR framework written in Python. This talk will introduce from basic concept of software-defined radio and various
front-end hardware, and then illustrate how to use Python to develop
SDR.
Basic blocks to understand RFFE Architecture. how Analog front end and Digital front is different. Basic components like Filter, Mixer, Power Amplifier, circulator, Duplexer, LNA and demodulator working is explained. It can held to design your own front end as RF link budget has been explained in well manner. what to do to avoid saturation of PA?
Software Defined Radio Engineering course samplerJim Jenkins
This 3-day course is designed for digital signal processing engineers, RF system engineers, and managers who wish to enhance their understanding of this rapidly emerging technology. Most topics include carefully described design analysis, alternative approaches, performance analysis, and references to published research results. Many topics are illustrated by Matlab simulation demos. An extensive bibliography is included.
10 range and doppler measurements in radar systemsSolo Hermelin
Present method of Range and Doppler measurement in a RADAR system.
For comments please contact me at solo.hermelin@gmail.com.
For more presentations on different subjects visit my website at http://www.solohermelin.com.
Recommend to view this presentation on my website in power point.
Basic blocks to understand RFFE Architecture. how Analog front end and Digital front is different. Basic components like Filter, Mixer, Power Amplifier, circulator, Duplexer, LNA and demodulator working is explained. It can held to design your own front end as RF link budget has been explained in well manner. what to do to avoid saturation of PA?
Software Defined Radio Engineering course samplerJim Jenkins
This 3-day course is designed for digital signal processing engineers, RF system engineers, and managers who wish to enhance their understanding of this rapidly emerging technology. Most topics include carefully described design analysis, alternative approaches, performance analysis, and references to published research results. Many topics are illustrated by Matlab simulation demos. An extensive bibliography is included.
10 range and doppler measurements in radar systemsSolo Hermelin
Present method of Range and Doppler measurement in a RADAR system.
For comments please contact me at solo.hermelin@gmail.com.
For more presentations on different subjects visit my website at http://www.solohermelin.com.
Recommend to view this presentation on my website in power point.
Bit-encoded parser in communication system is not easy to program, and usually written in C. Sometimes for lack of toolchain or reduction of memory footprint, programmers might still need to write it in assembly, and it's definitely not a happy task. The author tries to share his happy experience on rapid prototyping this kind of parser in Python, and later coded them in assembly running in an embedded processor.
This was presented in PyCon APAC 2015.
This session combines the high speed analog signal chain from RF to baseband with FPGA-based digital signal processing for wireless communications. Topics include the high speed analog signal chain, direct conversion radio architecture, the high speed data converter interface, and FPGA-based digital signal processing for software-defined radio. Demonstrations use the latest generation Analog Devices’ high speed data converters, RF, and clocking devices, along with the Xilinx Zynq-7000 SoC. Other topics of discussion include the imperfections introduced by the modulator/ demodulator with particular focus on the effect of temperature and frequency changes. In-factory and in-field algorithms that reduce the effect of these imperfections, with particular emphasis on the efficacy of in-factory set-and-forget algorithms, are examined.
Describes Signal Processing in Radar Systems,
For comments please contact me at solo.hermelin@gmail.com.
For more presentations on different subjects visit my website at http://solohermelin.com.
I recommend to see the presentation on my website under RADAR Folder, Signal Processing Subfolder.
International Journal of Engineering Inventions (IJEI) provides a multidisciplinary passage for researchers, managers, professionals, practitioners and students around the globe to publish high quality, peer-reviewed articles on all theoretical and empirical aspects of Engineering and Science.
The peer-reviewed International Journal of Engineering Inventions (IJEI) is started with a mission to encourage contribution to research in Science and Technology. Encourage and motivate researchers in challenging areas of Sciences and Technology.
Communication Protocol RS232 Implementation on Fiel d Programmable Gate Array (FPGA) has been presented in this paper. The Image pixel v alues are converted into binary and send to the FPGA from PC through Serial Communication Pr otocol .GUI is designed in MATLAB and is used to interface Personal computer (PC) and FPGA. The image pixels are read through FPGA in binary format.
Discover the Arduino platform, that allows to very easily develop awesome embedded stuffs, from a small bot to an advanced nanosatellite (true story!).
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data ExfiltrationCheckmarx
Pedro Umbelino, a researcher on the Checkmarx Security Research Team, presented recently at Hack.lu. The focus was on covert channels for air-gapped systems, data exfiltration, NFC research and BLE Smart Bulb research.
4 ijaems nov-2015-4-fsk demodulator- case study of pll applicationINFOGAIN PUBLICATION
FSK Demodulator, one of the applications of PLL has been implemented using both hardware and software. Results are found to be similar and based on these results it is believed that this will contribute for the improvement in performance and reliability for future communication systems. Hence this will also contribute to the development of higher reliability of the systems.
Talk presented at the 2016 Onward! conference colocated with splash in amsterdam.
This work presents a framework for the spontaneous interaction (composition) of service components by learning services APIs. Upon discovery of services with a known API the composition is seamless.
The aim of this article is to explain the readers the technique of sending data from the sensor
through the Raspberry pi and communicating it to the Thingspeak cloud which is an IOT
platform. To explain the procedure a simple ultrasonic sensor HC-SR-04 which senses objects
up to a distance of 13 ft connected with a raspberry Pi board is used.
This tutorial describe about Raspberry Pi board, Ultrasonic sensor, circuit design for sensing of
data, Python programming script with step by step interpretation. Finally procedure for creating a
channel in ThinSpeak for uploading our data and to read the uploaded data from a remote
desktop/mobile is also included in this tutorial.
PDF Slides of my thesis research. The gr-bertool is a handy and useful software to evaluate the BER of the digital modulation both in the wired and wireless channel.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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
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
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?
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.
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
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)
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)
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.
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.