探秘基带算法:从原理到5G时代的通信变革【九】QPSK调制/解调

news2025/3/5 2:26:59

文章目录

      • 2.8 QPSK 调制 / 解调
        • 简介
        • QPSK 发射机的实现与原理
        • QPSK 接收机的实现与原理
        • QPSK 性能仿真
        • QPSK 变体分析

本博客为系列博客,主要讲解各基带算法的原理与应用,包括:viterbi解码、Turbo编解码、Polar编解码、CORDIC算法、CRC校验、FFT/DFT、QAMtiaozhi/解调、QPSK调制/解调。其他博客链接如下:

  1. 探秘基带算法:从原理到5G时代的通信变革【一】引言
  2. 探秘基带算法:从原理到5G时代的通信变革【二】Viterbi解码
  3. 探秘基带算法:从原理到5G时代的通信变革【三】Turbo 编解码
  4. 探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(一)
  5. 探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(二)
  6. 探秘基带算法:从原理到5G时代的通信变革【五】CORDIC算法
  7. 探秘基带算法:从原理到5G时代的通信变革【六】CRC 校验
  8. 探秘基带算法:从原理到5G时代的通信变革【七】FFT/DFT
  9. 探秘基带算法:从原理到5G时代的通信变革【八】QAM 调制 / 解调
  10. 探秘基带算法:从原理到5G时代的通信变革【九】QPSK调制/解调
  11. 探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比

2.8 QPSK 调制 / 解调

简介

Quadrature Phase Shift Keying (QPSK) 是一种相位调制技术,广泛应用于数字通信系统中。它通过将两个信息比特组合成一个符号进行传输,从而提高频谱效率。下面我们详细解释 QPSK 的原理、公式和应用。

Figure 1: Waveform simulation model for Quadrature Phase Shift Keying modulation

QPSK 的基本思想是利用四个不同的载波相位来表示四个可能的符号状态。在一个符号周期 T s y m T_{sym} Tsym 内,QPSK 信号可以表示为:

s ( t ) = A ⋅ cos ⁡ [ 2 π f c t + θ n ] , 0 ≤ t ≤ T s y m , n = 1 , 2 , 3 , 4 s(t) = A \cdot \cos{[2\pi f_c t + \theta_n]}, \quad 0 \leq t \leq T_{sym}, \quad n = 1, 2, 3, 4 s(t)=Acos[2πfct+θn],0tTsym,n=1,2,3,4

其中, A A A 是信号幅度, f c f_c fc 是载波频率, θ n \theta_n θn 是信号的初始相位,由下式决定:

θ n = ( 2 n − 1 ) π 4 \theta_n = (2n - 1)\frac{\pi}{4} θn=(2n1)4π

因此,QPSK 的四个可能初始相位分别是 π / 4 \pi/4 π/4, 3 π / 4 3\pi/4 3π/4, 5 π / 4 5\pi/4 5π/4, 和 7 π / 4 7\pi/4 7π/4 弧度。

为了进一步分析 QPSK 信号,我们可以将其分解为两个正交分量:同相分量(In-phase)和正交分量(Quadrature)。通过三角函数的和差化积公式,QPSK 信号可以重写为:

s ( t ) = A ⋅ cos ⁡ θ n ⋅ cos ⁡ ( 2 π f c t ) − A ⋅ sin ⁡ θ n ⋅ sin ⁡ ( 2 π f c t ) s(t) = A \cdot \cos\theta_n \cdot \cos(2\pi f_c t) - A \cdot \sin\theta_n \cdot \sin(2\pi f_c t) s(t)=Acosθncos(2πfct)Asinθnsin(2πfct)

