通信原理学习笔记2-2:复信号分析(复信号与负频率、Hilbert变换获得正半频谱、单边带SSB调制原理)

复信号与负频率

首先要明确,复信号实际不存在,一切复信号只存在于理论分析中,实际传输复信号需要两路实信号,利用频谱的特性甚至可以只传输一路带通实信号(IQ调制)

  • 复信号携带两路独立正交的实变量(可以是实部/虚部,也可以是幅度/相位)
  • 复数应视为复平面上的向量(对于IQ调制,就是信号向两路正交波形基投影所得二维坐标点),复指数时变信号视为复平面上的旋转向量(这里特指傅立叶变换中的复指数信号,对应了某个特定频率的正弦周期信号);
    实信号视为复信号的实轴投影,正弦信号视为复指数信号的实投影
  • 因此,可以认为复信号是对实信号的“降维打击”
    复指数 e j ω t e^{j\omega t} ejωt全面反映了二维平面上旋转运动的幅度/相位/角速度/方向(顺/逆时针);
    c o s ( ω t ) = c o s ( − ω t ) cos(\omega t)=cos(-\omega t) cos(ωt)=cos(ωt)丢失了旋转方向的信息(不能确定顺/逆时针)

复指数 e j ω t e^{j\omega t} ejωt带来了负频率

  • e j ω t e^{j\omega t} ejωt的总相位 θ = ω t \theta=\omega t θ=ωt描述了其在单位圆上所处的位置
  • 角频率 ω = d θ d t \omega=\frac{d \theta}{dt} ω=dtdθ描述了总相位的变化率,因此频率的正负代表旋转向量 e j ω t e^{j\omega t} ejωt旋转方向(顺/逆时针)

实信号频谱的共轭对称性和冗余性

由此可知,实信号的频谱,一定是正负频率共轭对称的(这样不同旋转方向的旋转向量才能抵消虚部分量)
然而,正频率和负频率部分(对于实信号投影而言)承载相同信息,存在冗余,复信号则有可能只占用正频率(负频率),我们将带通实信号的负半边冗余频谱去掉,即可得到实带通信号的解析信号(是一个复信号),下面介绍如何获得解析信号

如何获得解析信号(只含正频率的频谱)

