信号采样、调制与搬移—对奈奎斯特定理的讨论

信号采样、调制与搬移—对奈奎斯特定理的讨论

1 理论

1.1 实信号与虚信号的区别1

实信号存在负频率,但是虚信号没有。因而下面实信号的带宽是500Hz,虚信号的带宽是150Hz。根据奈奎斯特采样定理,fs=2B才可以保证信号不失真。定理对于虚信号有效,对于实信号只需要fs=B即可。
虚信号
DraggedImage.png
实信号
DraggedImage-1.png
采样前后的对比,此时采样率为3000Hz,因而在右图中最高频率与最低频率之间相差3000Hz。
DraggedImage-2.png

  • 这里另外介绍一个概念:实采样与复采样
    不违反。LTE系统中进行的是复采样(complex-valued sampling),包含幅度和相位两个信息,也就是说每一个采样点的值y=A+jB实际上是两个正交值的叠加,故带宽为20M的系统只需要20M的采样速率。而课本中通常讲的是实采样(real-valued sampling)。
    那么在代码里应该都是复采样。下图用采样率210Hz对B为200Hz的信号(复数信号)进行采样。
    在这里插入图片描述
    那么如何在代码中进行实采样?待补充。

1.2 成型滤波器的影响

对于升余弦滚降成型滤波器,假设采样倍数为4倍。滤波器首先进行4倍上采样,然后卷积滤波处理。上采样会导致信号频谱图产生周期性的重叠(上采样的特点),如右图;滤波处理后如左图。
DraggedImage-3.png

1.3 频谱搬移

频率向右搬移100Hz,代码在第二部分,结果如下图所示:
DraggedImage-4.png

2 代码

仿真验证代码如下图所示:

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采样偏差后')

3 频谱对调及解决方法2

3.1 问题描述

950MHz混频2000MHz得到1050MHz,951MHz混频2000MHz得到1049MHz?

3.2 问题分析

假设发送的频率为 f 1 f_{1} ,则我们发送的射频信号为 ( 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) ,这个信号是一个单频谱信号,也即没有负半轴的频谱,但是实际中,我们发射的信号为:
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
这是一个实信号,所以空中的这个实信号必然会有正负半轴的对称谱出现,也即如下图所示
按照上面的理论,经过2000MHz混频后,信号的频谱为:
DraggedImage-5.png
而我们对上述信号选取了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 的负半轴频谱进行处理,也即,我们收到的信号与我们发送的信号(发送的信号实际就是我们的正半轴频谱)颠倒了。

3.3 公式推导

从以上分析可以知道,我们收到的信号时负半轴频谱,这里先补充一下知识,假设收到的信号为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)
取负半轴谱时应使用如下公式:
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)
按照上面的分析,我们取的是负半轴的信号,所以这里对接收到的信号混频到基带应为:
( 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 ] \begin{aligned} &\left(I \cos 2 \pi f_{1} t-Q \sin 2 \pi f_{1} t\right) \times\left(\cos 2 \pi f_{1} t+j \sin 2 \pi f_{1} t\right) \\=&\left[I \cos ^{2} 2 \pi f_{1} t-Q \sin 2 \pi f_{1} t \cos 2 \pi f_{1} t\right]+j\left[I \cos 2 \pi f_{1} t \sin 2 \pi f_{1} t-Q \sin ^{2} 2 \pi f_{1} t\right] \end{aligned}
推导:
( 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 ) ] \begin{aligned} &\left(I \cos 2 \pi f_{1} t-Q \sin 2 \pi f_{1} t\right) \times\left(\cos 2 \pi f_{1} t+j \sin 2 \pi f_{1} t\right) \\=&\left[I \cos ^{2} 2 \pi f_{1} t-Q \sin 2 \pi f_{1} t \cos 2 \pi f_{1} t\right]+j\left[I \cos 2 \pi f_{1} t \sin 2 \pi f_{1} t-Q \sin ^{2} 2 \pi f_{1} t\right] \\=& \frac{1}{2}\left[I\left(1+\cos 2 \pi 2 f_{1} t\right)-Q \sin 2 \pi 2 f_{1} t\right]+\frac{1}{2} j\left[I \sin 2 \pi 2 f_{1} t-Q\left(1-\cos 2 \pi 2 f_{1} t\right)\right] \end{aligned}
通过低通滤波器去掉高频分量后上述信号便为:
I 2 j Q 2 \frac{I}{2}-j \frac{Q}{2}

3.4 基带信号处理流程

DraggedImage-6.png


  1. https://blog.csdn.net/zj15527620802/article/details/81274510 ↩︎

  2. 张少侃 「频谱分析及对调方法」 ↩︎

猜你喜欢

转载自blog.csdn.net/chenshiming1995/article/details/105078024