本文知识内容摘自《软件无线电原理和应用》
如第3章中软件无线电接收机数学模型所述,在软件无线电接收机中,首先对射频模拟信号或者是宽带中频模拟信号通过模数转换器进行数字化,然后,采用数字下变频(DigtalDownConverter,DDC)技术和多速率数字信号处理技术,对信号进行频率变换、滤波、抽取等处理,将感兴趣信号分离和提取出来,并将采样速率降低到较低速率,送到基带信号处理单元对感兴趣信号进行后续处理。数字下变频技术和多速率数字信号处理技术是软件无线电接收的两大核心技术。数字下变频可以采用本书前面软件无线电基础理论中介绍的Hibent 数字正交变换、数字混频正交变换和基于多相滤波的数字正交变换等方法,在这里我们仅讨论主流的基于数字混频正交变换的数字下变频。
数字下变频器一般都采用正交数字下变频法,主要包括数字混频器、数字控制振荡器(Numerically Controlled Osilator,NCO)和低通滤波器三部分组成;
数字上变频技术与数字下变频技术一样也是软件无线电的核心技术之一,数字上变频主要有三种方法:数字正交混频上变频法、内插带通滤波法以及正交混频上变频加内插带通滤波混合法。三种数字上变频技术的原理、适用场合在第3章中已进行了详细的论述,所以,这里仅对数字正交混频上变频的实现进行简单介绍。
数字上变频器是数字下变频器的逆过程,两者的工作原理、结构和实现都大同小异,只是处理顺序刚好相反。数字上变频器由成形滤波器、内插器、数字混频器、数字控制振荡器等组成。
下面我们使用matlab进行仿真模拟。
clc;
clear;
% 设置参数
fs = 5e9; % 采样率 5GHz
fc = 1000e6; % 射频频率
fc1 = 1001e6; % 射频频率
fc2 = 1002e6; % 射频频率
fm = 1100e6; % NCO信号频率
t1 = 0:1/fs:1e-3; % 时间序列,1微秒
t = t1(1:50000);
% 射频信号
c = cos(2*pi*fc*t) + cos(2*pi*fc1*t) + cos(2*pi*fc2*t);
% nco本振信号
i_nco = cos(2*pi*fm*t);
q_nco = -sin(2*pi*fm*t);
% 直接下变频
xim = c.*i_nco;
xqm = c.*q_nco;
% 使用低通滤波器
xim1= filter(fir_100mhz,xim);
xqm1= filter(fir_100mhz,xqm);
% 直接上变频
xim2 = xim1.*i_nco;
xqm2 = xqm1.*q_nco;
st = xim2+xqm2;
% 计算频谱
N = length(t);
f = (-fs/2:fs/N:fs/2-fs/N); % 频率向量
C = fftshift(fft(c));
XIM = fftshift(fft(xim));
XQM = fftshift(fft(xqm));
XIM1 = fftshift(fft(xim1));
XQM1 = fftshift(fft(xqm1));
ST = fftshift(fft(st));
figure(1);
subplot(6,1,1);
plot(f, abs(C)/N,'g');
title('C射频信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');
subplot(6,1,2);
plot(f, abs(XIM)/N,'g');
title('XIM下变频信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');
subplot(6,1,3);
plot(f, abs(XQM)/N,'r');
title('XQM下变频信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');
subplot(6,1,4);
plot(f, abs(XIM1)/N,'g');
title('XIM1低通滤波信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');
subplot(6,1,5);
plot(f, abs(XQM1)/N,'r');
title('XQM1低通滤波信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');
subplot(6,1,6);
plot(f, abs(ST)/N,'r');
title('ST上变频信号频谱');
xlabel('频率 (GHz)');
ylabel('幅度');
这里产生了一个1000mhz,1001mhz,1002mhz的叠级信号。
信号直接与1100mhz的本振NCO进行混频。变成两路I和Q信号。
此时的频谱。
1100mhz+1000mhz = 2100mhz
1100mhz+1001mhz = 2101mhz
1100mhz+1002mhz = 2102mhz
1100mhz-1000mhz = 100mhz
1100mhz-1001mhz = 99mhz
1100mhz-1002mhz = 98mhz
通过一个低通滤波器。
导出,将下变频后的信号经过低通滤波器后。
在与nco混频,完成上变频。
完成上述过程的matlab仿真如下所示。