Effacer les filtres
Effacer les filtres

Converting a signal to baseband after resampling

14 vues (au cours des 30 derniers jours)
S. David
S. David le 2 Juin 2014
Commenté : S. David le 3 Juin 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 commentaires
Rick Rosson
Rick Rosson le 3 Juin 2014
What are the values of p and q?
S. David
S. David le 3 Juin 2014
p and q are any two integers.

Connectez-vous pour commenter.

Réponses (1)

Rick Rosson
Rick Rosson le 3 Juin 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 commentaire
S. David
S. David le 3 Juin 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?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by