这表明 QPSK 信号是由两个正交基函数 ϕ i ( t ) = cos ⁡ ( 2 π f c t ) \phi_i(t) = \cos(2\pi f_c t) ϕi(t)=cos(2πfct) ϕ q ( t ) = sin ⁡ ( 2 π f c t ) \phi_q(t) = \sin(2\pi f_c t) ϕq(t)=sin(2πfct) 加权叠加而成的,权重分别为 s n , i = A ⋅ cos ⁡ θ n s_{n,i} = A \cdot \cos\theta_n sn,i=Acosθn s n , q = − A ⋅ sin ⁡ θ n s_{n,q} = -A \cdot \sin\theta_n sn,q=Asinθn

在二维坐标系中,QPSK 的星座图可以用四个点表示,这些点对应于四个不同的符号状态。例如,假设 A = 1 A = 1 A=1,则四个符号对应的坐标为 ( cos ⁡ π / 4 , − sin ⁡ π / 4 ) (\cos\pi/4, -\sin\pi/4) (cosπ/4,sinπ/4), ( cos ⁡ 3 π / 4 , − sin ⁡ 3 π / 4 ) (\cos3\pi/4, -\sin3\pi/4) (cos3π/4,sin3π/4), ( cos ⁡ 5 π / 4 , − sin ⁡ 5 π / 4 ) (\cos5\pi/4, -\sin5\pi/4) (cos5π/4,sin5π/4), 和 ( cos ⁡ 7 π / 4 , − sin ⁡ 7 π / 4 ) (\cos7\pi/4, -\sin7\pi/4) (cos7π/4,sin7π/4)。具体计算如下:

  • 对于 θ 1 = π / 4 \theta_1 = \pi/4 θ1=π/4 ( s 1 , i , s 1 , q ) = ( cos ⁡ π / 4 , − sin ⁡ π / 4 ) = ( 2 / 2 , − 2 / 2 ) (s_{1,i}, s_{1,q}) = (\cos\pi/4, -\sin\pi/4) = (\sqrt{2}/2, -\sqrt{2}/2) (s1,i,s1,q)=(cosπ/4,sinπ/4)=(2 /2,2 /2)
  • 对于 θ 2 = 3 π / 4 \theta_2 = 3\pi/4 θ2=3π/4 ( s 2 , i , s 2 , q ) = ( cos ⁡ 3 π / 4 , − sin ⁡ 3 π / 4 ) = ( − 2 / 2 , 2 / 2 ) (s_{2,i}, s_{2,q}) = (\cos3\pi/4, -\sin3\pi/4) = (-\sqrt{2}/2, \sqrt{2}/2) (s2,i,s2,q)=(cos3π/4,sin3π/4)=(2 /2,2 /2)

类似地,可以计算其他两个符号的状态。

QPSK 的优点在于其高效的频谱利用率和较低的实现复杂度,适用于多种无线通信标准,如 Wi-Fi 和卫星通信。

QPSK 发射机的实现与原理

QPSK(Quadrature Phase Shift Keying)发射机的核心功能是将输入的二进制数据流调制成 QPSK 信号,以便在无线通信系统中传输。图1展示了 QPSK 发射机的基本结构,其实现被封装为一个 MATLAB 函数 qpsk_mod。该函数接收三个参数:输入的二进制数据流 a a a、载波频率 f c f_c fc 和过采样因子 O F OF OF。输出包括调制后的 QPSK 信号 s s s、时间基 t t t、以及基带同相分量 I I I 和正交分量 Q Q Q

function [s,t,I,Q] = qpsk_mod(a,fc,OF)
%Modulate an incoming binary stream using conventional QPSK
%a - input binary data stream (0's and 1's) to modulate
%fc - carrier frequency in Hertz
%OF - oversampling factor (multiples of fc) - at least 4 is better
%s - QPSK modulated signal with carrier
%t - time base for the carrier modulated signal
%I - baseband I channel waveform (no carrier)
%Q - baseband Q channel waveform (no carrier)
L = 2*OF;%samples in each symbol (QPSK has 2 bits in each symbol)
ak = 2*a-1; %NRZ encoding 0-> -1, 1->+1
I = ak(1:2:end);Q = ak(2:2:end);%even and odd bit streams
I=repmat(I,1,L).'; Q=repmat(Q,1,L).';%even/odd streams at 1/2Tb baud
I = I(:).'; Q = Q(:).'; %serialize
fs = OF*fc; %sampling frequency
t=0:1/fs:(length(I)-1)/fs; %time base
iChannel = I.*cos(2*pi*fc*t);qChannel = -Q.*sin(2*pi*fc*t);
s = iChannel + qChannel; %QPSK modulated baseband signal

在实现过程中,首先通过一个分离器将生成的信息比特分为奇数位和偶数位两部分。奇数位对应正交臂(Quadrature Arm),而偶数位对应同相臂(In-phase Arm)。这两路比特流随后以并行方式转换为 NRZ(Non-Return-to-Zero)格式。NRZ 编码的作用是将二进制数据中的 0 0 0 映射为 − 1 -1 1,而 1 1 1 映射为 + 1 +1 +1。例如,如果输入的二进制数据流为 a = [ 1 , 0 , 1 , 1 ] a = [1, 0, 1, 1] a=[1,0,1,1],则经过 NRZ 编码后得到 a k = [ 1 , − 1 , 1 , 1 ] ak = [1, -1, 1, 1] ak=[1,1,1,1]。接着,从 a k ak ak 中提取奇数位和偶数位,分别形成 I I I Q Q Q 分量,即 I = [ 1 , 1 ] I = [1, 1] I=[1,1] Q = [ − 1 , 1 ] Q = [-1, 1] Q=[1,1]

为了满足符号速率的要求,每个符号包含两个比特,因此符号周期 T s y m T_{sym} Tsym 是比特周期 T b T_b Tb 的两倍,即 T s y m = 2 T b T_{sym} = 2T_b Tsym=2Tb。这意味着,如果 QPSK 符号以与 BPSK 相同的速率传输,则 QPSK 的数据速率是 BPSK 的两倍。

接下来,程序对 I I I Q Q Q 分量进行过采样处理。过采样因子 L = 2 ⋅ O F L = 2 \cdot OF L=2OF 决定了每个符号的采样点数,从而确保信号在时间上具有足够的分辨率。例如,假设 O F = 4 OF = 4 OF=4,则每个符号会被采样 L = 8 L = 8 L=8 次。

在完成过采样后,程序生成的时间基 t t t 被定义为 t = 0 : 1 / f s : ( l e n g t h ( I ) − 1 ) / f s t = 0:1/fs:(length(I)-1)/fs t=0:1/fs:(length(I)1)/fs,其中采样频率 f s = O F ⋅ f c f_s = OF \cdot f_c fs=OFfc。随后,基带同相分量 I I I 和正交分量 Q Q Q 分别与载波信号 cos ⁡ ( 2 π f c t ) \cos(2\pi f_c t) cos(2πfct) − sin ⁡ ( 2 π f c t ) -\sin(2\pi f_c t) sin(2πfct) 相乘,生成同相臂和正交臂的已调信号。最终的 QPSK 调制信号通过将这两个分量相加获得:
s ( t ) = I ( t ) ⋅ cos ⁡ ( 2 π f c t ) + Q ( t ) ⋅ ( − sin ⁡ ( 2 π f c t ) ) s(t) = I(t) \cdot \cos(2\pi f_c t) + Q(t) \cdot (-\sin(2\pi f_c t)) s(t)=I(t)cos(2πfct)+Q(t)(sin(2πfct))

此外,为了确保信号的稳定性和准确性,过采样率 L = 2 f s / f c L = 2f_s / f_c L=2fs/fc 被选择为整数,使得每个符号周期内有整数个载波周期。这种设计符合奈奎斯特采样定理的要求,即采样频率 f s f_s fs 至少为载波频率 f c f_c fc 的两倍,即 f s ≥ f c f_s \geq f_c fsfc。通过这种方式,QPSK 发射机能够高效地生成高质量的调制信号,适用于各种无线通信场景。

Timing diagram for BPSK and QPSK modulations

QPSK 接收机的实现与原理

QPSK(Quadrature Phase Shift Keying)接收机的设计得益于其与 BPSK(Binary Phase Shift Keying)之间的特殊关系,因此其实现形式相对简单。如图3所示,QPSK 接收机的核心思想是分别对 I 通道(同相通道)和 Q 通道(正交通道)信号进行解调,其过程与 BPSK 解调方式类似。在解调完成后,I 通道的比特序列和 Q 通道的比特序列会被合并为一个单一的比特流,从而恢复出原始的二进制数据。这一过程由 MATLAB 函数 qpsk_demod 实现,该函数按照图3中的模型完成了 QPSK 解调器的功能。

Waveform simulation model for Quadrature Phase Shift Keying demodulation

具体来说,QPSK 接收机的工作流程可以分为以下几个步骤。首先,接收到的 QPSK 调制信号被分解为两个分量:同相分量(I 通道)和正交分量(Q 通道)。这两个分量分别通过与载波信号 cos ⁡ ( 2 π f c t ) \cos(2\pi f_c t) cos(2πfct) − sin ⁡ ( 2 π f c t ) -\sin(2\pi f_c t) sin(2πfct) 相乘完成下变频操作,即将高频调制信号转换为基带信号。随后,经过低通滤波器去除高频成分,得到解调后的 I 通道和 Q 通道信号。这些信号通常以连续时间波形的形式存在,因此需要进一步量化为离散的比特值。对于每个符号周期 T s y m T_{sym} Tsym,I 通道和 Q 通道的信号值会被映射回对应的二进制比特,例如通过判断信号值的正负来确定比特值(正对应 1 1 1,负对应 0 0 0)。最后,I 通道和 Q 通道的比特序列会被重新组合,形成最终的二进制数据流。

function [a] = qpsk_demod(r, fc, OF)
% QPSK_DEMOD - QPSK 解调器
% 输入:
%   r - 接收的 QPSK 调制信号(含噪声)
%   fc - 载波频率 (Hz)
%   OF - 过采样因子 (每个符号的采样点数为 2*OF)
% 输出:
%   a - 恢复的二进制比特流

% 参数初始化
fs = OF * fc; % 采样频率
Ts = 1 / fs; % 采样周期
Tsym = 2 * OF * Ts; % 符号周期 (每个符号包含 2*OF 个采样点)

% 时间基
t = (0:length(r)-1) / fs;

% 下变频:将接收到的信号分解为 I 和 Q 分量
iChannel = r .* cos(2 * pi * fc * t); % 同相分量
qChannel = r .* (-sin(2 * pi * fc * t)); % 正交分量

% 低通滤波:去除高频成分
lpf = designLowpassFilter(fs, fc); % 设计低通滤波器
iChannelFiltered = filter(lpf, iChannel); % 滤波同相分量
qChannelFiltered = filter(lpf, qChannel); % 滤波正交通量

% 符号采样:在每个符号周期的中心点采样
samplesPerSymbol = 2 * OF; % 每个符号的采样点数
iSamples = iChannelFiltered(samplesPerSymbol/2:samplesPerSymbol:end);
qSamples = qChannelFiltered(samplesPerSymbol/2:samplesPerSymbol:end);

% 符号判决:将采样值映射回二进制比特
iBits = double(iSamples >= 0); % 判断同相分量的符号
qBits = double(qSamples >= 0); % 判断正交通量的符号

% 将 I 和 Q 比特组合为单个比特流
a = reshape([iBits; qBits], 1, []); % 合并为单行向量
end

