Make sure you included your ‘docstring’ comments for each function. Add comments for the following function. Function:

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter13: Structures
Section: Chapter Questions
Problem 5PP
icon
Related questions
Question

Make sure you included your ‘docstring’ comments for each function. Add comments for the following function.

Function:

 

function binary_signal = signal_to_binary(signal,threshold)
absSig=abs(signal);
sigAvg=filter((1/20)*ones(1,20),1,absSig);
binary_signal=zeros(size(signal));
binary_signal(sigAvg>threshold)=1;
end

Define a function named signal_to_binary which accepts a column vector of positive and negative float values (representing an unfiltered signal) and a scalar value representing a threshold
value. This function should return a binary signal column vector (O's and 1's) representing the unfiltered signal. Use the following algorithm below to create the binary signal:
1. Create a column vector containing the absolute value of the unfiltered signal.
2. Filter the absolute value from step 1 using a moving average with a window size of 20 to create a column vector of signal averages.
3. Apply > threshold to the averages to return a signal that contains only 1 or 0. The output should be 1 where the signal is above the threshold and O
To compute a moving average, you can use the filter function as follows:
filtered_array = filter(coeff, a, x);
X - the array containing the data you want filtered
a - set it to 1
coeff - array containing the filter coefficients
set this array based on the window size you want to use:
for example: a window size of 4, coeff should contain 4 elements all equal to 1/4
a window size of 8, coeff should contain 8 elements all equal to 1/8
Transcribed Image Text:Define a function named signal_to_binary which accepts a column vector of positive and negative float values (representing an unfiltered signal) and a scalar value representing a threshold value. This function should return a binary signal column vector (O's and 1's) representing the unfiltered signal. Use the following algorithm below to create the binary signal: 1. Create a column vector containing the absolute value of the unfiltered signal. 2. Filter the absolute value from step 1 using a moving average with a window size of 20 to create a column vector of signal averages. 3. Apply > threshold to the averages to return a signal that contains only 1 or 0. The output should be 1 where the signal is above the threshold and O To compute a moving average, you can use the filter function as follows: filtered_array = filter(coeff, a, x); X - the array containing the data you want filtered a - set it to 1 coeff - array containing the filter coefficients set this array based on the window size you want to use: for example: a window size of 4, coeff should contain 4 elements all equal to 1/4 a window size of 8, coeff should contain 8 elements all equal to 1/8
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Graphical User Interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr