简介数字调制系统数字频带传输系统是通信原理中的重要章节涉及数字信号通过载波传输的核心技术。这份PDF以讲义形式系统讲解数字调制的基本结构、调制方式与解调检测面向通信专业学生、考研复习者及相关工程技术人员。内容从6.1引言开始先介绍数字调制的基本概念与系统组成再重点剖析二进制振幅键控2ASK与二进制移频键控2FSK的调制原理、信号产生方法、功率谱构成、频带宽度及常见解调方式如相干解调、过零检测等并配有调制器方框图、波形示意图和关键公式推导帮助读者理解从基带信号到频带信号的转换过程以及ASK、FSK等键控方式的设计与分析方法。文档共1个PDF文件约743KB内容精炼、结构清晰便于课下集中阅读或打印复习。目前已有91人学习/浏览适合作为通信原理课程同步复习、期末考试准备或自学提升的辅助资料。1. 数字频带传输系统从基带到载波中间要补的不是一根线《数字调制系统数字频带传输系统.pdf》这个标题听起来像是通信原理课件里的一个章节但它背后是所有物理层工程师都绕不开的实战问题把已经成型的基带数字波形搬到带通信道上跑起来并且在收端把原始比特还原回来。很多人在 FPGA 或软件无线电上翻车不是翻在调制解调理论上而是翻在“频带传输”这四个字上——基带系统里可以暂时不用管载波、同步和带宽一上频带所有问题都会冒出来。这篇文章就按一条完整链路讲数字频带传输系统从比特映射、脉冲成型、正交调制到收端匹配滤波与判决再给出一套能跑出误码率曲线的 QPSK 最小仿真代码。适合刚做完数字基带处理、正准备把信号搬上载波的人也适合需要快速评估一种调制方式能不能用在真实链路里的从业者。先说清楚仿真里发的不是一段能直接上天的射频波形而是带通信号在复数基带上的等效表示很多人不理解这一点后面所有参数都会对不上。2. 解构数字调制系统发端与收端必须对齐的四个环节一个完整的数字调制系统不是拿二进制比特直接去调载波而是要经过“比特到符号、符号到波形、波形到载频、载频再变回比特”四层。每一层都有对应的收端逆处理。这四个环节如果只改发端不动收端系统基本跑不起来。下面挨个讲清楚为什么要这样拆以及每个环节里需要定下来的关键参数。2.1 比特到符号映射与星座图决定性能天花板数字调制的第一步是把一串比特变成一个个复数符号。QPSK 就是把两个比特合成一个符号这个符号落在 I/Q 复平面上四个点之一。这个映射表不是随便拍的一般都会用 Gray 编码让相邻相位点之间只差一个比特这样接收端万一判错了一个相位也只是错一个比特不会一次错两个。一个常见做法是先把比特流 reshape 成两列然后按高位和低位查一张 Gray 表。Python 写起来很直接import numpy as np # QPSK Gray 映射表 # 索引 0: 00 - 11j # 索引 1: 01 - -11j # 索引 2: 10 - -1-1j # 索引 3: 11 - 1-1j GRAY_TABLE np.array([11j, -11j, -1-1j, 1-1j]) def bits_to_symbols(bits): # 每两个 bit 一组高位在前 cols bits.reshape(-1, 2) idx cols[:, 0] * 2 cols[:, 1] return GRAY_TABLE[idx]这里的映射方式是bits[:,0] * 2 bits[:,1]也就是说 00、01、10、11 分别对应索引 0、1、2、3。注意 GRAY_TABLE 的顺序必须和这个索引一致否则相邻相位就不是 Gray 关系。符号的平均能量Es np.mean(np.abs(symbols)**2)对上面这张表来说正好是 1后面算噪声时会用到。这一段决定了链路的“理论天花板”。符号之间距离越大抗噪能力就越强但同一个功率下符号点越多点与点之间的欧氏距离就越小。所以调制阶数一旦选上去就必须用更高的信噪比去换。2.2 脉冲成型滚降系数是带宽和码间干扰的钥匙比特变成符号后还不能直接发射。如果直接发送矩形脉冲频谱旁瓣会衰减得很慢带外功率很大邻道直接受不了。数字频带传输系统里最常用的成型滤波器是根升余弦滤波器也就是 RRC。发端用一次 RRC收端再用一次 RRC两级级联后等效为一个升余弦滤波器正好能满足奈奎斯特第一准则在符号采样时刻没有码间干扰。滚降系数alpha直接影响占用带宽。符号率为Rs时双边带宽大约是B (1 alpha) * Rsalpha 越小带宽越窄但滤波器过渡带越陡实际实现时对定时误差越敏感。alpha 越大带宽越宽脉冲拖尾衰减越快对收发同步更友好。工程上常用的取值是 0.2 到 0.5。卫星链路常常压到 0.2 左右普通 WiFi 或蜂窝系统的成形滤波设计则在 0.15 到 0.35 之间。RRC 滤波器不是随便抽一个 FIR 窗函数而是按时域公式生成。后面第三章会给完整函数。这里先记住成型滤波器和匹配滤波器必须用同一个脉冲响应不能发端用升余弦、收端用根升余弦否则就不是最佳接收。2.3 正交调制把复数基带搬到带通信道上频带传输和基带传输的根本区别是多了载波。如果把一个复数基带信号x(t) I(t) jQ(t)搬到载频fc上调制后的实信号是s(t) I(t) * cos(2*pi*fc*t) - Q(t) * sin(2*pi*fc*t)这就是正交调制也叫 IQ 调制。QPSK 的四个相位实际上是通过 I 路和 Q 路的幅度组合表示的。这样做的好处是基带只需处理两个正交支路不需要去控制射频振荡器的瞬时相位。在仿真里我们一般不真的生成几十兆甚至几个 G 的载波。因为载波只是把频谱搬了个位置链路本身的性能由基带脉冲和信道噪声决定。常见做法是直接发复数基带信号也就是把I(t) jQ(t)当成一个复序列处理。如果后面要评估载波频偏、相位噪声、射频前端非线性和多径衰落再单独把这些损伤加到基带信号上。这样既不丢失频带系统的结构又能让一次仿真跑几千上万个符号。2.4 收端匹配滤波、定时同步、载波同步收端不是把接收信号解调下来就完事。第一件事是匹配滤波让信号经过一次和发端 RRC 相同的滤波器把信噪比做到最大。第二件事是定时同步要找到每个符号的最佳采样点。发端是按符号周期发出去的但信道和滤波器会带来延迟收端采样时刻稍微偏一点误码率会明显恶化。第三件事是载波同步因为收发本振的频率和相位不可能完全一致接收信号会有相位旋转和频偏。实际系统里定时同步常用 Gardner 环载波同步常用 Costas 环或判决辅助环。但在仿真初期一般先做理想同步也就是用已知的滤波器延迟去对准采样点等整条链路的误码率正常了再往接收机里塞同步环。这个“先理想后非理想”的顺序能帮你分清问题是出在同步环路还是出在前级设计。2.5 一张参数表先把链路算明白动手写代码前我一般会把下面这张表贴在脚本头部。很多参数错误都是因为比特率、符号率、采样率之间的关系没算清楚。参数符号关系式比特率RbRb Rs * log2(M)符号率RsRs Rb / log2(M)双边带宽BB (1 alpha) * Rs每符号采样数spssps Fs / Rs采样率FsFs 至少为 2B工程仿真常取 8 到 16 倍符号率每符号能量EsEs k * Ebk log2(M)比特信噪比Eb/N0Es/N0 k * Eb/N0这张表的作用不只是填代码它还能用来反推 ADC 采样率、滤波器阶数和信道带宽。比如符号率 1 Mbaud、alpha0.35双边带宽就是 1.35 MHz如果采样率只给 2 Msps频谱边缘已经压到采样率附近仿真结果会非常难看。3. 用Python跑通一个QPSK频带传输系统最小可复现代码下面这套代码我经常用来做数字频带传输系统的快速验证。它没有高频载波而是用复数基带等效表示。你把它当成带通信号在信道噪声作用下的等价模型即可发端 RRC、收端匹配滤波、符号级加性高斯白噪声都保留着频带系统的关键结构。3.1 仿真参数与噪声模型先确定一组能复现的参数。N 是符号数M 是调制阶数sps 是每个符号采几个样点。固定随机种子很重要否则你跑出来的误码率曲线第二天可能就不一样了。import numpy as np from scipy import signal from scipy.special import erfc # 仿真参数 N 20000 # 发送符号数 M 4 # QPSK k int(np.log2(M)) # 每符号比特数 Rs 1e6 # 符号率 1 Mbaud sps 16 # 每个符号采样 16 个点 alpha 0.35 # 滚降系数 EbN0_dB 8.0 # 目标比特信噪比 # 固定随机源 rng np.random.default_rng(2024) # 生成随机比特 bits rng.integers(0, 2, N * k) # QPSK Gray 映射 GRAY_TABLE np.array([11j, -11j, -1-1j, 1-1j]) cols bits.reshape(-1, 2) idx (cols[:, 0] * 2 cols[:, 1]).astype(int) symbols GRAY_TABLE[idx] # 符号能量和噪声功率 Es np.mean(np.abs(symbols)**2) EbN0_lin 10**(EbN0_dB / 10) N0 Es / (k * EbN0_lin) # 噪声功率谱密度 noise_std np.sqrt(N0 / 2) # 复噪声每个分量的标准差这里核心是噪声模型。Es/N0 k * Eb/N0对 QPSK 来说 k2所以同样一个 Eb/N0 下Es/N0 比它高 3 dB。很多人直接把 Eb/N0 当成 Es/N0 用最后误码率曲线会整体偏右 3 dB。后面的噪声是在匹配滤波之后、符号判决之前加的这样避开了“逐采样点加噪声再滤波”带来的幅度归一化问题。3.2 RRC成型滤波器与发送信号RRC 滤波器的时域公式在三个位置有奇异点要单独处理。这里把它写成一个函数sps是每个符号的采样点数alpha是滚降系数ntaps取奇数保证中心点存在。生成之后强制归一化到单位能量这样接收端匹配滤波后的噪声方差才算是 N0。def rrc_filter(sps, alpha, ntaps): 生成根升余弦滤波器脉冲响应 center ntaps // 2 t (np.arange(ntaps) - center) / sps h np.zeros(ntaps) for i, x in enumerate(t): if abs(x) 1e-8: h[i] (1 - alpha 4 * alpha / np.pi) elif abs(abs(x) - 1 / (4 * alpha)) 1e-8: h[i] (alpha / np.sqrt(2)) * ( (1 2 / np.pi) * np.sin(np.pi / (4 * alpha)) (1 - 2 / np.pi) * np.cos(np.pi / (4 * alpha))) else: h[i] (np.sin(np.pi * x * (1 - alpha)) 4 * alpha * x * np.cos(np.pi * x * (1 alpha))) \ / (np.pi * x * (1 - (4 * alpha * x)**2)) # 单位能量归一化 h h / np.sqrt(np.sum(h**2)) return h # 滤波器阶数16 个符号跨度的冲激响应 ntaps 16 * sps 1 h_rrc rrc_filter(sps, alpha, ntaps) # 符号上采样后送成型滤波器 up np.zeros(N * sps, dtypecomplex) up[::sps] symbols # 发端成型滤波 tx signal.lfilter(h_rrc, 1, up)这段里最容易理解错的是滤波器的因果延迟。signal.lfilter把 h_rrc 当成一个因果冲激响应而 h_rrc 的中心点在ntaps//2位置。发端一次 lfilter峰值延迟是ntaps//2收端再做一次匹配滤波延迟再叠加一次。所以最终最佳采样点要补偿ntaps - 1个样点后面会用到。3.3 匹配滤波、采样点补偿与硬判决接收端先用同一个 RRC 做匹配滤波。由于滤波器叠加了两次符号峰值出现的位置会整体往后移如果少补偿一半延迟采样点会落在两个符号的边界上星座图会糊掉。# 匹配滤波 rx_mf signal.lfilter(h_rrc, 1, tx) # 两次 lfilter 的总群延迟 delay ntaps - 1 rx_clean rx_mf[delay : delay N * sps] # 每个符号周期取一个点 rx_symbols rx_clean[::sps] # 加入 AWGN符号级等效 noise noise_std * (rng.standard_normal(N) 1j * rng.standard_normal(N)) rx_symbols rx_symbols noise # 硬判决找最近的星座点 def demap(rx): dist np.abs(rx[:, None] - GRAY_TABLE[None, :])**2 return np.argmin(dist, axis1) idx_est demap(rx_symbols) # 索引还原为比特 bits_est np.stack([idx_est // 2, idx_est % 2], axis1).ravel() # 误码率 ber np.mean(bits_est ! bits) print(fEb/N0 {EbN0_dB} dB, BER {ber:.6f})判决时用最小欧氏距离找星座点。QPSK 的星座点到原点的半径都一样所以也可以只看相位判断但最小距离判决更通用换到 16QAM 时不需要改接收结构。idx_est // 2还原的是高位idx_est % 2还原的是低位这正好和发端的bits[:,0] * 2 bits[:,1]反过来。3.4 用星座图和理论误码率验证链路跑完一次还不能说明链路是对的。我会先画星座图再看误码率和理论值差多少。星座图代码很短import matplotlib.pyplot as plt # 每 4 个符号画一个点避免图太密 plt.scatter(rx_symbols[::4].real, rx_symbols[::4].imag, s10, alpha0.7) plt.scatter(GRAY_TABLE.real, GRAY_TABLE.imag, markerx, cred) plt.axis(equal) plt.xlabel(I) plt.ylabel(Q) plt.grid(True) plt.show()在 Eb/N0 为 8 dB 时星座图应该能看到四个清晰的团簇边缘越锐利说明链路越正常。QPSK 理论上限是ber_theory 0.5 * erfc(np.sqrt(EbN0_lin))。如果上面代码跑出来的误码率和理论值在 0.5 dB 以内就说明噪声模型和采样点补偿都对了。4. 从QPSK到16QAM数字频带传输的调制方式怎么选一套链路骨架改一下映射表和解映射规则就能从 QPSK 变成 16QAM。可“能用”和“选对”是两回事。评价一种数字调制方式至少要看带宽效率、抗噪能力、对同步误差的敏感度以及射频前端能不能扛得住。4.1 四种调制方式的一笔账调制方式每符号比特数带宽效率抗噪能力主要代价ASK1低差对幅度衰减敏感FSK1 或更低很低较好占用带宽大QPSK/PSK2中等好需要稳定相位参考16QAM4高中对线性度和 SNR 要求高ASK 现在用得不多因为幅度信号在信道里受衰落影响大。FSK 的抗频偏能力好但频谱效率低常见于低速数传和对同步要求极低的应用。QPSK 是卫星、点对点微波这些场景的常客因为它在中等信噪比下能提供不错的带宽效率同时对相位噪声容忍度还行。16QAM 更多出现在移动通信、微波回传这类需要高带宽效率的场景但它对信噪比和射频线性度的要求比 QPSK 高不少。很多人选型时只看“带宽效率高”忽略了链路预算。我的习惯是先算最差信噪比再看这个调制方式的理论误码率能不能压在目标值以下最后留出至少 2 到 3 dB 的工程余量。否则即使仿真跑得通一到真实设备上就翻车。4.2 高阶调制不是免费午餐SNR、PAPR和线性度16QAM 和 QPSK 用同样的平均功率星座点之间的欧氏距离却更小。要让误码率相同16QAM 大约需要比 QPSK 多出 4 到 5 dB 的 Eb/N0。这还不算最麻烦的问题16QAM 是幅度和相位同时携带信息信号包络起伏比 QPSK 大很多也就是峰均比更高。射频功率放大器为了效率通常工作在接近饱和区但高峰均比信号会被非线性削顶星座图外围点往里收缩误码率立刻恶化。所以选 16QAM 之前要先确认整个发射链路的回退能力够不够。常见做法是给功放留 6 到 10 dB 回退或者用数字预失真但这些都是成本。QPSK 包络相对恒定可以用接近饱和的功放这也是短波、卫星场景几十年不放弃 QPSK 的原因。4.3 单载波与OFDM多径环境下的分岔路数字频带传输系统可以是单载波也可以是多载波。单载波 QPSK 实现简单但信道一有多径衰落符号间干扰会成片出现收端要上均衡器。OFDM 则把高速比特流拆到多个正交子载波上每个子载波符号率低码间干扰容忍度强再插入循环前缀就能处理多径时延扩展。OFDM 的代价是峰均比更高对载波频偏更敏感所以同步设计更复杂。WiFi、LTE 这些系统选 OFDM是因为在高带宽、多径环境下它的代价换成吞吐量是值得的。但如果做点对点低时延链路单载波加均衡反而更简单。实际项目里不要先入为主。先看信道是高斯白噪声为主还是多径衰落为主再看时延和功耗约束。高斯链路里 OFDM 的优势体现不出来反而会给你添一堆同步麻烦。4.4 实际项目里怎么定调制阶数一个五步选型清单我会按下面五步走基本不会漏关键约束列出链路预算算出最差情况下的 SNR 和 SNR 余量。查理论误码率曲线找出能同时满足误码率和吞吐量的最大 M。确认射频功放和 ADC 能承受的峰均比必要时降低 M。用第三章的仿真代码把候选调制方式在相同 Eb/N0 下跑一遍替换映射表和解映射函数即可。再加载波频偏、相位噪声和多径模拟真实信道观察性能余量是否还在。这套流程的价值是把“选型”从拍脑袋变成可验证。任何一版设计最后都能用一张仿真误码率曲线回应“为什么选这个调制方式”。5. 避坑指南数字频带传输系统仿真与调试的五个翻车点下面五条都是我在调数字调制系统时真实遇到过的。每一条按“现象 → 原因 → 解决”写方便你直接对号入座。5.1 星座图绕圈旋转而不是四个固定团簇现象接收端画出来的星座图不是四个点团而是像圆环一样散开有时候肉眼能看到点在缓慢转圈。原因这是典型的载波频偏没补偿。仿真里虽然没加高频载波但如果你在信道里加了频率偏移或者用了带频差的下变频接收符号就会随时间旋转一个固定角度。解决在等效基带仿真里用一阶相位旋转估计即可即估计相邻符号的相位差并做补偿。真实接收机中要加 Costas 环。先把频偏设为 0 调通链路再逐渐加大频偏看同步环能不能把星座图拖回四个点。5.2 误码率曲线掉到地板上再加大信噪比也没用现象Eb/N0 从 8 dB 加到 15 dBBER 始终停在 0.1 甚至更高不下去。原因采样点没对准。滤波器群延迟补偿错了之后每个采样点都落在符号波形的斜坡上码间干扰变成固定地板。这种地板不是噪声造成的所以加大信噪比毫无作用。解决先用无噪声情况验证。把噪声设成 0看接收符号是不是完美落在星座点上。如果不是用delay ntaps - 1去切匹配滤波输出再检查rx_clean[::sps]的实部和虚部是否等于发送符号。5.3 星座点间距很大但BER仍然离理论差几dB现象星座图很清晰点与点之间距离正常但误码率曲线整体比理论值差 3 dB 左右。原因把 Es/N0 和 Eb/N0 搞混了。QPSK 一个符号携带 2 bit如果N0 Es / EbN0_lin而不是N0 Es / (k * EbN0_lin)等效噪声功率就放大了 2 倍也就是 3 dB。解决全代码统一用N0 Es / (k * EbN0_lin)。防止再错可以在噪声参数后面加一行注释# klog2(M)QPSK 这里别丢掉。5.4 改变滚降系数后BER曲线平移现象alpha 从 0.35 改成 0.5误码率曲线非但没改善反而整体变差或偏移。原因RRC 滤波器归一化方式不一致。不同 alpha 下滤波器的离散能量不同如果成型后没有把发送信号或匹配滤波输出统一缩放接收端的等效信噪比就会变化。解决用前面代码里的h h / np.sqrt(np.sum(h**2))保证每个 alpha 下滤波器单位能量。然后加噪声前用Es做归一化不要假设符号能量一定等于 1。5.5 低误码率区间BER曲线像股市一样上下跳现象跑同一个 Eb/N0第一次 BER 是 1e-3第二次是 5e-4第三次变成 2e-3曲线毫无规律。原因低误码率需要大量符号才能统计稳定。如果你只发 20000 个符号误码率 1e-4 对应的错误数才 2 个随机性当然大。另外随机数种子不固定也会让每次结果不可复现。解决固定rng并让每个 Eb/N0 点至少统计到 50 到 100 个错误比特。误码率目标越低N 就要越大。测 1e-5 至少需要几百个错误比特通常要发几百万符号这个代价必须接受。6. 让误码率曲线替你说话一套快速验证系统是否合格的方法验证一个数字频带传输系统最直接的方法就是画误码率曲线。但曲线不是画出来就有用它必须可信。我现在的做法是先建一条理论参考线再让仿真曲线靠近它偏差超过 0.5 dB 就要回头查代码。QPSK 的理论误码率可以用互补误差函数算def qpsk_ber_theory(ebn0_db): x 10**(ebn0_db / 10) return 0.5 * erfc(np.sqrt(x))然后在一个扫描范围内每个 Eb/N0 点都跑完整链路函数记录 BER。建议扫描步长取 1 dB范围从 0 dB 到 8 dB 就能看到典型误码率从 1e-1 掉到 1e-4 以下。每个点最少统计 100 个错误比特如果符号数不够增加 N而不是靠多跑几次取平均来掩盖。这次扫描还能顺手做一件事验证滤波器长度和采样点补偿。把无噪声情况下的误码率打出来如果无噪声 BER 不为 0后面所有仿真结果都不可信。我会把随机种子、Eb/N0 范围和最少错误数写在脚本顶部等过两周再回来看还能记得当时测的是哪一版参数。数字频带传输系统的很多“玄学”最后都会落到这些细节上噪声功率少除了一个 2滤波器延迟少补了半程或者随机种子变了。把这些固定成流程之后新人的踩坑率会明显下降。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
STM32F407 USB虚拟串口CDC高速通信实战:从CubeMX配置到USB3300优化 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:09:09
不懂代码找专业的电商网站建设公司,源码下载后怎么避坑 不懂代码找专业的电商网站建设公司,源码下载后怎么避坑 很多老板想搞线上生意,第一反应是找程序员。但现实是,自己不会代码,连个后台都登不进去,这时候找专业的电商网站建设公司就成了刚需。很多人图省事,去网上搜“源码下载”,花几百块买个模板,结果… · 2026/9/27 1:09:09
CH340驱动装不上?从原理到实战彻底解决USB转串口驱动问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:09:03
车载DoIP诊断:TCP源端口定制的实现与避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:51:13
火绒杀毒软件使用指南:安装配置、自定义规则与避坑实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:51:13
复旦微FMQL45T900实测:国产FPGA能否替代Xilinx ZYNQ? /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:51:13
西门子PTO回原点失败的五大底层原因与实战解法 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:51:13
等保2.0内存安全基线检测:用Shell脚本自动核查Linux内核配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:51:13
PageHelper分页原理、实战优化与避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 1:51:07
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01