% 辅助函数:设计低通滤波器
function lpf = designLowpassFilter(fs, fc)
    % 设计一个低通滤波器,截止频率略低于载波频率
    fNyquist = fs / 2; % 奈奎斯特频率
    lpf = fir1(64, fc / fNyquist); % 使用 FIR 滤波器,64 阶
end

为了更清楚地理解这一过程,我们可以结合具体的例子进行说明。假设接收到的 QPSK 信号经过解调后,I 通道的信号值序列为 [ + 0.8 , − 0.9 ] [+0.8, -0.9] [+0.8,0.9],而 Q 通道的信号值序列为 [ − 0.7 , + 0.6 ] [-0.7, +0.6] [0.7,+0.6]。根据 NRZ 编码规则,正信号值被映射为 1 1 1,负信号值被映射为 0 0 0。因此,I 通道的比特序列为 [ 1 , 0 ] [1, 0] [1,0],Q 通道的比特序列为 [ 0 , 1 ] [0, 1] [0,1]。将这两个序列按顺序合并后,得到最终的二进制数据流为 [ 1 , 0 , 0 , 1 ] [1, 0, 0, 1] [1,0,0,1]。这正是原始发送数据的恢复结果。

此外,QPSK 接收机的设计还考虑了实际通信系统中的噪声和失真问题。为了评估 QPSK 系统的性能,通常会通过仿真手段计算误码率(Bit Error Rate, BER)。误码率反映了系统在噪声环境下正确传输数据的能力。在仿真过程中,可以通过调整信噪比(Signal-to-Noise Ratio, SNR)来观察不同噪声水平下的性能表现。

总之,QPSK 接收机的设计充分利用了其与 BPSK 的相似性,简化了解调过程。通过对 I 通道和 Q 通道信号的独立处理以及后续的比特序列合并,接收机能够高效地恢复出原始数据。这种设计不仅在理论上具有清晰的逻辑,在实际应用中也表现出良好的性能和可靠性。

QPSK 性能仿真

在 QPSK(Quadrature Phase Shift Keying)调制解调系统的性能仿真中,整个波形模拟过程包括生成随机消息比特、使用 QPSK 调制对这些比特进行编码、添加对应给定信噪比(Signal-to-Noise Ratio, E b / N 0 E_b/N_0 Eb/N0)的 AWGN(Additive White Gaussian Noise)信道噪声,以及通过相干 QPSK 接收机对接收到的含噪信号进行解调。图4展示了调制器各个阶段的波形。这种仿真不仅验证了系统的设计正确性,还提供了误码率(Bit Error Rate, BER)性能曲线,用于评估系统在噪声环境下的表现。由于 QPSK 本质上是将两个正交调制的 BPSK(Binary Phase Shift Keying)信号组合在一起,因此其性能曲线与传统 BPSK 的性能曲线相同。这意味着,在相同的 E b / N 0 E_b/N_0 Eb/N0 下,QPSK 和 BPSK 的误码率表现一致。

Simulated Quadrature Phase Shift Keying waveforms at the transmitter side

QPSK 变体分析

除了标准 QPSK,还有多种 QPSK 的变体形式,其中包括 Offset-QPSK(OQPSK)、 π / 4 \pi/4 π/4-QPSK 和 π / 4 \pi/4 π/4-DQPSK。这些变体在相位变化和调制方式上有所改进,以适应不同的应用场景。

Offset-QPSK 与标准 QPSK 类似,但 I 通道和 Q 通道的正交载波信号存在时间上的交错(其中一个通道被延迟)。在 OQPSK 中,正交分量不会在同一时刻改变状态,因为状态变化仅发生在符号周期的中间(由于 Q 通道有半个符号的偏移)。这完全消除了 18 0 ∘ 180^\circ 180 的相位跳变,将相位变化限制为每比特周期内的 0 ∘ 0^\circ 0 ± 9 0 ∘ \pm90^\circ ±90。消除 18 0 ∘ 180^\circ 180 相位跳变的特性使 OQPSK 在频谱特性和抗相位抖动能力方面优于标准 QPSK。此外,如果进一步避免相位跃迁,则可以实现类似最小频移键控(Minimum Shift Keying, MSK)等连续调制方案的性能提升。

