how to resize a given signal?

8 views (last 30 days)
Sivakumaran Chandrasekaran
how to resize a given signal? My input signals are y2=[ 1 9385];yh=[1 37508]; I need to find y2+y5.
  2 Comments
Walter Roberson
Walter Roberson on 25 Mar 2013
Do the signals occupy exactly the same time duration ?

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 27 Mar 2013
Edited: Image Analyst on 27 Mar 2013
You'll probably want to use either interp1() or imresize(). Both are illustrated in the demo below:
clc;
clearvars;
y2 = rand(1, 9385);
y5 = rand(1, 37508);
% The easiest method, using imresize().
% Make y2 the same size as y5
y2Larger = imresize(y2, size(y5));
% Now sum them
output = y2Larger + y5;
% Alternative method using interp1
x = linspace(1, length(y5), length(y2));
xi = 1:length(y5);
y2Larger = interp1(x, y2, xi)
% Now sum them
output = y2Larger + y5;

Ahmed A. Selman
Ahmed A. Selman on 27 Mar 2013
Use reshape
Y=function(X,m,n)
It works for any input matrix (X) with number of elements (m x n). The output is Y with m-rows by n-columns. The size of X and Y must be the same.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!