想要从实信号的对称频谱中,提取出正频率部分,直观上就是用阶跃函数“截取”频谱的正半部分;
「阶跃函数」的频谱 u ⁡ ( x ) = { 1 x > 0 1 2 x = 0 0 x < 0 \operatorname{u}(x)=\left\{\begin{array}{ll} 1 & x>0 \\ \frac{1}{2} & x=0 \\ 0 & x<0 \end{array}\right. u(x)=1210x>0x=0x<0,这需要借助Hilbert变换产生
在这里插入图片描述

Hilbert变换

Hilbert变换对应一个系统

  • 时域上,其冲激响应为 h ( t ) = 1 π t h(t)=\frac{1}{\pi t} h(t)=πt1(在零点处可以认为 h ( t ) ∣ t = 0 = 0 h(t)|_{t=0}=0 h(t)t=0=0
    在这里插入图片描述

  • 频域上,Hilbert变换不改变各频率成分的幅值(直流除外),只是将正频率相移 − π 2 -\frac{\pi}{2} 2π,将负频率相移 π 2 \frac{\pi}{2} 2π,其频率特性为: H ( ω ) = { − j ω > 0 0 ω = 0 j ω < 0 H(\omega)=\left\{\begin{array}{ll} -\mathrm{j} & \omega>0 \\ 0 & \omega=0 \\ \mathrm{j} \quad & \omega<0 \end{array}\right. H(ω)=j0jω>0ω=0ω<0
    在三维频谱(二维复平面+一维频率)上,这相当于原信号 x ( t ) x(t) x(t)与Hilbert变换后的信号 x ^ ( t ) \hat x(t) x^(t)正交,从而形成两个“基”

需要注意的是, Hilbert变换是一个非因果系统(输出取决于过去和未来的输入),多存在于理论中,难以真正实现
在时域上实现需要缓存一段时间的输入,才能得到输出,在模拟域实现困难;
在频域上实现则需要对于所有不同频率成分都相移90°,也难以实现(如果只有一个频率,则对信号延时1/4个周期即可相移90°;但如果有多个频率,就需要单独对不同频率成分做不同的延时,最后再把不同频率成分叠加)

Hilbert变换的频率响应中有因子“ j j j”,故Hilbert变换常常需要与另一个因子“ j j j”搭配使用,使正负频率反号,其频谱为「符号函数 F [ j π t ] = j H ( ω ) = S g n ( ω ) = { 1 ω > 0 0 ω = 0 − 1 ω < 0 \mathscr{F}[\frac{j}{\pi t}]=jH(\omega)=Sgn(\omega)=\left\{\begin{array}{ll} 1 & \omega>0 \\ 0 & \omega=0 \\ -1 \quad & \omega<0 \end{array}\right. F[πtj]=jH(ω)=Sgn(ω)=101ω>0ω=0ω<0进一步,我们可以产生「阶跃函数」的频谱: F [ δ ( t ) + j π t ] = 1 + j H ( ω ) = 1 + S g n ( ω ) = 2 u ⁡ ( ω ) = { 2 ω > 0 1 ω = 0 0 ω < 0 \mathscr{F}[\delta(t)+\frac{j}{\pi t}]=1+jH(\omega)=1+Sgn(\omega)=2\operatorname{u}(\omega)=\left\{\begin{array}{ll} 2 & \omega>0 \\ 1 & \omega=0 \\ 0 & \omega<0 \end{array}\right. F[δ(t)+πtj]=1+jH(ω)=1+Sgn(ω)=2u(ω)=210ω>0ω=0ω<0

j x ^ ( t ) j\hat x(t) jx^(t)与原信号 x ( t ) x(t) x(t)叠加,从而可以构造只含正频率的复信号

小结:

  • Hilbert变换常常需要与因子“ j j j”搭配使用,使正负频率反号
    例如直接乘以 j j j,或乘以 s i n ω t sin\omega t sinωt从而在频域乘以 j j j
  • Hilbert变换的用途,与“提取频谱的一半”有关,具体而言就是 提取对称频谱的正频率部分
    例如用于产生解析信号、SSB上下边带信号
  • Hilbert变换是非因果系统,多存在于理论中,难以真正实现

解析信号:从实信号的对称频谱中提取出正频率部分

根据上面的原理,可以提取 x ( t ) x(t) x(t)的对称频谱 X ( ω ) X(\omega) X(ω)的正频率部分 X + ( ω ) X_+(\omega) X+(ω)
若原来的实信号为 x ( t ) x(t) x(t),经过Hilbert变换后得到实信号 x ^ ( t ) = x ( t ) ∗ 1 π t = 1 π ∫ − ∞ ∞ x ( τ ) t − τ d τ \hat x(t)=x(t)*\frac{1}{\pi t}=\frac{1}{\pi} \int_{-\infty}^{\infty} \frac{x(\tau)}{t-\tau} \mathrm{d} \tau x^(t)=x(t)πt1=π1tτx(τ)dτ
那么在频域上看, X + ( ω ) = 2 X ( ω ) u ( ω ) = X ( ω ) [ 1 + j H ( ω ) ] X_+(\omega)=2X(\omega)u(\omega)=X(\omega)[1+jH(\omega)] X+(ω)=2X(ω)u(ω)=X(ω)[1+jH(ω)]
在时域上看, x + ( t ) = F − 1 [ 2 X ( ω ) u ( ω ) ] = x ( t ) ∗ F − 1 [ 2 u ( ω ) ] = x ( t ) ∗ [ δ ( t ) + j π t ] = x ( t ) + j x ^ ( t ) \begin{aligned}x_{+}(t) &=\mathscr{F}^{-1}[2 X(\omega) u(\omega)] \\ &=x(t) * \mathscr{F}^{-1}[2 u(\omega)] \\ &=x(t) * [\delta(t)+\frac{\mathrm{j}}{\pi t}]\\ &=x(t)+j\hat x(t)\end{aligned} x+(t)=F1[2X(ω)u(ω)]=x(t)F1[2u(ω)]=x(t)[δ(t)+πtj]=x(t)+jx^(t)

综上,从实信号 x ( t ) x(t) x(t)的正负对称频谱 X ( ω ) X(\omega) X(ω)中,提取出正频率部分的方法如下(其中下标 + + +代表频谱只含正频率部分): x + ( t ) = x ( t ) + j x ^ ( t ) x_{+}(t)=x(t)+j\hat x(t) x+(t)=x(t)+jx^(t)
x + ( t ) x_{+}(t) x+(t)是一个复信号,其「频谱 X + ( ω ) X_+(\omega) X+(ω)只有原频谱正频率部分,且幅值变为2倍」,称为解析信号/预包络
在这里插入图片描述

在频域上理解:

  • x + ( t ) = x ( t ) + j x ^ ( t ) x_{+}(t)=x(t)+j\hat x(t) x+(t)=x(t)+jx^(t)是一个系统,它将 x ( t ) x(t) x(t)的频谱截取正半部分(频域响应就是阶跃函数
  • j x ^ ( t ) j\hat x(t) jx^(t)的频谱「正频率不变,复频率反号」, j x ^ ( t ) j\hat x(t) jx^(t)与原信号 x ( t ) x(t) x(t)叠加,即可得到只含正频率的信号

应用:相移法进行单边带调制SSB

在这里插入图片描述

上/下边带调制原理:
s U S B ( t ) = A c 2 R e { [ x ( t ) + j x ^ ( t ) ] e j 2 π f c t } = A c 2 [ x ( t ) c o s 2 π f c t − x ^ ( t ) s i n 2 π f c t ] s_{USB}(t)=\frac{A_c}{2}Re\{[x(t)+j\hat x(t)]e^{j2\pi f_ct}\}=\frac{A_c}{2}[x(t)cos2\pi f_ct-\hat x(t)sin2\pi f_ct] sUSB(t)=2AcRe{[x(t)+jx^(t)]ej2πfct}=2Ac[x(t)cos2πfctx^(t)sin2πfct] s L S B ( t ) = A c 2 R e { [ x ( t ) − j x ^ ( t ) ] e j 2 π f c t } = A c 2 [ x ( t ) c o s 2 π f c t + x ^ ( t ) s i n 2 π f c t ] s_{LSB}(t)=\frac{A_c}{2}Re\{[x(t)-j\hat x(t)]e^{j2\pi f_ct}\}=\frac{A_c}{2}[x(t)cos2\pi f_ct+\hat x(t)sin2\pi f_ct] sLSB(t)=2AcRe{[x(t)jx^(t)]ej2πfct}=2Ac[x(t)cos2πfct+x^(t)sin2πfct]
对第一个等号的理解(以USB为例):对信号 x ( t ) x(t) x(t)取正频率部分,搬移至载频,然后用 R e [ ⋅ ] Re[\cdot] Re[]使频谱正负对称
对第二个等号的理解: x ( t ) x(t) x(t)上变频,与[正负频率反号+上变频]的 x ^ ( t ) s i n 2 π f c t \hat x(t)sin2\pi f_ct x^(t)sin2πfct部分叠加,在载频处抵消了下边带
在这里插入图片描述

解调方法:直接下变频后低通滤波即可,接收信号为 r ( t ) = s ( t ) cos ⁡ ( ω c t ) − s ^ ( t ) sin ⁡ ( ω c t ) r(t)=s(t) \cos \left(\omega_{c} t\right)-\hat{s}(t) \sin \left(\omega_{c} t\right) r(t)=s(t)cos(ωct)s^(t)sin(ωct),则解调为 L P F [ r ( t ) cos ⁡ ( ω c t ) ] = L P F { s ( t ) 1 + cos ⁡ ( 2 ω c t ) 2 − s ^ ( t ) sin ⁡ ( 2 ω c t ) 2 ] } = 1 2 s ( t ) LPF[r(t) \cos \left(\omega_{c} t\right)]=LPF\{s(t) \frac{1+\cos \left(2 \omega_{c} t\right)}{2}-\hat{s}(t) \frac{\sin \left(2 \omega_{c} t\right)}{2}]\}=\frac{1}{2}s(t) LPF[r(t)cos(ωct)]=LPF{s(t)21+cos(2ωct)s^(t)2sin(2ωct)]}=21s(t)

  • 4
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用MATLAB代码实现移相法产生单边调制(LSSB)并绘制频谱的示例代码: ```matlab % 设置信号参数 Fc = 100; % 载波频率 Fs = 1000; % 采样频率 T = 1/Fs; % 采样时间间隔 t = 0:T:1-T; % 采样时间序列 Am = 1; % 调制信号幅度 Fm = 10; % 调制信号频率 phi = pi/2; % 相位偏移 Ac = 2; % 载波幅度 % 生成调制信号 m_signal = Am*cos(2*pi*Fm*t); % 生成载波信号 c_signal = Ac*cos(2*pi*Fc*t); % 移相法产生LSSB信号 LSSB_signal = m_signal.*cos(2*pi*Fc*t) - imag(hilbert(m_signal)).*sin(2*pi*Fc*t+phi); % 绘制信号频谱 N = length(t); f = Fs*(0:(N/2))/N; M_signal = fft(m_signal)/N; C_signal = fft(c_signal)/N; LSSB_signal_f = fft(LSSB_signal)/N; LSSB_signal_f_shift = fftshift(LSSB_signal_f); figure; subplot(3,2,1); plot(t,m_signal); xlabel('时间(s)'); ylabel('幅度'); title('调制信号'); subplot(3,2,2); plot(f,2*abs(M_signal(1:N/2+1))); xlabel('频率(Hz)'); ylabel('幅度'); title('调制信号频谱'); subplot(3,2,3); plot(t,c_signal); xlabel('时间(s)'); ylabel('幅度'); title('载波信号'); subplot(3,2,4); plot(f,2*abs(C_signal(1:N/2+1))); xlabel('频率(Hz)'); ylabel('幅度'); title('载波信号频谱'); subplot(3,2,[5,6]); plot(f,2*abs(LSSB_signal_f_shift(1:N/2+1))); xlabel('频率(Hz)'); ylabel('幅度'); title('LSSB信号频谱'); ``` 这段代码首先设置了一些信号参数,然后生成了调制信号和载波信号。接着,使用移相法将调制信号产生LSSB信号。最后,使用MATLAB的`fft`函数计算信号频谱,并使用`subplot`将三个信号的时间域波形和频谱绘制在同一张图。其,LSSB信号频谱使用了`fftshift`函数进行了心化处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值