Why does this code give error?

1 view (last 30 days)
Sadiq Akbar
Sadiq Akbar on 4 May 2021
Commented: Sadiq Akbar on 4 May 2021
clear all
close all
N=100;
fc=1.0e9;
fs=20*fc;
w=2*pi*fc/fs;
n=0:N-1;
s=sqrt(1.0)*exp(i*w*n);
wn=sqrt(0.1/2)*(randn(1,N)+i*randn(1,N));
x=s+wn;
w_est=0;
M=N;
for m=1:M-1
w_est=w_est+(1/(M-1))*arg((x(m))'*x(m+1));
end
error_1=w-w_est;
w_est=0;
M=N;
for m=1:M-1
p(m)=6*(m)*(M-m)/(M*(M^2-1));
w_est=w_est+p(m)*arg((x(m))'*x(m+1));
end
error_2=w-w_est;

Accepted Answer

DGM
DGM on 4 May 2021
Use angle() instead of arg() to get the argument of complex numbers.
  1 Comment
Sadiq Akbar
Sadiq Akbar on 4 May 2021
Thank you very much dear DGM for your prompt respose.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by