Time Domain Signal Convolution

5 views (last 30 days)
I wish to convolve multiple 1D time domain (amplitude vs time) signals which are imported in ASCii format from CST software. This is because I have multiple antennas excited in time domain impulse and this produces separate 1D signals. I need to convolve these signals to get the single received 1D signal waveform. When importing the ASCii files, what format is best? Then how do I convolve the signals to get a single output signal and plot it in 2D?

Accepted Answer

Image Analyst
Image Analyst on 2 Jan 2016
"When importing the ASCii files, what format is best?" <== I'd choose to have the numbers in a CSV file if you can. Numbers are separated by commas and you can easily use csvread(), and it's much faster than xlsread().
signal = csvread(filename);
"how do I convolve the signals to get a single output signal and plot it in 2D?" <== Try this:
output = conv(signal, kernel, 'full'); % Or 'same' whichever you want.
plot(output, 'b*-', 'LineWidth', 2, 'MarkerSize', 10);
grid on;
title('Filtered signal from convolution', 'FontSize', 20);
ylabel('filtered signal', 'FontSize', 20);
xlabel('index', FontSize', 20);
  2 Comments
Suki Sule
Suki Sule on 4 Jan 2016
Thanks. The CST automatically saves the output in .txt format. Can I use this?
Image Analyst
Image Analyst on 4 Jan 2016
Yes, but what's in between the numbers? If it's a comma, use csvread(). If it's something else, try dlmread() or importdata().

Sign in to comment.

More Answers (0)

Categories

Find more on Signal Generation and Preprocessing in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!