移动通信:数字调制技术(BPSK, DPSK, QPSK, Π/4 QPSK,BFSK, MSK, GMSK, M-ary)学习笔记

news2024/12/25 2:00:00

文章目录

  • Factors That Influence the Choice of Digital Modulation
  • Bandwidth and Power Spectral Density of Digital Signals
  • Pulse Shaping Techniques
  • Geometric Representation of Modulation Signals
  • Linear Modulation Techniques
  • Constant Envelope Modulation
    • Binary Frequency Shift Keying(BFSK)
    • Minimum Shift Keying (MSK)
    • Gaussian Minimum Shift Keying (GMSK)
  • Combined Linear and Constant Envelope Modulation Techniques (M-ary Modulation)
    • M-ary Phase Shift Keying (MPSK)
    • M-ary Quadrature Amplitude Modulation (QAM)
    • M-ary Frequency Shift Keying (MFSK)
  • References


调制就是对信息源进行编码的过程,使得其适合信道传输。它通常涉及将低频段的基带信号(叫做 modulating signal)转换为高频段的带通信号(叫做 modulated signal)。通常,我们可以通过改变基带信号的振幅(amplitude)、频率或者相位来进行调制。

在数字无线通信系统中,调制信号可以表示为符号或脉冲的时间序列,其中每个符号有 m m m 个有限状态,每个符号代表 n n n 比特的信息: n = log ⁡ 2 m n=\log_2 m n=log2m bits/symbol. 数字调制相比模拟调制(AM、FM)有更好的性能,且性价比更高,对噪声抵抗力也更强。

Factors That Influence the Choice of Digital Modulation

一个理想的调制方案可以在低接收信噪比的情况下提供低误码率(bit error rate, BER),在多径和衰减条件下表现良好,占用最小的带宽,并且易于实现,具有成本效益。但我们很难找到一个同时满足以上要求的完美调制技术。

通常,一个调制技术的性能可以通过它的功率效率(power efficiency)或者带宽效率(bandwidth efficiency)来衡量。

功率效率刻画了调制技术在低功率情况下保持数字信息保真度(fidelity)的能力。在数字通信系统中,为了提高抗噪声能力,有必要提高信号功率。然而,为了获得一定的保真度(即可接受的 BER),应该增加多少信号功率取决于所采用的特定类型的调制。功率效率(或者有时也叫能量效率) η p \eta_p ηp,就是在衡量 fidelity 以及 power 之间的 tradeoff,它是在特定误码率条件下(如 1 0 − 5 10^{-5} 105),每比特信号能量与噪声功率谱密度之间的比值:
η p = E b N 0 \eta_p=\frac{E_b}{N_0} ηp=N0Eb

带宽效率描述了一个调制技术在有限带宽内容纳数据的能力。一般来说,提高数据率意味着减少数字符号的脉冲宽度,从而增加了信号的带宽。因此,数据率和带宽占用之间存在着不可避免的关系。如果 R b R_b Rb 是单位时间内传输的比特数, B B Bmodulated 信号占用的带宽(pulse shaping 之后),那么带宽效率定义为:
η B = R b B   b p s / H z \eta_B = \frac{R_b}{B}\ {\rm bps/Hz} ηB=BRb bps/Hz

数字移动通信系统的系统容量与调制方案的带宽效率直接相关,因为在给定的频谱分配中,具有较大 η B \eta_B ηB 值的调制方案将传输更多的数据。

带宽效率有一个基本的上限。香农信道编码定理指出,对于一个任意小的错误概率,最大可能的带宽效率受到信道噪声的限制,并由信道容量公式给出。要注意的是,香农限适用于 AWGN 非衰减信道。最大带宽效率计算如下:
η B m a x = C B = log ⁡ 2 ( 1 + S N ) \eta_{Bmax}=\frac{C}{B}=\log_2\left(1+\frac{S}{N}\right) ηBmax=BC=log2(1+NS)

其中, C C C 为信道容量, S / N S/N S/N 为信噪比。

在调制方案的选择中,我们可能经常需要在功率效率与带宽效率之间做一些 tradeoff。例如,在信息中加入差错控制编码会增加带宽占用率(即会降低带宽效率),但同时也会降低特定误码率下所需的接收功率,因此相当于用带宽效率换取功率效率。此外,更高阶的调制方案(M-ary keying)减少了带宽占用,但增加了所需的接收功率,因此相当于用功率效率换取带宽效率。

除了刚刚提到的单位时间内传输的比特数(bit rate) R b R_b Rb,我们再介绍几个与之相关的量:

  • bit period T b T_b Tb:传输一比特所需的时间
  • symbol rate R s R_s Rs:单位时间内传输的符号数
  • symbol duration T s T_s Ts:传输一个符号所需的时间

我们开头提到过,每个符号代表 n n n 比特信息,因此有
R b = R s ⋅ n = R s ⋅ log ⁡ 2 M R_b=R_s \cdot n=R_s \cdot \log_2 M \\ Rb=Rsn=Rslog2M

T b = T s / n T_b = T_s/n Tb=Ts/n


Bandwidth and Power Spectral Density of Digital Signals

不同的应用对信号带宽的定义可能会有所不同,但它们或多或少都会考虑信号的功率谱密度(power spectral density,PSD)。一个随机信号 w ( t ) w(t) w(t) 的 PSD 定义为:
P w ( f ) = lim ⁡ T → ∞ ( ∣ W T ( f ) ∣ 2 ‾ T ) P_w(f)=\lim\limits_{T\to \infty}\left(\frac{\overline{|W_T(f)|^2}}{T}\right) Pw(f)=Tlim(TWT(f)2)

