Create a MATLAB tall array transformation function

Closed Posted 2 years ago Paid on delivery
Closed Paid on delivery

Context: The MATLAB Vehicle Network Toolbox can be used to load a type of binary data files called MF4. The MF4 data can be loaded into a MATLAB datastore and into a tall table.

This script requires MATLAB 2021b and the MATLAB Vehicle Network Toolbox. You can get a 30 day trial free here: [login to view URL]

The MF4 data contains ‘raw’ CAN bus data, which needs to be decoded.

Below we describe the steps. The steps need to be possible to implement in a MATLAB tall table so that the output is a new tall table, which can be calculated upon request.

Filter the tall array to extract entries where CAN_DataFrame_ID == msg_id

For the resulting filtered table, extract the data byte array in CAN_DataFrame_DataBytes and convert the 8 decimal bytes to a bit string of 64 bits

Extract a substring of bits based on bit_start and bit_length inputs

Conver this bitstring to decimal form

Multiply the decimal value by a scale_factor and add an offset value to get the resulting phys_value

The resulting phys_value should be a new tall table with timestamped physical values (which can e.g be plotted)

In other words, the function to be parsed for transforming the tall array should have the following inputs:

function extract_signal(msg_id, bit_start, bit_length, scale_factor, offset, signal_name)

For testing, use below actual values:

msg_id = 2024, bit_start = 24, bit_length = 16, scale_factor = 0.125, offset = 50, signal_name = “TestSignal”

We provide example scripts for context and sample data. The relevant sample data to be loaded is in the LOG_datastore/ folder.

[login to view URL]

The script matlab_raw_to_tallarray.m contains a starting point that loads the raw data - but it lacks the function and the transformation of the tall array to extract the signal. Your task is to create the transformation function and show that it works by extracting the signal value and plotting the extracted tall array.

MATLAB Controller Area Network (CAN)

Project ID: #31986523

About the project

1 proposal Remote project Active 2 years ago

1 freelancer is bidding on average $25 for this job

doggar302

Hi Employer! I am a Matlab developer and have been working for the last 6 years. I am able to do this job. I have checkout the description. You can also checkout my portfolio. https://www.freelancer.com/u/doggar30 More

$25 USD in 7 days
(4 Reviews)
4.0