plot a signal in the freq domain

Hello!! I am trying to plot this function X= m*((sin(pi*f/2*m)*sin(pi*f/n))/pi*f*cos(pi*f/2*m))^2;
that is in the freq domain, but when I get the plot is empty. This function is the theorically spectrum of a BOC modulation, so I guess that I can not do fft or pwelch or stuff like that, so I dont know how to plot it in the f domain. I thought is gonna be samething easy as
for f=1:100:100000;
X= m*((sin(pi*f/2*m)*sin(pi*f/n))/pi*f*cos(pi*f/2*m))^2;
end
plot(f,X)
but is not working I will appreciate a lot is someone can give me a hint Thanks in advance Nicolas

2 comentarios

Honglei Chen
Honglei Chen el 7 de Mzo. de 2012
When you say plot is empty, did you check what's in X?
Thomas
Thomas el 7 de Mzo. de 2012
what are 'm' and 'n' here?

Iniciar sesión para comentar.

 Respuesta aceptada

Dr. Seis
Dr. Seis el 7 de Mzo. de 2012
If the code is setup exactly the way you say above, then there is only one element in "f" and one element in "X". You need to do something like this instead:
% Define m and n
f = 1:100:100000;
X = zeros(size(f)); % Preallocate
for ii=1:numel(f)
X(ii)= m*((sin(pi*f(ii)/2*m)*sin(pi*f(ii)/n))/pi*f(ii)*cos(pi*f(ii)/2*m))^2;
end
Or... skip the for loop
X = m*((sin(pi*f/2*m).*sin(pi*f/n))/pi.*f.*cos(pi*f/2*m)).^2;
Then
plot(f,X)

3 comentarios

Nicolas
Nicolas el 8 de Mzo. de 2012
Hello!!
Thanks, now I am plotting the image but is not what I was expecting, but this is another thing...
thanks you
Nicolas
Nicolas el 8 de Mzo. de 2012
hello elige!!
now, I am doing something similar but I am getting an error cause of the difference vectors length but look what I wrote, so I dont know where is the mistake
Tc=1*10^-3;
a=1:100:1000000;
R=zeros(size(a));
for f=1:numel(a)
R(f)=i*Tc*sinc(f*Tc/2)*sin(pi*f*Tc/2);
end
plot(a,R);
where i is the imaginary unit
Dr. Seis
Dr. Seis el 8 de Mzo. de 2012
You are using "f" inside your sinc and sin functions, but I think you meant to use "a(f)" instead.

Iniciar sesión para comentar.

Más respuestas (1)

Thomas
Thomas el 7 de Mzo. de 2012
try the following:
define m and n;
m=1;
n=1;
format long
for f=1:100:100000;
X=[X m*((sin(pi*f/2*m)*sin(pi*f/n))/pi*f*cos(pi*f/2*m))^2];
end
plot(f,X)

1 comentario

Nicolas
Nicolas el 8 de Mzo. de 2012
Hi!
The code that you gave me had a problem, but I solved. Thanks a lot anyway

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 7 de Mzo. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by