Converting a signal to baseband after resampling

44 visualizaciones (últimos 30 días)
S. David
S. David el 2 de Jun. de 2014
Comentada: S. David el 3 de Jun. de 2014
Hello,
After resampling a passband signal, how can I convert it back to the baseband domain? In particular, I have the following code in MATLAB:
v=d.*exp(1i*2*pi*fc.*t);
z=resample(v,p,q);
where d and t are the signal and time vector respectively,and fc is the carrier frequency. In this case z after resampling has a different length than v, and hence I cannot write:
zBP=z.*exp(-1i*2*pi*fc.*t);
How can I handle this then?
Thanks
  2 comentarios
Rick Rosson
Rick Rosson el 3 de Jun. de 2014
What are the values of p and q?
S. David
S. David el 3 de Jun. de 2014
p and q are any two integers.

Iniciar sesión para comentar.

Respuestas (1)

Rick Rosson
Rick Rosson el 3 de Jun. de 2014
Nz = length(z);
Nv = length(v);
r = Nz/Nv;
dt_old = t(2) - t(1);
dt_new = dt_old/r;
t_old = t;
t_new = dt_new*(0:Nv-1);
zBP=z.*exp(-1i*2*pi*fc.*t_new);
  1 comentario
S. David
S. David el 3 de Jun. de 2014
What if I am doing the resampling P different times, not just once, like:
Ld=max(p./q)*length(v);%Here p and q are vectors of length P
y=zeros(1,Ld);
for cc=1:P
z=resample(v,p(cc),q(cc));
y(1:length(z))=y(1:length(z))+z;
end
Shall I do the above for each (p,q) pair?

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by