Canmetry
Open workbench

ASC to MAT converter for CANoe logs, decoded with your DBC.

This ASC to MAT converter turns a CANoe ASC trace into a .mat or CSV file, decoded with your DBC. No toolbox needed.

Step 1 of 4 · Upload logs

Drop your ASC file here

or

.asc files up to 150 MiB, up to 5 at a time. Conversion runs in your browser, so files stay on your computer.

CAN · CAN FD · 1 µs timestamps

When an ASC trace has to become signals

An ASC file is a text trace: easy to open, hard to analyse. Converting ASC to MAT or CSV with a DBC gives you named signals in the tool where the analysis really happens.

804000 s60 skm/h

ASC to MAT without a toolbox licence

MATLAB's canSignalImport reads ASC files only with the Vehicle Network Toolbox. This converter writes plain structs and arrays, so the .mat file opens in MATLAB with no add-on.

Batch ASC to MAT conversion

A test bench writes one ASC per run. Convert up to five at a time, each to its own .mat or .csv, instead of repeating Logging File Conversion in CANoe.

from scipy.io import loadmat
d = loadmat('drive.mat', squeeze_me=True,
            struct_as_record=False)
# fields: time, value, unit
speed = d['ESP_VehicleSpeed']

A replacement for a hand-written ASC parser

Regular-expression scripts break on hex or decimal headers, CAN FD lines and error frames. The converter reads those variants and hands you decoded signals.

ASC to CSV for Excel and Python users

A .csv or .mat opens anywhere. Share decoded signals with a colleague or attach them to a defect ticket without sending the raw ASC trace.

Run an ASC trace through your DBC

Four steps in your browser tab. Neither the ASC file nor your DBC leaves your computer.

  1. Add your ASC trace

    Drop up to five .asc files. The header's hex or decimal base is applied as each is read, and the CAN channels are listed, CAN FD ones included.

  2. Link a DBC to every ASC channel

    ASC lines carry a channel number, so each channel can have its own database. Pick one per channel, or drag a DBC onto a channel folder.

  3. Choose .mat or .csv output

    Pick .mat for MATLAB and SciPy or .csv for Excel and pandas, then name the file.

  4. Convert ASC to MAT and download

    Each ASC is decoded with your DBC and saved as its own .mat or .csv, ready to download.

What lands in the MAT file

An ASC to MAT conversion keeps decoded signals only, at full resolution, with time in seconds from the first decoded frame.

infostruct
source'drive.asc'
channels[1 2]
signal_count630
time_unit's'
ESP_VehicleSpeedstruct
timeN×1 double
valueN×1 double
signal'VehicleSpeed'
message'ESP'
unit'km/h'
channel1
VCU_DrvTorReq · BMS_PackVoltage · …
  • Signal structs in the .mat

    Signals are structs named Message_Signal, each with time and value arrays, unit, message and channel. Every signal keeps its own time array, nothing is resampled, and an info struct names the source ASC and its channels.

  • CSV for spreadsheets

    A row per sample with time_s, time_us, channel, message, signal, value and unit; it opens directly in Excel or pandas.

  • Lines that are not decoded CAN frames are skipped

    Only decoded CAN frames are written. IDs that no linked DBC defines, channels with no DBC, remote and error frames, and non-CAN lines such as LIN or status events are skipped; link a DBC to every channel to bring the rest in.

  • Batch and size limits

    Five ASC files per run, each up to 150 MiB. One CSV holds 2,000,000 rows, so a long trace is better written as MAT, which has no row limit.

ASC to MAT: your questions

What are the steps to turn an ASC trace into a MAT file?

Add the .asc, link a DBC to each CAN channel, choose MAT, press Convert and download. The ASC is read, decoded and written in your browser.

An ASC is already text. Why does it need a DBC?

Because it is raw frames in text form: time, channel, ID and data bytes on each line. Only the DBC says how those bytes split into named, scaled signals.

Is the Vehicle Network Toolbox required?

Not here. MATLAB's canSignalImport reads Vector ASC but needs the Vehicle Network Toolbox. This converter writes ordinary structs and arrays, so the .mat opens in plain MATLAB or SciPy.

Which ASC dialects does it understand?

Vector ASC from CANoe and CANalyzer, taking the hex or decimal base from the header, with classic CAN, CAN FD and error frames. ASC written by other tools in the same layout, such as python-can, usually reads the same.

Can a whole test run be converted in one go?

Up to five .asc files per run, 150 MiB each, and every file gets its own .mat or .csv. That replaces repeating CANoe's Logging File Conversion or maintaining a script.

Which lines never reach the output?

Anything that is not a decoded CAN frame: frames with an ID missing from the linked DBCs, channels without a DBC, remote and error frames, and non-CAN lines such as LIN or status events.

Are CAN FD lines decoded?

Yes, payloads up to 64 bytes, so FD signals are not cut off at byte 8.

MAT or CSV for an ASC trace?

MAT for MATLAB and SciPy: no row limit, and each signal keeps its own time array. CSV for Excel and pandas, capped at 2,000,000 rows, which a long trace can exceed.