Building AI applications for Signals and Time-
Series Data
Esha Shah, MathWorks
Francis Tiong, MathWorks
ARTIFICIAL INTELLIGENCE
MACHINE LEARNINGSupervised and Unsupervised Statistical Models…
DEEP LEARNINGNeural networks, GANs, Autoencoders….
Machine Learning and Deep learning have grown rapidly over the
last decade
2
ARTIFICIAL INTELLIGENCE
MACHINE LEARNINGSupervised and Unsupervised Statistical Models…
DEEP LEARNINGNeural networks, GANs, Autoencoders….
Machine Learning and Deep learning have grown rapidly over the
last decade
2
4
Use of AI in signal processing applications is growing rapidly
Modulation Classification of RF waveforms
4
Modulation Classification of RF waveforms
4
TRANSMITTER
(Software
Defined Radio)
RECEIVER
(Software
Defined Radio)
Modulation Classification of RF waveforms
4
TRANSMITTER
(Software
Defined Radio)
RECEIVER
(Software
Defined Radio)
Modulation Classification of RF waveforms
4
TRANSMITTER
(Software
Defined Radio)
Modulation
Type
RECEIVER
(Software
Defined Radio)
Modulation Classification of RF waveforms
4
TRANSMITTER
(Software
Defined Radio)
Modulation
Type
RECEIVER
(Software
Defined Radio)
AI-driven system design
5
AI-driven system design
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
5
AI-driven system design
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
5
AI-driven system design
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
Enterprise systems
Embedded devices
Edge, cloud,
desktop
Deployment
5
AI-driven system design
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
Enterprise systems
Embedded devices
Edge, cloud,
desktop
Deployment
5
Preparing and labelling data
Data cleansing and
preparation
Simulation-generated
data
Human insight
Data Preparation
16
Preparing and labelling data
Q. How to label collected data?Data cleansing and
preparation
Simulation-generated
data
Human insight
Data Preparation
17
Preparing and labelling data
Q. How to label collected data?
Q. What if it is not possible to collect
data?
Data cleansing and
preparation
Simulation-generated
data
Human insight
Data Preparation
Labeling Signals with Signal Labeler App
7
Generate Synthetic Data for various applications in MATLAB
8
Generate Synthetic Data for various applications in MATLAB
8
Simulate data using Simulink models
Generate Synthetic Data for various applications in MATLAB
8
Simulate data using Simulink models Generate wireless waveforms
Generate Synthetic Data for various applications in MATLAB
8
Generate Radar Returns
Simulate data using Simulink models Generate wireless waveforms
Generate Synthetic Data for various applications in MATLAB
8
Generate Radar Returns Generate and Augment Audio Data
Simulate data using Simulink models
text2speech
23
Generate wireless waveforms
9
Generation of wireless communication waveforms with impairments
9
•Modulate digital baseband signals using built-in functions•BPSK, QPSK, 8PSK, FM, DSB-AM, SSB-AM, GFSK,PAM4
Generation of wireless communication waveforms with impairments
9
•Modulate digital baseband signals using built-in functions•BPSK, QPSK, 8PSK, FM, DSB-AM, SSB-AM, GFSK,PAM4
•Easily account for various impairments•RF / Hardware impairments (Frequency/ Phase Offsets etc. )
• Channel Impairments (Multipath Fading Channels)
Generation of wireless communication waveforms with impairments
9
•Modulate digital baseband signals using built-in functions•BPSK, QPSK, 8PSK, FM, DSB-AM, SSB-AM, GFSK,PAM4
•Easily account for various impairments•RF / Hardware impairments (Frequency/ Phase Offsets etc. )
• Channel Impairments (Multipath Fading Channels)
• Generate Datasets for Deep Learning
• 5000 frames generated for each modulation type
• 80% data – Training; 10% data – Validation; 10% data - Test
Generation of wireless communication waveforms with impairments
Feature Extraction
Data cleansing and
preparation
Simulation-generated
data
Human insight
Data Preparation
Feature Extraction
Q. Can I use raw data?Data cleansing and
preparation
Simulation-generated
data
Human insight
Data Preparation
Feature Extraction
Q. Can I use raw data?
Q. How do I extract the right features
for my data?
Data cleansing and
preparation
Simulation-generated
data
Human insight
Data Preparation
Use of raw data for AI models
11
Use of raw data for AI models
11
IQ waveform
I waveform
Q waveform
Use of raw data for AI models
11
High
Dimensionality
Need for more data
Need for
specialized models
IQ waveform
I waveform
Q waveform
Challenges with Raw Data
Feature extraction with signal processing techniques
12
Feature extraction with signal processing techniques
12
Feature extraction with signal processing techniques
12
Feature extraction with signal processing techniques
12
Feature extraction with signal processing techniques
12
Building the AI models
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Building the AI models
Q. How do I select the right model for
my application:Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Building the AI models
Q. How do I select the right model for
my application:• If I do not have enough data?
• If I do not have domain expertise?
• If I need an easily interpretable model?
…..
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Start by using published literature and MATLAB examples
14
Start by using published literature and MATLAB examples
14
Start by using published literature and MATLAB examples
14
Understanding tradeoffs for model selection
15
Understanding tradeoffs for model selection
15
Da
ta V
olu
me
Time Required
Understanding tradeoffs for model selection
15
Da
ta V
olu
me
Signal Processing /
Domain Knowledge
There are three ways to build AI models in MATLAB
16
There are three ways to build AI models in MATLAB
16
Writing code
fitcauto/fitrauto
There are three ways to build AI models in MATLAB
16
Interactively Design Models with
Apps
Writing code
fitcauto/fitrauto
There are three ways to build AI models in MATLAB
16
Interactively Design Models with
Apps
Use Transfer Learning
for Deep Learning
Writing code
fitcauto/fitrauto
Iterate to find the best model with Experiment Manager App
17
Iterate to find the best model with Experiment Manager App
17
Iterate to find the best model with Experiment Manager App
17
Find optimal
training options
Iterate to find the best model with Experiment Manager App
17
Find optimal
training options
Compare the
results of using
different data sets
Iterate to find the best model with Experiment Manager App
17
Find optimal
training options
Compare the
results of using
different data sets
Compare the
results of using
different models
Selecting the Right Model : Understanding Tradeoffs
18
Da
ta V
olu
me
Signal Processing /
Domain Knowledge
Selecting the Right Model : Understanding Tradeoffs
18
Da
ta V
olu
me
Signal Processing /
Domain Knowledge
Continuous Wavelet Transform is used to extract the Time-
Frequency maps
19
Continuous Wavelet Transform is used to extract the Time-
Frequency maps
19
•One line of code for generating wavelet time-
frequency visualization in MATLAB. Works for any
signal >> cwt(inputSignal)
Continuous Wavelet Transform is used to extract the Time-
Frequency maps
19
•One line of code for generating wavelet time-
frequency visualization in MATLAB. Works for any
signal >> cwt(inputSignal)
•Localizes sharp transients and slowly varying
oscillations simultaneously
Continuous Wavelet Transform is used to extract the Time-
Frequency maps
19
•One line of code for generating wavelet time-
frequency visualization in MATLAB. Works for any
signal >> cwt(inputSignal)
•Localizes sharp transients and slowly varying
oscillations simultaneously
• Works with complex data
Using time-frequency maps as inputs to a pretrained CNN
20
Using time-frequency maps as inputs to a pretrained CNN
20
Using time-frequency maps as inputs to a pretrained CNN
20
Transfer Learning with Deep Network Designer App
21
Train and Test Deep Network
22
Test Deep Network
23
Testing network with connected hardware
24
Testing network with connected hardware
24
Testing network with connected hardware
24
Testing network with connected hardware
24
AI-assisted system design
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
Enterprise systems
Embedded devices
Edge, cloud,
desktop
Deployment
25
AI-assisted system design
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
Enterprise systems
Embedded devices
Edge, cloud,
desktop
Deployment
25
Deep Learning can be used in each step of the AI workflow
26
Deep Learning can be used in each step of the AI workflow
26
Labeling assistance
Manually Correct
Neural Network
Auto Label
Inspect
Deep Learning can be used in each step of the AI workflow
26
Labeling assistance
Manually Correct
Neural Network
Auto Label
Inspect
classifySound (YAMNet),GoogLeNet,
fitcecoc(ResNet18)
Deep Learning can be used in each step of the AI workflow
26
Labeling assistance Synthetic Data Generation
Manually Correct
Neural Network
Auto Label
Inspect
classifySound (YAMNet),GoogLeNet,
fitcecoc(ResNet18)
Deep Learning can be used in each step of the AI workflow
26
Labeling assistance Synthetic Data Generation
Manually Correct
Neural Network
Auto Label
Inspect
classifySound (YAMNet),GoogLeNet,
fitcecoc(ResNet18)
Generative Adversarial Networks
(GANs)
Deep Learning can be used in each step of the AI workflow
27
Deep Learning can be used in each step of the AI workflow
27
Feature Extraction
Deep Learning can be used in each step of the AI workflow
27
Feature Extraction
Deep Learning can be used in each step of the AI workflow
27
Feature Extraction
vggFeatures, waveletScattering
Deep Learning can be used in each step of the AI workflow
27
Feature Extraction
Differentiable Signal Processing
vggFeatures, waveletScattering
Deep Learning can be used in each step of the AI workflow
27
Feature Extraction
Differentiable Signal Processing
vggFeatures, waveletScattering
Deep Learning can be used in each step of the AI workflow
27
Feature Extraction
Differentiable Signal Processing
vggFeatures, waveletScattering
dlstft (Differentiable STFT)
AI-driven system design
Model design and
tuning
Hardware
accelerated training
Interoperability
AI Modeling
Data cleansing and
preparation
Simulation-
generated data
Human insight
Data Preparation
Enterprise systems
Embedded devices
Edge, cloud,
desktop
Deployment
28
Deploy to any processor with best-in-class performance
29
Deploy to any processor with best-in-class performance
Preprocessing, Feature
Extraction, AI Model
29
Deploy to any processor with best-in-class performance
CPU
Code
Generation
Preprocessing, Feature
Extraction, AI Model
29
Deploy to any processor with best-in-class performance
CPU
GPUCode
Generation
Preprocessing, Feature
Extraction, AI Model
29
Deploy to any processor with best-in-class performance
FPGA
CPU
GPUCode
Generation
Preprocessing, Feature
Extraction, AI Model
29
Deploying complete AI algorithms to embedded processors, GPUs
and FPGAs
30
Deploying complete AI algorithms to embedded processors, GPUs
and FPGAs
30
Deploying complete AI algorithms to embedded processors, GPUs
and FPGAs
30
Deploying complete AI algorithms to embedded processors, GPUs
and FPGAs
30
Deploying complete AI algorithms to embedded processors, GPUs
and FPGAs
31
MATLAB supports the entire AI-driven system design
32
MATLAB supports the entire AI-driven system design
Signal Processing apps
Feature Extraction Techniques
Generate Data Quickly build models
Accelerate training
Deploy to targets with
code generation
32
mathworks.com
© 2021 The MathWorks, Inc. MATLAB and Simulink are registered
trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional
trademarks. Other product or brand names may be trademarks or
registered trademarks of their respective holders. 33