0% found this document useful (0 votes)
57 views

Signal Processing Study

The document discusses various signal processing techniques: - Normalization techniques including feature scaling are used to adjust values to a common scale for comparison. - Filtering techniques like low-pass and high-pass filters extract relevant data points to improve the signal-to-noise ratio. Common filters mentioned include peak threshold, moving average, and Kalman filters. - Peak detection algorithms like peak threshold with a window are used to find local maxima in signal data above a given threshold. - Feature extraction methods like root mean square calculation and moving averages are examined for analyzing signal energy over different window sizes.

Uploaded by

oesaus
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Signal Processing Study

The document discusses various signal processing techniques: - Normalization techniques including feature scaling are used to adjust values to a common scale for comparison. - Filtering techniques like low-pass and high-pass filters extract relevant data points to improve the signal-to-noise ratio. Common filters mentioned include peak threshold, moving average, and Kalman filters. - Peak detection algorithms like peak threshold with a window are used to find local maxima in signal data above a given threshold. - Feature extraction methods like root mean square calculation and moving averages are examined for analyzing signal energy over different window sizes.

Uploaded by

oesaus
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Signal Processing

The signal processing chain

Data Capture Pre-Processing Feature Selection Learning Post Processing


•e.g. acceleration •Conversion /Extraction •machine learning •Human learning
sensor •Selection •Select/calculate •classification
components •visual analytics
•reduction of •clustering
dimensions

Normalisation
Essentially normalisation means adjusting given values to a set scale to enable comparison of data.

Some types of normalisation include feature scaling…

Feature Scaling:

𝑋 − 𝑋𝑚𝑖𝑛
𝑋′ =
𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛
Brings all values into the range [0,1]. It is also known as unity-based normalisation. It can be
generalised to restrict the values to any arbitrary points using a and b.
(𝑋 − 𝑋𝑚𝑖𝑛)(𝑏 − 𝑎)
𝑋′ = 𝑎 +
𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛
Octave

For a given set of signal data x:


x_norm = (x-min(x))./(max(x)-min(x));

Filtering
Filtering data refers to extracting particular data points of relevance out of the data set, for example
peaks. The aim is to remove noise from the data to improve the signal-to-noise ratio.

Two types of filtering are low pass filters and high pass filters.

Low Pass filter: passes signals with a frequency lower than a certain cut-off frequency and
attenuated signals with frequencies higher than the cut-off frequency. E.g. simple moving average
SMA.
High Pass Filter: it passes signals with a frequency higher than a certain cut-off frequency and
attenuated signals with frequencies lower than the cut-off frequency

Depending on the requirement, either linear filters such as SMA or non-linear filters such as median
filter can be used. Some common types are Kalman filter, recursive least square filter, least mean
square filter, Wiener-Kolmogorov filters.

Noise reduction can be achieved in both the time domain as well as frequency domain.

Types of filtering include: peak threshold, peak threshold + window, Root Mean Square, Moving
Average and Kalman filter.

Peak Threshold
Set a minimal value and find all the values in signal data that are above that threshold.
Define: minimal value (Threshold T)
Disadvantges =
- Threshold is not always constant
- On a single step, multiple clause are above the given threshold

Octave
Set a minimum threshold, get the indices of the data points over the threshold.
dataThreshold = 0.5;
idxOverThreshold = data>dataThreshold;
indices = 1:length(idxOverThreshold); %creates a index set from 1 to the count of values
that are over the threshold

xIdxVector = indices(idxOverThreshold==1);
yIdxVector = data(idxOverThreshold==1);
%to Graph

plot(data)
plot(xIdxVector, yIdxVector, ‘r+’);

Peal Threshold & Window


In set interval, find the local maximum value.
Define: Minimal value (Threshold T) + Range in sample ( = window size W)

Advantage: simple method & works in real time


Disadvantage: error at the edges as it only considers window.

Octave
Create a function to find position of peaks over a threshold in a given data set, search set for local
maximum. (can also just use code and input the variables without function)
function peaklist = SimplePeakFind (environment, data, thresh)

listlength= length(data);
peaklist = zeros(lostlength,1); % creates blank output
SearchEnvHalf = max(1,floor(environment/2));

dataAboveThresh = find(data>=thresh);
for CandidateIndx = 1:length(dataAboveThresh)
Idx = dataAboveThresh(CandidateIdx);

%consider list boundaries

minIdx = Idx – SearchEnvHalf;


maxIdx = Idx + SearchEnvHalf;
if(minIdx<1)
minIdx = 1;

end
if (maxIdx>listlength)
maxIdx = listlength;

end

%data(CandidateIdx) == local maximum?


If(data(Idx) == max(data(minIdx:maxIdx)))
peaklist(Idx) = Idx;

end
end

%finally shrink list to non-zero values

peaklist = peaklist(find(peaklist));

end

Plotting Samples:

Find peaks in a dataset with window of 25 data points that are bigger than 0.15

peaklist = SimplePeakFind(25, dataset, 0.15)


xindx = peaklist;
yindx= dataset(peaklist);

%PLOT

figure
plot(dataset)
plot(xindx, yindx, “o”)

Root Mean Square (RMS)


Calculate the energy of signal in a window function.

𝑁
1
𝑋𝑅𝑀𝑆 = √ ∑ |𝑋𝑛 |2
𝑁
𝑛=1

RMS is the root-mean-square value of a signal. For a digitised signal, you can calculate it by squaring
each value, finding the arithmetic mean of those squared values, and taking the square root of the
result.

Moving Average
Define: Range in samples (window size W)

Advantages: simple implementation & good average


Disadvantage: Slow reaction to changes for large window size

Octave
wndw = 200; %choose size of moving average window
a=1;
b=(1/wndw)*ones(1,wndw);
data_filtered = filter(b, a, data);
Kalman filter
Complex filter for 2D/3D GPS Data Smoothing

You might also like