cnv2bas.m

来自「C 程序 球面方位角算法: azimuth.cpp CRC校验快速算法: C」· M 代码 · 共 21 行

M
21
字号
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 + =
减小字号Ctrl + -
显示快捷键?