Is my matlab code for the sinc signal below correct.

1 次查看(过去 30 天)
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.

采纳的回答

Torsten
Torsten 2022-10-5
编辑:Torsten 2022-10-5
%************ 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)

更多回答(1 个)

Chunru
Chunru 2022-10-5
编辑:Chunru 2022-10-6
%************ 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 个评论
Afuaab Koohg
Afuaab Koohg 2022-10-6
Thanks so much @Torsten and @Chunru: I accept the solutions that you have provided.
Are you able to help my other question please?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Spectral Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by