Is my matlab code for the sinc signal below correct.

1 view (last 30 days)
I want to create and plot the signal equation below in matlab. The Coefficients ak are uniformly distributed in [−1, 1]. c is a constant.
Here is my code:
%************ Variable declaration******************
t = -20:0.1:20;
p = -10:1:10
data = 0;
signal = zeros(1,length(t)); %for spped allocations
c = 25 % constant
ak = -1 + 2*rand(1,21); % numbers in the interval (a,b) with the formula r = a + (b-a).*rand(N,1).
count = 1;
%********************************************************************************************
for i = t
for k = p
data = data + c*ak(k+11)*sinc(i-k);
end
signal(counter) = data;
counter = counter + 1;
end
plot(t,signal);
Thanks in advance.

Accepted Answer

Torsten
Torsten on 5 Oct 2022
Edited: Torsten on 5 Oct 2022
%************ Variable declaration******************
rng('default')
t = -20:0.1:20;
signal = zeros(1,length(t)); %for spped allocations
c = 25; % constant
ak = -1 + 2*rand(1,21); % numbers in the interval (a,b) with the formula r = a + (b-a).*rand(N,1).
%********************************************************************************************
for i = 1:length(t)
T = t(i);
data = 0;
for k = -10:1:10
data = data + ak(k+11)*sinc(T-k);
end
signal(i) = c*data;
end
plot(t,signal)

More Answers (1)

Chunru
Chunru on 5 Oct 2022
Edited: Chunru on 6 Oct 2022
%************ Variable declaration******************
t = -20:0.1:20;
p = -10:1:10;
signal = zeros(1,length(t)); %for spped allocations
c = 25; % constant
ak = -1 + 2*rand(1,21); % numbers in the interval (a,b) with the formula r = a + (b-a).*rand(N,1).
%********************************************************************************************
for i = 1:length(t)
data = 0;
for k = 1:length(p)
data = data + c*ak(k)*sinc(t(i)-p(k));
end
signal(i) = data;
end
plot(t,signal);
  6 Comments
Afuaab Koohg
Afuaab Koohg on 6 Oct 2022
Thanks so much @Torsten and @Chunru: I accept the solutions that you have provided.
Are you able to help my other question please?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!