π / 4 \pi/4 π/4-QPSK 是另一种重要的 QPSK 变体,其调制信号的星座点从两个相位相差 π / 4 \pi/4 π/4 弧度(即 4 5 ∘ 45^\circ 45)的 QPSK 星座中选择。通过在每个连续比特间切换这两个星座,相位变化被限制为 4 5 ∘ 45^\circ 45 的奇数倍,从而消除了 9 0 ∘ 90^\circ 90 18 0 ∘ 180^\circ 180 的相位跳变。这一特性使得 π / 4 \pi/4 π/4-QPSK 比标准 QPSK 和 OQPSK 更好地保持了恒包络特性。此外, π / 4 \pi/4 π/4-QPSK 支持差分编码,因此既可以采用相干解调也可以采用非相干解调技术。非相干解调的选择简化了接收机设计,而差分编码的 π / 4 \pi/4 π/4-QPSK 通常被称为 π / 4 \pi/4 π/4-DQPSK。

为了更好地研究 QPSK 及其变体的相位过渡特性,常使用星座图(Constellation Diagram)。星座图能够直观地展示信号在二维复平面上的分布情况,并揭示不同调制方式的特性。例如,标准 QPSK 的星座点均匀分布在四个象限中,而 OQPSK 和 π / 4 \pi/4 π/4-QPSK 的星座图则反映了它们在相位变化方面的改进。

Constellation diagrams for raised cosine filtered QPSK, OQPSK, DQPSK and MSK

参考资料:QPSK - Quadrature Phase Shift Keying - GaussianWaves

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

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

相关文章

四、数据存储

在爬虫项目中,我们需要将目标站点数据进行持久化保存,一般数据保存的方式有两种: 文件保存数据库保存 在数据保存的过程中需要对数据完成去重操作,所有需要使用 redis 中的 set 数据类型完成去重。 1.CSV文件存储 1.1 什么是c…

C# OnnxRuntime部署DAMO-YOLO人头检测

目录 说明 效果 模型信息 项目 代码 下载 参考 说明 效果 模型信息 Model Properties ------------------------- --------------------------------------------------------------- Inputs ------------------------- name:input tensor:Floa…

Metal学习笔记七:片元函数

知道如何通过将顶点数据发送到 vertex 函数来渲染三角形、线条和点是一项非常巧妙的技能 — 尤其是因为您能够使用简单的单行片段函数为形状着色。但是,片段着色器能够执行更多操作。 ➤ 打开网站 https://shadertoy.com,在那里您会发现大量令人眼花缭乱…

【Mac】2025-MacOS系统下常用的开发环境配置

