📄 cnv2bas.m
字号:
function Dat=Cnv2Bas(src,Fc,BW,Ratio)
% 功能: 将频带信号变换到基带
% 输入 中心数字频率Fc(fc/Fs); 基带数字频带宽度BW 降下采样倍率Ratio(整数—降为原来的1/Ratio)
% 返回 基带复信号Dat
wc=2*pi*Fc;
count=length(src);
k=1:count; DI=2*pi*Fc*k;
dat(2*k-1)= src(k)'.*cos(DI);
dat(2*k) = -src(k)'.*sin(DI);
dat_r=dat(2*(1:count)-1); dat_i=dat(2*(1:count));
xr=resample(dat_r,1,Ratio,10,5); % 降为8倍采样
xi=resample(dat_i,1,Ratio,10,5);
% -------------------基带滤波--------------------------
k=8;N=ceil(k/(2*BW/4)); % 以信号带宽1/4作过渡带宽
if(mod(N,2)) N=N+1; end
fltbas=fir1(N,2*BW,hamming(N+1));
xr_flt=conv(xr,fltbas); xi_flt=conv(xi,fltbas);
xr_flt=xr_flt(N/2+1:end-N/2);
xi_flt=xi_flt(N/2+1:end-N/2);
Dat=complex(xr_flt,xi_flt);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -