Trying to compress a signal.

18 views (last 30 days)
Rafael Ortiz
Rafael Ortiz on 26 Sep 2021
Commented: Rafael Ortiz on 27 Sep 2021
Hi guys im trying to compress a signal
n is the time vector given by : n=[0 1 2 3 4 5 6 ] and xn is the vector with the values of the discrete sequence and is: xn=[0 1 2 3 4 1 0]
signal compression is "x(2*n)", x2n= [0 2 2 0 0 0 0] .
Is there any way to calculate these new points in matlab?
Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 27 Sep 2021
compressed_x = x(1:2:end);
  4 Comments
Walter Roberson
Walter Roberson on 27 Sep 2021
n=[0 1 2 3 2 1 0]
n = 1×7
0 1 2 3 2 1 0
x = [0 1 2 3 4 1 0]
x = 1×7
0 1 2 3 4 1 0
n2idx = @(n) n+1;
xn = @(n) x(n2idx(n))
xn = function_handle with value:
@(n)x(n2idx(n))
x2n = @(n) x(n2idx(2*n));
xn(n)
ans = 1×7
0 1 2 3 2 1 0
x2n(n)
ans = 1×7
0 2 4 0 4 2 0
Rafael Ortiz
Rafael Ortiz on 27 Sep 2021
Thank you so much!

Sign in to comment.

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 26 Sep 2021
that explains all steps of signal compression in a logical order.

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!