早期版本的一个环境搭建参考 1、brew Mac自带终端运行: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Installation successful!成功后运行三行命令后更新环境(xxx是mac的username&a…

蓝桥杯web第三天

展开扇子题目, #box:hover #item1 { transform:rotate(-60deg); } 当悬浮在父盒子,子元素旋转 webkit display: -webkit-box:将元素设置为弹性伸缩盒子模型。-webkit-box-orient: vertical:设置伸缩盒子的子元素排列方…

Qt基础入门-详解

前言 qt之路正式开启 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见📝 🎉欢迎大家点赞&#x1f44…

FPGA开发,使用Deepseek V3还是R1(3):系统级与RTL级

以下都是Deepseek生成的答案 FPGA开发,使用Deepseek V3还是R1(1):应用场景 FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别 FPGA开发,使用Deepseek V3还是R1&#x…

移动端国际化翻译同步解决方案-V3

1.前言 因为软件出海,从在上上家公司就开始做翻译系统,到目前为止已经出了两个比较大的版本了,各个版本解决的痛点如下: V1版本: 主要针对的是AndroidiOS翻译不一致和翻译内容管理麻烦的问题,通过这个工具…

多空狙击线-新指标-图文教程,多空分界买点以及强弱操盘技术教程,通达信炒股软件指标

“多空狙击线”指标 “多空狙击线”特色指标是量能型技术指标,主要用于分析股票市场中机构做多/做空力量的强程度。该指标的构成、定义与原理如下: “多空狙击线”指标,又称机构做多/做空能量线,通过计算和分析股票市场中机构做多/做空力量…

零信任架构和传统网络安全模式的

零信任到底是一个什么类型的模型?什么类型的思想或思路,它是如何实现的,我们要做零信任,需要考虑哪些问题? 零信任最早是约翰金德瓦格提出的安全模型。早期这个模型也是因为在安全研究上考虑的一个新的信任式模型。他最…

Oracle 11g的部署配置

1、进入官网下载所需版本的Oracle 2、安装 ①:选择setup.exe开始安装 ②:安装提示如下,直接忽略,选是 ③:配置安全更新 填写邮箱,并取消勾选 ④:如果点击下一步,提示什么代理啥的…

下载b站视频音频

文章目录 方案一:jjdown如何使用 方案二:bilibili哔哩哔哩下载助手如何使用进入插件网站插件下载插件安装 使用插件下载视频音频:复制音频下载地址 方案三:bat命令下载单个音频下载单个视频下载单个音视频 方案一:jjdo…

记录spring-boot 3.X版本整合RocketMq

版本信息 先把该次整合的版本信息列如下: spring-boot spring-cloud rocketmq-spring-boot-starter rocketmq-client rocketmq 3.0.13 2022.0.5 2.2.3 4.9.8 4.9.8 版本信息是如何选择的呢?看rocketMq官网springcloud alibaba版本声明 rock…

探秘基带算法:从原理到5G时代的通信变革【六】CRC 校验

文章目录 2.5 CRC 校验2.5.1 前言2.5.2 CRC算法简介2.5.3 CRC计算的详细过程2.5.4 CRC校验的两种方法详解**分离比较法****整体运算法****不同位出错与余数的关系****总结** 2.5.5 CRC计算的C实现及工具介绍**C实现CRC计算****CRC计算工具推荐** **2.5.6 总结:CRC校…

水仙花数(华为OD)

题目描述 所谓水仙花数,是指一个n位的正整数,其各位数字的n次方和等于该数本身。 例如153是水仙花数,153是一个3位数,并且153 13 53 33。 输入描述 第一行输入一个整数n,表示一个n位的正整数。n在3到7之间&#x…

《白帽子讲 Web 安全》之深入同源策略(万字详解)

目录 引言 一、同源策略基础认知 (一)定义 (二)作用 (三)作用机制详解 二、同源策略的分类 (一)域名同源策略 (二)协议同源策略 (三&…

USRP4120-通用软件无线电平台

1、产品描述 USRP4120平台是彬鸿科技公司推出的以XILINX XC7Z020 SOC处理器为核心,搭配ADI AD9361射频集成芯片,针对无线通信系统科研与教学实验场景的一款通用软件无线电平台。产品频率范围70MHz~6GHz,模拟带宽200KHz~56MHz,支持…

计算机毕业设计SpringBoot+Vue.js社区智慧养老监护管理平台(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

yoloV5的学习-pycharm版本

真的很让人气愤的一点,老师把我的pycharm给卸载了,我那个上面不仅有gpu-torch,还有gpu-torch,他给俺删了,删了很久,我心都碎了,过几天我就去找他负责,让他给我装回来我的环境&#x…

蓝桥杯 之 图形规律

文章目录 分析组成,找到规律数正方形 在蓝桥杯中,常常会有一些图形的规律的题目需要我们去解决,所以我们需要学会其中的一些方法,我们这样才能解决对应的问题 方法1:直接对n进行拆分方法2:使用递归的思路&a…