赞
踩
实信号存在负频率,但是虚信号没有。因而下面实信号的带宽是500Hz,虚信号的带宽是150Hz。根据奈奎斯特采样定理,fs=2B
才可以保证信号不失真。定理对于虚信号有效,对于实信号只需要fs=B
即可。
虚信号
实信号
采样前后的对比,此时采样率为3000Hz,因而在右图中最高频率与最低频率之间相差3000Hz。
对于升余弦滚降成型滤波器,假设采样倍数为4倍。滤波器首先进行4倍上采样,然后卷积滤波处理。上采样会导致信号频谱图产生周期性的重叠(上采样的特点),如右图;滤波处理后如左图。
频率向右搬移100Hz,代码在第二部分,结果如下图所示:
仿真验证代码如下图所示:
clear;close all; % ---------------------------------------------------------------------- % step 1 生成信号 % ------------------------------------------------------------ sr = 1000; % 符号率,1s内符号点的个数(决定了时钟) t = 1:1/sr:10; % 针对函数的时钟 f_sig = [100:0.5:250 ]; % 实在 sig = 0; sigmode = 'real'; switch sigmode case 'real' for i = 1:length(f_sig) sig = sig + sin(2*pi*f_sig(i)*t)*(1+1j); % 模拟OFDM信号 end case 'imag' for i = 1:length(f_sig) sig = sig + exp(1j*2*pi*f_sig(i)*t); end end f_B = max(f_sig)-min(f_sig); % 频率,同时也是带宽B % figure;plot(t,sig);hold on % 为什么符号率和信号带宽没关系?因为这是sin信号 % 如果对于普通的调制信号(QPSK或者BPSK),那么信号的带宽B就是sr/2,所以采样的话,只需要2*B=sr就可以采样。 % 为什么?因为实信号与复信号之间的区别 % ------------------------------------------------ % step 2 线性插值+采样 % ------------------------------------------------ t_BS = 20; % 模拟采样偏差,时钟偏差(前后的采样时钟不准确)(这个具体怎么理解?) fs = t_BS*f_B; % 采样频率 >2B % fs = 500; % 采样频率 t_cy = 1:1/fs:10; % 采样的时钟 sig_fj = interp1(t,sig,t_cy,'spline'); % 采样的函数 % ----------------------------------------------- % fft 实际信号的频谱 NN = length(sig);figure;plot((-NN/2+1:NN/2)/NN*sr,20*log10(abs(fftshift(fft(sig)))));axis([-inf,inf,-inf,inf]);xlabel('fs Hz');ylabel('幅度谱 dB') % fft 采样后的频谱 NN = length(sig_fj);figure;plot((-NN/2+1:NN/2)/NN*fs,20*log10(abs(fftshift(fft(sig_fj)))));title('采样后');axis([-inf,inf,-inf,inf]);xlabel('fs Hz');ylabel('幅度谱 dB') % ------------------------------------------------ % 频谱搬移 delta_f = 100; % 需要搬移的频率,也可以认为是频偏(正表示向右边搬移) sig_by = sig.*exp(1j*2*pi*delta_f/sr.*(1:length(sig))); % 频谱搬移 NN = length(sig_by);figure;plot((-NN/2+1:NN/2)/NN*sr,20*log10(abs(fftshift(fft(sig_by))))); % ---------------------------------------------------------------------- % FPGA对于样点的处理 % ------------------------------------------------------------ % 成型滤波 alfa = 0.35; % 滚降 delay = 6; % 延时 Ns = 4; % 滤波成型倍数 fs2 = Ns*sr; % 另一种采样 HopSendOutRcos = rcosflt(sig,sr,fs2,'fir/sqrt',alfa,delay); % 升余弦成型 HopSendOutRcos = HopSendOutRcos.'; NN = length(HopSendOutRcos);figure;plot((-NN/2+1:NN/2)/NN*fs2,20*log10(abs(fftshift(fft(HopSendOutRcos)))));title('滤波成型后');axis([-inf,inf,-inf,inf]) % 上采样,产生周期性延展,相当于把信号变成离散的,离散信号的频谱是周期性延展的 sigUpsam = upsample(sig,Ns); NN = length(sigUpsam);figure;plot((-NN/2+1:NN/2)/NN*fs2,20*log10(abs(fftshift(fft(sigUpsam)))));title('滤波成型后');axis([-inf,inf,-inf,inf]) % % % 滤波后与原信号重合 % % ------------------------------------------------------------- % 接收机部分的ADC芯片对模拟信号在采样上的偏差 offset = 1*sr/4; samplefre = fs2 + offset; time1 =fs2/samplefre.*(1:length(HopSendOutRcos)); signalsample = interp1((1:length(HopSendOutRcos)),HopSendOutRcos,time1,'spline'); NN = length(signalsample);figure;plot((-NN/2+1:NN/2)/NN*fs2,20*log10(abs(fftshift(fft(signalsample)))));title('加上ADC采样偏差后')
950MHz混频2000MHz得到1050MHz,951MHz混频2000MHz得到1049MHz?
假设发送的频率为
f
1
f_{1}
f1,则我们发送的射频信号为
(
I
+
j
Q
)
×
(
cos
2
π
f
1
t
+
j
sin
2
π
f
1
t
)
(I+j Q) \times\left(\cos 2 \pi f_{1} t+j \sin 2 \pi f_{1} t\right)
(I+jQ)×(cos2πf1t+jsin2πf1t) ,这个信号是一个单频谱信号,也即没有负半轴的频谱,但是实际中,我们发射的信号为:
real
[
(
I
+
j
Q
)
×
(
cos
2
π
f
1
t
+
j
sin
2
π
f
1
t
)
]
=
I
cos
2
π
f
1
t
−
Q
sin
2
π
f
1
t
\operatorname{real}\left[(I+j Q) \times\left(\cos 2 \pi f_{1} t+j \sin 2 \pi f_{1} t\right)\right]=I \cos 2 \pi f_{1} t-Q \sin 2 \pi f_{1} t
real[(I+jQ)×(cos2πf1t+jsin2πf1t)]=Icos2πf1t−Qsin2πf1t
这是一个实信号,所以空中的这个实信号必然会有正负半轴的对称谱出现,也即如下图所示
按照上面的理论,经过2000MHz混频后,信号的频谱为:
而我们对上述信号选取了1049MHz到1050MHz频谱的信号进入基带处理,可知,我们取了实信号
I
cos
2
π
f
1
t
−
Q
sin
2
π
f
1
t
I \cos 2 \pi f_{1} t-Q \sin 2 \pi f_{1} t
Icos2πf1t−Qsin2πf1t 的负半轴频谱进行处理,也即,我们收到的信号与我们发送的信号(发送的信号实际就是我们的正半轴频谱)颠倒了。
从以上分析可以知道,我们收到的信号时负半轴频谱,这里先补充一下知识,假设收到的信号为X收 ,则取正半轴谱时应使用如下公式:
X
4
k
×
(
cos
2
π
f
1
t
−
j
sin
2
π
f
1
t
)
X_{4 k} \times\left(\cos 2 \pi f_{1} t-j \sin 2 \pi f_{1} t\right)
X4k×(cos2πf1t−jsin2πf1t)
取负半轴谱时应使用如下公式:
X
4
k
×
(
cos
2
π
f
1
t
+
j
sin
2
π
f
1
t
)
X_{4 k} \times\left(\cos 2 \pi f_{1} t+j \sin 2 \pi f_{1} t\right)
X4k×(cos2πf1t+jsin2πf1t)
按照上面的分析,我们取的是负半轴的信号,所以这里对接收到的信号混频到基带应为:
(
I
cos
2
π
f
1
t
−
Q
sin
2
π
f
1
t
)
×
(
cos
2
π
f
1
t
+
j
sin
2
π
f
1
t
)
=
[
I
cos
2
2
π
f
1
t
−
Q
sin
2
π
f
1
t
cos
2
π
f
1
t
]
+
j
[
I
cos
2
π
f
1
t
sin
2
π
f
1
t
−
Q
sin
2
2
π
f
1
t
]
推导:
(
I
cos
2
π
f
1
t
−
Q
sin
2
π
f
1
t
)
×
(
cos
2
π
f
1
t
+
j
sin
2
π
f
1
t
)
=
[
I
cos
2
2
π
f
1
t
−
Q
sin
2
π
f
1
t
cos
2
π
f
1
t
]
+
j
[
I
cos
2
π
f
1
t
sin
2
π
f
1
t
−
Q
sin
2
2
π
f
1
t
]
=
1
2
[
I
(
1
+
cos
2
π
2
f
1
t
)
−
Q
sin
2
π
2
f
1
t
]
+
1
2
j
[
I
sin
2
π
2
f
1
t
−
Q
(
1
−
cos
2
π
2
f
1
t
)
]
通过低通滤波器去掉高频分量后上述信号便为:
I
2
−
j
Q
2
\frac{I}{2}-j \frac{Q}{2}
2I−j2Q
https://blog.csdn.net/zj15527620802/article/details/81274510 ↩︎
张少侃 「频谱分析及对调方法」 ↩︎
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。