其中, W T ( f ) W_T(f) WT(f) w T ( t ) w_T(t) wT(t) 的傅里叶变换, w T ( t ) w_T(t) wT(t) 定义为
w T ( t ) = { w ( t ) , − T / 2 < t < T / 2 0 , e l s e w h e r e w_T(t)=\left\{ \begin{aligned} &w(t),\quad &-T/2<t<T/2\\ &0, \quad &{\rm elsewhere} \end{aligned} \right. wT(t)={w(t),0,T/2<t<T/2elsewhere


Pulse Shaping Techniques

当矩形脉冲通过一个带限信道时,脉冲会在时间上扩散,每个符号的脉冲会被扩散到后续符号的时间间隔中。 这会导致符号间干扰(lSI),并导致接收器在检测符号时出错的概率增加。

奈奎斯特是第一个解决在保持低传输带宽的同时克服符号间干扰问题的人[Nyq28]。他观察到,如果通信系统(包括发射器、信道和接收器)的整体响应被设计成,在接收器的每个采样瞬间,除当前符号外的所有符号响应都为 0,那么 ISI 就可以被完全消除。即,如果 h e f f ( t ) h_{eff}(t) heff(t) 是整个系统的时域冲激响应,那么满足的条件(Nyquist condition)为
h e f f ( n T s ) = { K , n = 0 0 , n ≠ 0 h_{eff}(nT_s)=\left\{ \begin{aligned} &K,\quad &n=0\\ &0, \quad &n\neq 0 \end{aligned} \right. heff(nTs)={K,0,n=0n=0

满足上述条件的一个冲击响应为
h e f f ( t ) = s i n ( π t / T s ) π t / T s h_{eff}(t)=\frac{sin(\pi t/T_s)}{\pi t/T_s} heff(t)=πt/Tssin(πt/Ts)

在这里插入图片描述

对应的傅里叶变换为
H e f f ( f ) = T s   r e c t ( f 1 / T s ) H_{eff}(f)=T_s\ {\rm rect}\left(\frac{f}{1/Ts}\right) Heff(f)=Ts rect(1/Tsf)

尽管该函数看起来完美的满足了奈奎斯特条件,但在实际中我们很难实施它,因为它对应的是一个非因果系统,且 s i n ( t ) / t sin(t)/t sin(t)/t 函数在每个过零点处的斜率都为 1 / t 1/t 1/t,仅仅只在 T s T_s Ts 的整数倍处为 0,因此,如果采样时间有任何偏差,都会造成严重的 ISI。我们可能更希望斜率为 1 / t 2 1/t^2 1/t2 1 / t 3 1/t^3 1/t3 等等。

一种替代方法为升余弦滤波器(Raised-Cosine Filter,RFC),用滚降特性代替原来陡峭的边沿(通过滚降因子 α \alpha α 来控制)。

在这里插入图片描述

在这里插入图片描述


Geometric Representation of Modulation Signals

数字调制会根据信息流比特从有限的可能信号波形(或符号)集中选择一个特定的信号波形 s i ( t ) s_i(t) si(t)。如果总共有 M 个可能的信号,调制信号集 S 可以表示为
S = { s 1 ( t ) , s 2 ( t ) , … , s M ( t ) } S=\{s_1(t),s_2(t),\dots,s_M(t)\} S={s1(t),s2(t),,sM(t)}

对于二进制的调制机制,很简单,每个二进制比特都会对于一个信号,所以 S S S 只包含两个信号(符号)。对于更高阶的调制(M-ary keying),每个信号最多传输的比特数为 log ⁡ 2 M \log_2M log2M

我们可以将 S S S 中的元素当作向量空间中的点。在一个向量空间中任何有限的物理上可实现的波形集可以表示为 N 个正交波形的线性组合,这些波形构成该向量空间的基底。为了在一个向量空间上表示调制信号,必须找到一组构成该向量空间基底的信号。一旦确定了基底,该向量空间的任何一点都可以表示为基底的线性组合:
s i ( t ) = ∑ j = 1 N s i j ϕ j ( t ) s_i(t)=\sum_{j=1}^N s_{ij}\phi_j(t) si(t)=j=1Nsijϕj(t)

基底信号互相正交:
∫ − ∞ ∞ ϕ i ( t ) ϕ j ( t ) d t = 0 , i ≠ j \int_{-\infty}^\infty \phi_i(t)\phi_j(t)dt=0, \quad i\neq j ϕi(t)ϕj(t)dt=0,i=j

且每个基底都被归一化:
E = ∫ − ∞ ∞ ϕ i 2 ( t ) d t = 1 E=\int_{-\infty}^\infty\phi^2_i(t)dt=1 E=ϕi2(t)dt=1

考虑 BPSK, S S S 中的两个信号 s 1 s_1 s1 s 2 s_2 s2 分别为
s 1 ( t ) = 2 E b T b cos ⁡ ( 2 π f c t ) , 0 ≤ t ≤ T b s_1(t)=\sqrt{\frac{2E_b}{T_b}}\cos(2\pi f_c t), \quad 0\le t\le T_b s1(t)=Tb2Eb cos(2πfct),0tTb

s 2 ( t ) = − 2 E b T b cos ⁡ ( 2 π f c t ) , 0 ≤ t ≤ T b s_2(t)=-\sqrt{\frac{2E_b}{T_b}}\cos(2\pi f_c t), \quad 0\le t\le T_b s2(t)=Tb2Eb cos(2πfct),0tTb

那么基底信号就为
ϕ 1 ( t ) = 2 T b cos ⁡ ( 2 π f c t ) , 0 ≤ t ≤ T b \phi_1(t)=\sqrt{\frac{2}{T_b}}\cos(2\pi f_c t), \quad 0\le t\le T_b ϕ1(t)=Tb2 cos(2πfct),0tTb

调制信号集就可以等价的表示为

S B P S K = { E b ϕ 1 ( t ) ,   − E b ϕ 1 ( t ) } S_{\rm BPSK}=\left\{\sqrt{E_b}\phi_1(t),\ -\sqrt{E_b}\phi_1(t)\right\} SBPSK={Eb ϕ1(t), Eb ϕ1(t)}

画出来就是下面这样,叫做星座图(constellation diagram):

在这里插入图片描述

星座图上信号之间的距离与调制波形的差异程度有关,并反映在存在随机噪声的情况下,接收器能区分这些符号的程度。

调制方案的一些特性可以从其星座图中推断出来。 例如,调制信号所占用的带宽随着信号点/维数的增加而减少。因此,如果一个调制方案的星座图上信号点非常密集,那么它就比星座图稀疏的调制方案更节省带宽。

另一方面,星座图越稠密,BER 也会越高(符号间更难以区分)。


Linear Modulation Techniques

数字调制技术可大致分为线性和非线性。在线性调制技术中,传输信号 s ( t ) s(t) s(t) 的振幅随 modulating 信号 m ( t ) m(t) m(t) 呈线性变化。线性调制技术的带宽效率高,在无线通信系统中非常有吸引力,因为在有限的频谱内容纳越来越多的用户的需求越来越大。

传输信号 s ( t ) s(t) s(t) 可以写为
s ( t ) = R e [ A m ( t ) exp ⁡ ( j 2 π f c t ) ] = A [ m R ( t ) c o s ( 2 π f c t ) − m I ( t ) s i n ( 2 π f c t ) ] \begin{aligned} s(t)&=Re[Am(t)\exp(j2\pi f_ct)]\\ & =A[m_R(t)cos(2\pi f_ct)-m_I(t)sin(2\pi f_ct)] \end{aligned} s(t)=Re[Am(t)exp(j2πfct)]=A[mR(t)cos(2πfct)mI(t)sin(2πfct)]

其中 m ( t ) = m R ( t ) + j m I ( t ) m(t)=m_R(t)+jm_I(t) m(t)=mR(t)+jmI(t),代表 modulated 信号的复包络。

BPSK

在 BPSK 中,恒定振幅载波信号的相位根据分别对应二进制 1 和 0 的两个可能信号 m 1 m_1 m1 m 2 m_2 m2 在两个值之间切换。通常情况下,这两个相位相隔 180°。如果载波信号的振幅为 A c A_c Ac,每比特能量为 E b = 1 / 2 A c 2 T b E_b=1/2A_c^2T_b Eb=1/2Ac2Tb,那么传输的 BPSK 信号可写为
s B P S K ( t ) = 2 E b T b cos ⁡ ( 2 π f c t + θ c ) 0 ≤ t ≤ T b  (binary 1)  s_{\mathrm{BPSK}}(t)=\sqrt{\frac{2 E_b}{T_b}} \cos \left(2 \pi f_c t+\theta_c\right) \quad 0 \leq t \leq T_b \text { (binary 1) } sBPSK(t)=Tb2Eb cos(2πfct+θc)0tTb (binary 1) 

s B P S K ( t ) = 2 E b T b cos ⁡ ( 2 π f c t + π + θ c ) = − 2 E b T b cos ⁡ ( 2 π f c t + θ c ) 0 ≤ t ≤ T b  (binary 0)  \begin{aligned} s_{\mathrm{BPSK}}(t) & =\sqrt{\frac{2 E_b}{T_b}} \cos \left(2 \pi f_c t+\pi+\theta_c\right) \\ & =-\sqrt{\frac{2 E_b}{T_b}} \cos \left(2 \pi f_c t+\theta_c\right) \quad 0 \leq t \leq T_b \text { (binary 0) } \end{aligned} sBPSK(t)=Tb2Eb cos(2πfct+π+θc)=Tb2Eb cos(2πfct+θc)0tTb (binary 0) 

BPSK 信号的 PSD:

在这里插入图片描述

可以发现零点到零点带宽(null-to-null bandwidth)为两倍的比特率: B W = 2 R b BW=2R_b BW=2Rb


BPSK 的解调

不考虑多径传输的影响,接收到的 BPSK 信号形式可写为
s B P S K ( t ) = m ( t ) 2 E b T b cos ⁡ ( 2 π f c t + θ c + θ c h ) = m ( t ) 2 E b T b cos ⁡ ( 2 π f c t + θ ) \begin{aligned} s_{\mathrm{BPSK}}(t) & =m(t) \sqrt{\frac{2 E_b}{T_b}} \cos \left(2 \pi f_c t+\theta_c+\theta_{c h}\right) \\ & =m(t) \sqrt{\frac{2 E_b}{T_b}} \cos \left(2 \pi f_c t+\theta\right) \end{aligned} sBPSK(t)=m(t)Tb2Eb cos(2πfct+θc+θch)=m(t)Tb2Eb cos(2πfct+θ)

其中, θ c h \theta_{ch} θch 由信道时延造成。解调过程如下图所示:

在这里插入图片描述

其中,最后一步的操作可理解为
∫ 0 T b ( 2 T b cos ⁡ ω c t ) 2 d t = 2 T b ∫ 0 T b cos ⁡ 2 ω c t d t = 2 T b × 1 2 T b = 1 \int_0^{T_b}\left(\sqrt{\frac{2}{T_b}} \cos \omega_c t\right)^2 d t=\frac{2}{T_b} \int_0^{T_b} \cos ^2 \omega_c t d t=\frac{2}{T_b} \times \frac{1}{2} T_b=1 0Tb(Tb2 cosωct)2dt=Tb20Tbcos2ωctdt=Tb2×21Tb=1


Differential Phase Shift Keying (DPSK)

DPSK 是一种非相干形式的相移键控,它避免了在接收器处对相干参考信号的需要。非相干接收器很容易建立,也很便宜,因此在无线通信中被广泛使用。在 DPSK 系统中,首先对输入的二进制序列进行差分编码,然后用 BPSK 调制器进行调制。

差分编码序列 { d k d_k dk} 是从输入二进制序列 { m k m_k mk} 中产生的:
d k = m k ⊕ d k − 1 ‾ d_k=\overline{m_k\oplus d_{k-1}} dk=mkdk1

这样运算的实质是,如果过来的 m k m_k mk 是 1,那么 d k d_k dk 保持不变,即 d k = d k − 1 d_k=d_{k-1} dk=dk1,只有 m k = 0 m_k=0 mk=0 时, d k d_k dk 才会改变。相应的, m k m_k mk 可以通过 d k d_k dk 反向得出:
m k = d k ⊕ d k − 1 ‾ m_k=\overline{d_k\oplus d_{k-1}} mk=dkdk1

差分编码的一个示例如下:

在这里插入图片描述

虽然 DPSK 可以降低接收器复杂性,但其能效比相干 PSK 低大约 3dB。


QPSK

QPSK 的带宽效率是 BPSK 的两倍,因为在一个调制符号中传输两个比特。载波的相位有四个等距的数值,如 0 ,   π / 2 ,   π ,   3 π / 2 0,\ \pi/2,\ \pi,\ 3\pi/2 0, π/2, π, 3π/2,其中每个相位值对应一对唯一的信息比特。因此,QPSK 的传输信号可以定义为
s Q P S K ( t ) = 2 E s T s cos ⁡ [ 2 π f c t + ( i − 1 ) π 2 ] 0 ≤ t ≤ T s i = 1 , 2 , 3 , 4 s_{QPSK}(t)=\sqrt{\frac{2E_s}{T_s}}\cos\left[2\pi f_ct+(i-1)\frac{\pi}{2}\right] \quad 0\le t\le T_s \quad i=1,2,3,4 sQPSK(t)=Ts2Es cos[2πfct+(i1)2π]0tTsi=1,2,3,4

上式可以进一步写为
s Q P S K ( t ) = 2 E s T s cos ⁡ [ ( i − 1 ) π 2 ] cos ⁡ ( 2 π f c t ) − 2 E s T s sin ⁡ [ ( i − 1 ) π 2 ] sin ⁡ ( 2 π f c t ) \begin{aligned} s_{\mathrm{QPSK}}(t)= & \sqrt{\frac{2 E_s}{T_s}} \cos \left[(i-1) \frac{\pi}{2}\right] \cos \left(2 \pi f_c t\right) \\ & -\sqrt{\frac{2 E_s}{T_s}} \sin \left[(i-1) \frac{\pi}{2}\right] \sin \left(2 \pi f_c t\right) \end{aligned} sQPSK(t)=Ts2Es cos[(i1)2π]cos(2πfct)Ts2Es sin[(i1)2π]sin(2πfct)

如果我们定义基底信号为 ϕ 1 ( t ) = 2 T s cos ⁡ ( 2 π f c t ) \phi_1(t)=\sqrt{\frac{2}{T_s}}\cos(2\pi f_ct) ϕ1(t)=Ts2 cos(2πfct) ϕ 2 ( t ) = 2 T s sin ⁡ ( 2 π f c t ) \phi_2(t)=\sqrt{\frac{2}{T_s}}\sin(2\pi f_ct) ϕ2(t)=Ts2 sin(2πfct),那么 QPSK 的调制信号集合可以表达为
s Q P S K ( t ) = { E s cos ⁡ [ ( i − 1 ) π 2 ] ϕ 1 ( t ) − E s sin ⁡ [ ( i − 1 ) π 2 ] ϕ 2 ( t ) } i = 1 , 2 , 3 , 4 s_{QPSK}(t)=\left\{\sqrt{E_s}\cos \left[(i-1) \frac{\pi}{2}\right] \phi_1(t)-\sqrt{E_s}\sin \left[(i-1) \frac{\pi}{2}\right] \phi_2(t)\right\} \quad i=1,2,3,4 sQPSK(t)={Es cos[(i1)2π]ϕ1(t)Es sin[(i1)2π]ϕ2(t)}i=1,2,3,4

所以 QPSK 的星座图如下:

在这里插入图片描述

从星座图中我们可以看出相邻点之间的距离为 2 E s \sqrt{2E_s} 2Es ,因为每个符号对应两比特,所以有 E s = 2 E b E_s=2E_b Es=2Eb,因此距离又可写为 2 E b 2\sqrt{E_b} 2Eb 。这个距离和 BPSK 是一样的,QPSK 和 BPSK 有相同的 BER!但 QPSK 可以在相同的带宽里传输两倍的数据。所以 QPSK 的带宽效率为 BPSK 的两倍,零点到零点带宽变为 B W = R b = 2 R s BW=R_b=2R_s BW=Rb=2Rs。QPSK 的 PSD 如下图:

在这里插入图片描述

QPSK 信号的振幅在理想情况下是恒定的。然而,当 QPSK 信号经过 pulse shaping 后,它们失去了恒定包络的特性。 π \pi π 弧度的相移会导致信号包络在一瞬间通过零。任何在过零点处的非线性方法会将之前过滤掉的旁瓣再次带回来。为了防止旁瓣的再生和频谱变宽,使用脉冲整形的 QPSK 信号必须只使用效率较低的线性放大器进行放大。

QPSK的一种改进形式,称为偏移 QPSK(OQPSK),不太容易受到这些影响,所以可以支持更有效的放大。也就是说,OQPSK 确保放大器面对较少的 sharp phase transition,这有助于消除放大后的频谱再生。

OQPSK 与 QPSK 的调制过程类似,除了偶数和奇数比特流的时间对齐。在 QPSK 中,偶数和奇数比特流的比特转换发生在同一时间,但在 OQPSK 中,偶数和奇数比特流 m I ( t ) m_I(t) mI(t) m Q ( t ) m_Q(t) mQ(t) 在其相对排列上偏移一个比特周期(半符号周期)。

在这里插入图片描述

在 QPSK 中,因为 m I ( t ) m_I(t) mI(t) m Q ( t ) m_Q(t) mQ(t) 对齐,相位会每 T s = 2 T b T_s=2T_b Ts=2Tb 时间变化一次,且最大会有 π \pi π 弧度的转变( m I ( t ) m_I(t) mI(t) m Q ( t ) m_Q(t) mQ(t) 同时改变)。但在 OQPSK 中,相位每 T b T_b Tb 时间就变化一次,且在相位变化时, m I ( t ) m_I(t) mI(t) m Q ( t ) m_Q(t) mQ(t) 中只会有一个发生改变,所以最大的相位改变不会超过 π / 2 \pi/2 π/2


π / 4 \pi/4 π/4 QPSK

π / 4 \pi/4 π/4 QPSK 是在 QPSK 与 OQPSK 中的一个折中方案,它允许的最大相移为 135°。 π / 4 \pi/4 π/4 QPSK 的一个好处在于它可以在收端非相干解调,简化接收器设计。且对于多径以及衰减, π / 4 \pi/4 π/4 QPSK 相比 OQPSK 有更好的性能。

很多时候, π / 4 \pi/4 π/4 QPSK 信号会被差分编码,以方便在恢复的载波中存在相位模糊时实现差分检测或相干解调。这时, π / 4 \pi/4 π/4 QPSK 也叫做 π / 4 \pi/4 π/4 DQPSK。

π / 4 \pi/4 π/4 QPSK 中,调制信号点从两个 QPSK 星座图中选择,这两个星座图相对于彼此移位了 π / 4 \pi/4 π/4,如下图所示:

在这里插入图片描述

具体的选取我们可以这样理解,每隔 T s = 2 T b T_s=2T_b Ts=2Tb π / 4 \pi/4 π/4 QPSK 信号点就需要在图 (a) 与图 (b) 之间互换。也就是说,如果当前的信号点属于图 (a),那么 T s T_s Ts 后的信号点必须要属于图 (b),这样就做到了 135°的最大相位差。


Constant Envelope Modulation

许多实用的移动无线电通信系统使用非线性调制方法,其中载波的振幅是恒定的,与 modulating 信号的变化无关。恒定包络调制的优点包括:

  • 可以使用功率高效的 C 类放大器,而不会在传输信号的频谱占有率方面造成退化;
  • 可以实现 -60 dB 至 -70 dB 的低带外辐射(out-of-band radiation);
  • 可以使用限幅鉴频检测,简化接收器的设计,并对随机调频噪声和瑞利衰减引起的信号波动有很高的抵抗力。

虽然恒定包络调制有许多优点,但它们相比线性调制会占用更大的带宽。在带宽效率比功率效率更重要的情况下,恒定包络调制并不是非常适合。

Binary Frequency Shift Keying(BFSK)

在 BFSK 中,恒定振幅载波信号的频率根据两种可能的信息状态在两个值之间切换,对应于二进制的 1 或 0。 根据频率变化被传入传输波形的方式,FSK 信号在比特之间会有不连续的相位或连续的相位。一般来说,一个 FSK 信号可以表示为

s F S K ( t ) = v H ( t ) = 2 E b T b cos ⁡ ( 2 π f c + 2 π Δ f ) t 0 ≤ t ≤ T b   ( b i n a r y   1 ) s_{FSK}(t)=v_H(t)=\sqrt{\frac{2E_b}{T_b}}\cos(2\pi f_c+2\pi \Delta f)t \quad 0\le t \le T_b\ ({\rm binary\ 1}) sFSK(t)=vH(t)=Tb2Eb cos(2πfc+2πΔf)t0tTb (binary 1)

s F S K ( t ) = v L ( t ) = 2 E b T b cos ⁡ ( 2 π f c − 2 π Δ f ) t 0 ≤ t ≤ T b   ( b i n a r y   0 ) s_{FSK}(t)=v_L(t)=\sqrt{\frac{2E_b}{T_b}}\cos(2\pi f_c-2\pi \Delta f)t \quad 0\le t \le T_b\ ({\rm binary\ 0}) sFSK(t)=vL(t)=Tb2Eb cos(2πfc2πΔf)t0tTb (binary 0)

产生 FSK 信号的一个方法是根据比特位是 0 还是 1 在两个独立的振荡器之间进行切换。 通常,这种形式的 FSK 产生的波形在切换时刻是不连续的,因此这种类型的 FSK 被称为不连续 FSK。一个不连续的 FSK 信号可以表示为

s F S K ( t ) = v H ( t ) = 2 E b T b cos ⁡ ( 2 π f H t + θ 1 ) 0 ≤ t ≤ T b   ( b i n a r y   1 ) s_{FSK}(t)=v_H(t)=\sqrt{\frac{2E_b}{T_b}}\cos(2\pi f_H t+\theta_1) \quad 0\le t \le T_b\ ({\rm binary\ 1}) sFSK(t)=vH(t)=Tb2Eb cos(2πfHt+θ1)0tTb (binary 1)

s F S K ( t ) = v L ( t ) = 2 E b T b cos ⁡ ( 2 π f L t + θ 2 ) 0 ≤ t ≤ T b   ( b i n a r y   0 ) s_{FSK}(t)=v_L(t)=\sqrt{\frac{2E_b}{T_b}}\cos(2\pi f_L t+\theta_2) \quad 0\le t \le T_b\ ({\rm binary\ 0}) sFSK(t)=vL(t)=Tb2Eb cos(2πfLt+θ2)0tTb (binary 0)

所以调制频率为
f c = f H + f L 2 f_c=\frac{f_H+f_L}{2} fc=2fH+fL

频偏
f d = f H − f L 2 f_d=\frac{f_H-f_L}{2} fd=2fHfL

调制系数(modulation index)
h = 2 f d T b = f H − f L R b h=2f_dT_b=\frac{f_H-f_L}{R_b} h=2fdTb=RbfHfL

相位不连续会带来一系列问题,如频谱扩散,因此这种类型的 FSK 一般不用于高度规范的无线系统。产生 FSK 信号的更常见方法是使用信息波形对单一载波振荡器进行频率调制。这种调制方式类似于 FM,只是调制信号 m ( t ) m(t) m(t) 是一个二进制波形。因此,FSK 可以表示为:
s F S K ( t ) = 2 E b T b cos ⁡ [ 2 π f c t + θ ( t ) ] = 2 E b T b cos ⁡ [ 2 π f c t + 2 π k f ∫ − ∞ t m ( η ) d η ] \begin{aligned} s_{\mathrm{FSK}}(t) & =\sqrt{\frac{2 E_b}{T_b}} \cos \left[2 \pi f_c t+\theta(t)\right] \\ & =\sqrt{\frac{2 E_b}{T_b}} \cos \left[2 \pi f_c t+2 \pi k_f \int_{-\infty}^t m(\eta) d \eta\right] \end{aligned} sFSK(t)=Tb2Eb cos[2πfct+θ(t)]=Tb2Eb cos[2πfct+2πkftm(η)dη]

虽然 m ( t ) m(t) m(t) 在比特转换时是不连续的,但相位函数 θ ( t ) \theta(t) θ(t) m ( t ) m(t) m(t) 的积分成正比,所以是连续的。

BFSK 的相干解调

在这里插入图片描述

Minimum Shift Keying (MSK)

最小移位键控(MSK)是一种特殊类型的连续相位频移键控(CPFSK),其最大频移 f d f_d fd 等于比特率的 1 / 4 1/4 1/4。换句话说,MSK 是调制指数为 0.5 连续相位 FSK,即相当于

f H = f c + 1 / 4 R b , f L = f c − 1 / 4 R b f_H=f_c+1/4R_b,\quad f_L=f_c-1/4R_b fH=fc+1/4Rb,fL=fc1/4Rb

调制指数为 0.5 对应着允许两个 FSK 信号相干正交的最小频率间隔,MSK 这个名字意味着允许正交检测的最小频率间隔(即带宽)。两个 FSK 信号是正交的,如果它们满足
∫ 0 T v H ( t ) v L ( t ) d t = 0 \int_0^T v_H(t)v_L(t)dt=0 0TvH(t)vL(t)dt=0

MSK 是一种频谱效率高的调制技术,在移动通信系统中非常受欢迎。它拥有恒定包络、高频谱效率、良好的误码率性能和自同步能力等特性。

下图对比了 MSK、QPSK、OQPSK 的 PSD:

在这里插入图片描述
MSK 频谱比 QPSK 和 OQPSK 具有更低的旁瓣。99% 的 MSK 功率包含在带宽 B = 1.2 / T B=1.2/T B=1.2/T 内,而对于 QPSK 和 OQPSK,99% 的带宽 B = 8 / T B=8/T B=8/T。MSK 频谱的快速滚降是由于使用了更平滑的脉冲函数(半正弦脉冲)。我们从上图还可以看出,MSK 的主瓣比 QPSK 和 OQPSK 的主瓣更宽,因此当以零点到零点带宽进行比较时,MSK 的频谱效率低于 PSK。

Gaussian Minimum Shift Keying (GMSK)

GMSK 是一种简单的二进制调制方案,可以看作是 MSK 的扩展。在 GMSK 中,将调制的 NRZ 数据波形通过预调制的高斯脉冲整形滤波器,进一步降低了频谱的旁瓣强度。 基带高斯脉冲整形平滑了 MSK 信号的相位轨迹,从而稳定了瞬时频率的变化。

预调制高斯滤波将全响应信息信号(每个基带符号占用一个比特周期 T b T_b Tb)转换为部分响应,每个传输符号跨越几个比特周期。在实践中,GMSK 因其出色的功率效率(由于恒定包络)和出色的频谱效率而大受欢迎。预调制的高斯滤波在传输信号中引入了 ISI,但可以证明,如果滤波器的 3dB 带宽和比特持续时间的乘积(BT)大于 0.5,则干扰不会太严重。GMSK 一般使用 BT=0.3,MSK 等价于 BT 趋于无穷的 GMSK。GMSK 牺牲了一定的 BER(BT 越小,BER 越大),以换取较好的频谱效率和恒定包络特性。

在这里插入图片描述

图源:Trilaksono, Bambang & Langi, Armein & Kurniawan, A. & Marpanaji, Eko & Mahendra, Andri & Liung, Thay. (2022). Software Architecture of Software-Defined Radio (SDR).

GMSK 预调制的滤波器响应为
h G ( t ) = π α exp ⁡ ( − π 2 α 2 t 2 ) h_G(t)=\frac{\sqrt{\pi}}{\alpha}\exp\left(-\frac{\pi^2}{\alpha^2}t^2\right) hG(t)=απ exp(α2π2t2)

对应的傅里叶变换(传输函数)为
H G ( f ) = exp ⁡ ( − α 2 f 2 ) H_G(f)=\exp(-\alpha^2 f^2) HG(f)=exp(α2f2)

其中,参数 α \alpha α 和 3dB 带宽 B B B 有关,为:
α = ln ⁡ 2 2 B = 0.5887 B \alpha=\frac{\sqrt{\ln2}}{\sqrt{2}B}=\frac{0.5887}{B} α=2 Bln2 =B0.5887

在这里插入图片描述

表中展示了 % power 和占用带宽的关系,0.52 表示 0.52 R b R_b Rb。可以看到,GMSK 的频谱比 MSK 更紧密。


Combined Linear and Constant Envelope Modulation Techniques (M-ary Modulation)

在 M-ary 调制中,两个或更多的比特被组合在一起形成符号,并在每个符号周期( T s T_s Ts)内传输 M 个可能的信号之一,即 s 1 ( t ) , s 2 ( t ) , … , s M ( t ) s_1(t),s_2(t),\dots,s_M(t) s1(t),s2(t),,sM(t)。通常情况下,可能的信号数量为 M = 2 n M=2^n M=2n。取决于载波振幅、相位以及频率中的哪个发生变化,对应的调制技术称为 M-ary ASK,M-ary PSK,M-ary FSK。

M-ary 调制以牺牲功率效率为代价获得更好的带宽效率。例如,一个 8-PSK 系统需要的带宽比BPSK 系统小 log ⁡ 2 8 = 3 \log_28=3 log28=3 倍,但它的误码率性能却明显比 BPSK 差,因为信号在星座图中的排列更紧密。

在这里插入图片描述

M-ary Phase Shift Keying (MPSK)

在 MPSK 中,载波相位在 M 个可能值中选取,即 θ i = 2 ( i − 1 ) π / M ,   i = 1 , 2 , … , M \theta_i=2(i-1)\pi/M,\ i=1,2,\dots,M θi=2(i1)π/M, i=1,2,,M. 调制的传输信号为
s i ( t ) = 2 E s T s cos ⁡ ( 2 π f c t + 2 π M ( i − 1 ) ) ,   0 ≤ t ≤ T s ,   i = 1 , 2 , … , M s_i(t)=\sqrt{\frac{2E_s}{T_s}}\cos\left(2\pi f_c t+\frac{2\pi}{M}(i-1)\right),\ 0\le t\le T_s,\ i=1,2,\dots,M si(t)=Ts2Es cos(2πfct+M2π(i1)), 0tTs, i=1,2,,M

上式可改写为:
s i ( t ) = 2 E s T s cos ⁡ [ ( i − 1 ) 2 π M ] cos ⁡ ( 2 π f c t ) i = 1 , 2 , … . , M − 2 E s T s sin ⁡ [ ( i − 1 ) 2 π M ] sin ⁡ ( 2 π f c t ) \begin{aligned} s_i(t)= & \sqrt{\frac{2 E_s}{T_s}} \cos \left[(i-1) \frac{2 \pi}{M}\right] \cos \left(2 \pi f_c t\right) \quad i=1,2, \ldots ., M \\ & -\sqrt{\frac{2 E_s}{T_s}} \sin \left[(i-1) \frac{2 \pi}{M}\right] \sin \left(2 \pi f_c t\right) \end{aligned} si(t)=Ts2Es cos[(i1)M2π]cos(2πfct)i=1,2,.,MTs2Es sin[(i1)M2π]sin(2πfct)

通过正交基底 ϕ 1 ( t ) = 2 T s cos ⁡ ( 2 π f c t ) \phi_1(t)=\sqrt{\frac{2}{T_s}}\cos(2\pi f_ct) ϕ1(t)=Ts2 cos(2πfct) ϕ 2 ( t ) = 2 T s sin ⁡ ( 2 π f c t ) \phi_2(t)=\sqrt{\frac{2}{T_s}}\sin(2\pi f_ct) ϕ2(t)=Ts2 sin(2πfct),那么 M-ary PSK 调制信号集合可以表达为
s Q P S K ( t ) = { E s cos ⁡ [ ( i − 1 ) π 2 ] ϕ 1 ( t ) − E s sin ⁡ [ ( i − 1 ) π 2 ] ϕ 2 ( t ) } i = 1 , 2 , … , M s_{QPSK}(t)=\left\{\sqrt{E_s}\cos \left[(i-1) \frac{\pi}{2}\right] \phi_1(t)-\sqrt{E_s}\sin \left[(i-1) \frac{\pi}{2}\right] \phi_2(t)\right\} \quad i=1,2,\dots,M sQPSK(t)={Es cos[(i1)2π]ϕ1(t)Es sin[(i1)2π]ϕ2(t)}i=1,2,,M

在这里插入图片描述

BER Performance

从上图中我们可以很容易的得出相邻符号间的距离为
d i j = 2 E s sin ⁡ ( π M ) d_{ij}=2\sqrt{E_s}\sin\left(\frac{\pi}{M}\right) dij=2Es sin(Mπ)

对于一个 M-ary PSK 系统,符号错误率满足
P s ≤ ∑ Q ( d i j 2 N 0 ) P_s\le \sum Q\left(\frac{d_{ij}}{\sqrt{2N_0}}\right) PsQ(2N0 dij)

其中, Q ( ⋅ ) Q(\cdot) Q()

Q ( x ) = ∫ x ∞ 1 2 π exp ⁡ ( − x 2 2 ) d x Q(x)=\int_x^\infty\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{x^2}{2}\right)dx Q(x)=x2π 1exp(2x2)dx

如果采用格林编码,那么对应的 BER 可以表达为
P B ≈ P s log ⁡ 2 M P_B\approx\frac{P_s}{\log_2M} PBlog2MPs

在这里插入图片描述

因此如果是 BPSK,那么它的 BER 为
P e , B P S K = Q ( 2 E b N 0 ) P_{e,BPSK}=Q\left(\sqrt{\frac{2E_b}{N_0}}\right) Pe,BPSK=Q(N02Eb )

M-ary Quadrature Amplitude Modulation (QAM)

在 M-ary PSK 调制中,传输信号的振幅被限制为保持不变,从而产生了一个圆形的星座图。通过允许振幅随相位变化,我们可以得到一种新的调制方案,称为正交振幅调制(QAM)。 下图是 16-QAM 的星座图,该星座图为正方形。

在这里插入图片描述

一个M-ary QAM 信号的一般形式可以定义为
s i ( t ) = 2 E m i n T s a i cos ⁡ ( 2 π f c t ) + 2 E m i n T s b i sin ⁡ ( 2 π f c t ) 0 ≤ t ≤ T s i = 1 , 2 , … , M s_i(t)=\sqrt{\frac{2E_{min}}{T_s}}a_i\cos(2\pi f_ct)+\sqrt{\frac{2E_{min}}{T_s}}b_i\sin(2\pi f_ct)\quad 0\le t\le T_s \quad i=1,2,\dots,M si(t)=Ts2Emin aicos(2πfct)+Ts2Emin bisin(2πfct)0tTsi=1,2,,M

其中, E m i n E_min Emin 是振幅最小的信号的能量, a i a_i ai b i b_i bi 是一对独立的整数,根据特定信号点的位置选择。M-ary QAM 每个符号的能量不是恒定的,符号间距离也不同,某些符号将以比其他符号更高的概率被检测到。

该信号可以被一对基底定义: ϕ 1 ( t ) = 2 T s cos ⁡ ( 2 π f c t ) \phi_1(t)=\sqrt{\frac{2}{T_s}}\cos(2\pi f_ct) ϕ1(t)=Ts2 cos(2πfct) ϕ 2 ( t ) = 2 T s sin ⁡ ( 2 π f c t ) \phi_2(t)=\sqrt{\frac{2}{T_s}}\sin(2\pi f_ct) ϕ2(t)=Ts2 sin(2πfct),由此我们可以得出星座图上的某个信号点坐标应该为 ( a i E m i n ,   b i E m i n ) \left(a_i\sqrt{E_{min}},\ b_i\sqrt{E_{min}}\right) (aiEmin , biEmin ) a i a_i ai b i b_i bi 从以下矩阵中选出:

{ a i , b i } = [ ( − L + 1 , L − 1 ) ( − L + 3 , L − 1 ) … . ( L − 1 , L − 1 ) ( − L + 1 , L − 3 ) ( − L + 3 , L − 3 ) … . ( L − 1 , L − 3 ) ⋅ ⋅ . . ⋅ ⋅ . ⋅ ( − L + 1 , − L + 1 ) ( − L + 3 , − L + 1 ) … . ( L − 1 , − L + 1 ) ] \left\{a_i, b_i\right\}=\left[\begin{array}{cccc} (-L+1, L-1) & (-L+3, L-1) & \ldots . & (L-1, L-1) \\ (-L+1, L-3) & (-L+3, L-3) & \ldots . & (L-1, L-3) \\ \cdot & \cdot & . & . \\ \cdot & \cdot & . & \cdot \\ (-L+1,-L+1) & (-L+3,-L+1) & \ldots . & (L-1,-L+1) \end{array}\right] {ai,bi}=(L+1,L1)(L+1,L3)(L+1,L+1)(L+3,L1)(L+3,L3)(L+3,L+1).....(L1,L1)(L1,L3).(L1,L+1)

其中 L = M L=\sqrt{M} L=M ,例如对于 16-QAM,以上矩阵为

{ a i , b i } = [ ( − 3 , 3 ) ( − 1 , 3 ) ( 1 , 3 ) ( 3 , 3 ) ( − 3 , 1 ) ( − 1 , 1 ) ( 1 , 1 ) ( 3 , 1 ) ( − 3 , − 1 ) ( − 1 , − 1 ) ( 1 , − 1 ) ( 3 , − 1 ) ( − 3 , − 3 ) ( − 1 , − 3 ) ( 1 , − 3 ) ( 3 , − 3 ) ] \left\{a_i, b_i\right\}=\left[\begin{array}{cccc} (-3,3) & (-1,3) & (1,3) & (3,3) \\ (-3,1) & (-1,1) & (1,1) & (3,1) \\ (-3,-1) & (-1,-1) & (1,-1) & (3,-1) \\ (-3,-3) & (-1,-3) & (1,-3) & (3,-3) \end{array}\right] {ai,bi}=(3,3)(3,1)(3,1)(3,3)(1,3)(1,1)(1,1)(1,3)(1,3)(1,1)(1,1)(1,3)(3,3)(3,1)(3,1)(3,3)

QAM 调制的功率谱和带宽效率与 M-ary PSK 调制相同。就功率效率而言,QAM 优于 M-ary PSK。下图列出了理想情况下不同 M 值的 QAM 信号的带宽和功率效率:

在这里插入图片描述

M-ary Frequency Shift Keying (MFSK)

MFSK 的传输信号定义为
s i ( t ) = 2 E s T s cos ⁡ [ π T s ( n c + i ) t ] i = 1 , 2 , … , M s_i(t)=\sqrt{\frac{2E_s}{T_s}}\cos\left[\frac{\pi}{T_s}(n_c+i)t\right] \quad i=1,2,\dots,M si(t)=Ts2Es cos[Tsπ(nc+i)t]i=1,2,,M

其中 f c = n c / 2 T s f_c=n_c/2T_s fc=nc/2Ts. 传输的 M 个信号能量相等,持续时间也相等,信号频率相隔 1 / 2 T s 1/2T_s 1/2Ts Hz,使信号相互正交。M 越大,带宽效率越低,功率效率越高,即 BER 越低,如下图所示:

在这里插入图片描述


References

Wireless Communications: Principles and Practices, 2nd Edition, Theodore S. Rappaport.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件定义汽车的关键—车载操作系统

文章目录 前言一、车载系统是什么&#xff1f;二、车载系统在智能汽车中的应用总结前言 智能网联大环境变革情况下&#xff0c;软件定义汽车理念已成行业共识。 传统分布式E/E架构因如下原因&#xff1a; 计算能力不足&#xff08;车规芯片&#xff09;&#xff1b;通讯带宽不…

树和二叉树

目录 1.树的概念及结构 1.1树的概念 1.2.树的表示 1.2.1孩子兄弟表示法 2.2双亲表示法 1.3二叉树在实际中的应用 2.二叉树的概念及结构 2.1二叉树的概念 2.2特殊的二叉树 2.3二叉树的性质 2.4二叉树的实现及其的一些接口&#xff08;链式&#xff09; 2.4.1二叉树的…

配置 4G 模块为WAN口上网

配置 4G 模块为WAN口上网 将Linux板卡配置为交换机&#xff0c;提供类似路由器的上网功能。这里以4G网卡作为WAN进行上网。 1. 配置4G模块为默认网关 先配置好4G模块为默认路由网关。 这里需要先将4G模块配置为路由模式。 断开板卡的有线和无限网络连接&#xff0c;使用pi…

Redis配置与优化

1 关系数据库与非关系型数据库概述 1.1 关系型数据库 一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上 一般面向于记录 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言 用于执行对关系型数据库中…

后渗透之流量转发实验

目录 一、实验项目名称 二、实验目的 三、实验内容 四、实验环境 五、实验步骤 六、实验结果 七、实验总结 一、实验项目名称 后渗透之流量转发实验 二、实验目的 1.掌握ssh进行流量转发的方法 2.掌握proxychains代理软件的使用方法 3.掌握Burpsuite工具的全局代…

Java 基础之锁

Java 基础之线程_禽兽先生不禽兽的博客-CSDN博客 上一篇博客中记录了线程的一些概念&#xff0c;那多线程既然能与人方便必然也会带来一些问题&#xff0c;这些问题主要与线程的三大特性有关&#xff0c;Java 的一些关键字和锁机制&#xff0c;可以帮助我们解决这些问题。 一…

如何高效管理自己的电脑?文件再多也不乱!

视频教程&#xff1a;https://www.bilibili.com/video/BV18M41167jd/?share_sourcecopy_web&vd_source58093f138338062a30d9fe854824a90f 如何高效管理自己的电脑?文件再多也不乱!1. 盘符管理C盘只装系统软件&#xff0c;其他软件装到D盘绿色软件就是解压就能用&#xff…

[go学习笔记.第十八章.数据结构] 1.基本介绍,稀疏数组,队列(数组实现),链表

一.基本介绍 1.数据结构(算法)的介绍 (1).数据结构是一门研究算法的学科&#xff0c;自从有了编程语言也就有了数据结构,学好数据结构可以编写出更加漂亮&#xff0c;更加有效率的代码 (2).要学习好数据结构就要多多考虑如何将生活中遇到的问题用程序去实现解决 (3).程序&…

一 H5游戏的种类

游戏类型&#xff08;各举一个例子&#xff09;&#xff1a; 休闲益智:开心消消乐 角色扮演:阴阳师 动作冒险:神庙逃亡 棋牌游戏:欢乐斗地主 体育竞技:最强NBA 射击游戏:绝地求生 音乐游戏:节奏大师 模拟经营:模拟城市 策略游戏:植物大战僵尸 塔防游戏:保卫萝卜 游戏付费方式…

R语言最优聚类数目k改进kmean聚类算法

在本文中&#xff0c;我们将探讨应用聚类算法&#xff08;例如k均值和期望最大化&#xff09;来确定集群的最佳数量时所遇到的问题之一。 最近我们被客户要求撰写关于聚类的研究报告&#xff0c;包括一些图形和统计输出。从数据集本身来看&#xff0c;确定集群数量的最佳值的问…

FX粒子(Niagara系统)、潮湿贴花——简单雨和雨后潮湿

雨&#xff1a; 1、新建粒子&#xff0c;选择Fountain 喷泉模板 2、删除不用模块 3、添加box location并设置其大小&#xff0c;设置Spawn Rate使粒子数变多&#xff0c;这个参数也是后面用来控制开关雨效果的参数。 4、设置粒子形状&#xff0c;设置完粒子方向不对&#xff0…

11.28~12.4日学习总结

星期一&#xff0c;星期二&#xff1a; 把项目中关于评论模块的内容全部写完了&#xff0c;然后处理了一下逻辑。 星期二&#xff0c;星期三&#xff1a;开始学习webSocket的相关概念。 关于webSocket,其实和java的Socket原理相差不大&#xff0c;也是要建立一个通道进行信息…

JavaScript数据结构【数组】

一、JavaScript中数组一些方法 方法 描述 push 数组的末尾插入元素 unshift 数组的开头插入元素 pop 从数组的末尾删除元素 shift 数组的开头删除元素 splice 在数组的任意位置添加或删除元素 concat 连接两个或更多数组&#xff0c;并返回结果 filter 对数组中…

String类

String类常用的方法 字符串构造 String类的构造方法很多&#xff0c;常见的有以下的三种&#xff1a; //三种常用的构造方法 public class Test {public static void main(String[] args) {//使用常量串构造String s1 "hello world!";//直接new String对象构造St…

一个 Angular 程序员两年多的远程办公经验分享

笔者从 2020 年疫情爆发之前&#xff0c;一直从事后端开发工作。2020 年因为工作原因&#xff0c;加入了 SAP 一个代号为 Spartacus 的开源项目的开发团队。这个项目是一个基于 Angular 的电商 Storefront 框架&#xff0c;其代码贡献者来自全世界各个地区。 实际上&#xff0…

工薪族创业方案

这是一个创业的时代,想自己创业做老板的人越来越多,其中也包括众多上班族。所碰到的问题:时间紧、资金有限、经验缺乏、患得患失,是几乎所有想自主创业的上班族都会遇到的问题。有以下几个方案可以尝试尝试! 方案一:对于不想冒任何风险而又想尝一尝创业滋味的上班族来说…

jdk11新特性——局部变量类型推断(var ”关键字”)

目录一、什么是局部变量类型推断二、局部变量类型推断&#xff08;var ”关键字”&#xff09;2.1、根据右边的表达式自动推断类型2.2、var并不是关键字2.3、var声明变量和String声明变量作用相同三、var 语法&#xff1a;局部变量类型推断&#xff08;注意事项&#xff09;3.1…

jsp儿童网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 儿童网站系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为Mysql&#xff0c;使用ja…

OpenShift 4 - 利用 RHSSO 实现应用认证和访问授权

《OpenShift / RHEL / DevSecOps / Ansible 汇总目录》 说明&#xff1a;本文已经在 OpenShift 4.11 环境中验证 文章目录安装环境部署应用并配置登录和授权部署应用配置 RHSSO 的用户和组配置应用身份认证配置应用访问授权为应用配置登录和访问授权参考本文将部署一个应用&…

[附源码]Python计算机毕业设计SSM进出口食品安全信息管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…