フィルターのクリア

Converting a signal to baseband after resampling

6 ビュー (過去 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