同低通滤波法一样,中频实信号经过A/D变换器输出的序列经符号修正后,偶数项为同相支路信号,奇数项为正交支路信号,两支路输出序列相差一个采样周期。要想获得相同时刻的I支路分量和Q支路分量,可以对I支路内插奇数项,得到,对Q支路内插偶数项,得到
;在实际使用中也可以只对I支路或者Q支路计算内插值,输出内插值,对另一路信号延时相应的时间,最后的输出结果相当于对
、
进行了2倍抽取。
由表3-1可以看出N阶贝塞尔插值只有个不同的系数,且系数分母为2的整数次幂,可以通过移位快速计算,所以每插一个值只需要进行
次加法运算,
次乘法运算和一次移位运算。
贝塞尔插值使用多项式来逼近一个带限函数。由于带通采样后I、Q支路交替出现,所以对于两支路,插值点都位于两相邻已知样点的中间。可见,贝塞尔插值法与低通滤波法的差别仅在于获得两已知样点中间值的方法不同而已。
贝塞尔插值法代码实现(完整代码见下载链接)
图中可以看出镜频分量
% 贝塞尔插值法(单路插值)
f0 = 100e+6; % 100MHz中频
% B = 2e+6; % 2MHz带宽
B = 15e+6; % 15MHz带宽
Tao = 50e-6; % 50us时宽
m = 3;
fs = 4*f0/(2*m-1); % 用来带通采样,采样频率不能随便乱选 4f0/(2m-1) m_max=10
fs1 = 3*f0; % 低通采样,用来画出中频信号的波形和频谱
N = fix(Tao * fs); % 带通采样点数
N1 = fix(Tao * fs1); % 低通采样点数
Ts = 1/fs; % 带通采样,时域采样间隔
Ts1 = 1/fs1; % 低通采杨,时域采样间隔
t = Ts :Ts:N*Ts; % 时间点(带通采样)
f = linspace(-fs/2,fs/2,N); % 频率点(带通采样)
t1 = Ts1 :Ts1:N1*Ts1; % 时间点(低通采样)
f1 = linspace(-fs1/2,fs1/2,N1); % 频率点(低通采样)
% 生成LFM信号