Converting a signal to baseband after resampling

조회 수: 16 (최근 30일)
S. David
S. David 2014년 6월 2일
댓글: S. David 2014년 6월 3일
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
Rick Rosson
Rick Rosson 2014년 6월 3일
What are the values of p and q?
S. David
S. David 2014년 6월 3일
p and q are any two integers.

댓글을 달려면 로그인하십시오.

답변 (1개)

Rick Rosson
Rick Rosson 2014년 6월 3일
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
S. David
S. David 2014년 6월 3일
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?

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by