Converting a signal to baseband after resampling

23 Ansichten (letzte 30 Tage)
S. David
S. David am 2 Jun. 2014
Kommentiert: S. David am 3 Jun. 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 Kommentare
Rick Rosson
Rick Rosson am 3 Jun. 2014
What are the values of p and q?
S. David
S. David am 3 Jun. 2014
p and q are any two integers.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Rick Rosson
Rick Rosson am 3 Jun. 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 Kommentar
S. David
S. David am 3 Jun. 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?

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by