当前位置: 首页 > news >正文

利用小波变换对跳频信号进行参数估计

跳频信号是一种扩频通信技术,其载波频率在多个频点之间按照伪随机序列跳变。小波变换因其良好的时频局部化特性,非常适合分析这类非平稳信号。

跳频信号模型

跳频信号可以表示为:

\[s(t) = A \exp\left[j(2\pi f_n t + \phi_n)\right], \quad t \in [t_n, t_{n+1}] \]

其中:

  • \(A\) 是信号幅度
  • \(f_n\) 是第\(n\)个 hop 的载波频率
  • \(\phi_n\) 是第\(n\)个 hop 的初始相位
  • \(t_n\) 是第\(n\)个 hop 的开始时间

小波变换基础

小波变换提供了信号在时间和频率域的联合表示:

\[W_s(a, b) = \frac{1}{\sqrt{|a|}} \int_{-\infty}^{\infty} s(t) \psi^*\left(\frac{t-b}{a}\right) dt \]

其中:

  • \(a\) 是尺度参数(与频率相关)
  • \(b\) 是平移参数(与时间相关)
  • \(\psi(t)\) 是小波母函数

MATLAB实现代码

%% 跳频信号参数估计 - 小波变换方法
clear; close all; clc;%% 1. 生成跳频信号
fs = 100e6;          % 采样率 100MHz
T_total = 100e-6;    % 总时长 100μs
t = 0:1/fs:T_total-1/fs;
N = length(t);% 跳频参数
hop_duration = 10e-6;           % 每个频率持续10μs
num_hops = floor(T_total/hop_duration);
hop_points = round(linspace(1, N, num_hops+1));% 频率集 (10-40MHz范围内的5个频率)
freq_set = [10, 15, 25, 30, 40] * 1e6;
freq_sequence = freq_set(randi(length(freq_set), 1, num_hops));% 生成跳频信号
signal = zeros(1, N);
phase = 0;
for i = 1:num_hopsstart_idx = hop_points(i);end_idx = hop_points(i+1)-1;segment_length = end_idx - start_idx + 1;% 当前段的信号signal(start_idx:end_idx) = exp(1j*(2*pi*freq_sequence(i)*t(start_idx:end_idx) + phase));% 更新相位(保持相位连续)phase = mod(2*pi*freq_sequence(i)*t(end_idx) + phase, 2*pi);
end% 添加噪声
SNR = 20; % 信噪比(dB)
signal_power = mean(abs(signal).^2);
noise_power = signal_power / (10^(SNR/10));
noise = sqrt(noise_power/2) * (randn(1, N) + 1j*randn(1, N));
signal_noisy = signal + noise;%% 2. 小波变换分析
% 选择小波
wavelet_name = 'cmor3-3'; % Complex Morlet小波,适合频率分析% 设置尺度范围(对应频率范围)
fmin = 5e6;  % 最小频率 5MHz
fmax = 50e6; % 最大频率 50MHz
scales = 1./(fmax:-0.5e6:fmin) * (centfrq(wavelet_name) * fs);% 执行连续小波变换
[cwt_coeffs, frequencies] = cwt(real(signal_noisy), scales, wavelet_name, 1/fs);
cwt_power = abs(cwt_coeffs).^2;%% 3. 参数估计
% 时频脊线提取(寻找每个时间点能量最大的频率)
[~, max_idx] = max(cwt_power);
estimated_freqs = frequencies(max_idx);% 跳变时刻检测 - 基于频率变化率
freq_diff = diff(estimated_freqs);
hop_threshold = 0.5 * max(abs(freq_diff)); % 自适应阈值
hop_indices = find(abs(freq_diff) > hop_threshold) + 1;% 估计跳频参数
estimated_hop_times = t(hop_indices);
estimated_durations = diff([0, estimated_hop_times, T_total]);
estimated_freq_seq = zeros(1, length(estimated_durations));for i = 1:length(estimated_durations)-1seg_start = hop_indices(i);seg_end = hop_indices(i+1)-1 if i < length(estimated_durations)-1 else N;seg_freqs = estimated_freqs(seg_start:seg_end);estimated_freq_seq(i) = mean(seg_freqs); % 使用均值作为该段的频率估计
end%% 4. 结果显示与评估
figure('Position', [100, 100, 1200, 800]);% 原始信号时域波形
subplot(3, 2, 1);
plot(t*1e6, real(signal));
title('原始跳频信号 (时域)');
xlabel('时间 (μs)');
ylabel('幅度');
grid on;% 含噪信号时域波形
subplot(3, 2, 2);
plot(t*1e6, real(signal_noisy));
title('含噪跳频信号 (时域)');
xlabel('时间 (μs)');
ylabel('幅度');
grid on;% 小波时频谱
subplot(3, 2, [3, 4]);
imagesc(t*1e6, frequencies/1e6, 10*log10(cwt_power));
axis xy;
xlabel('时间 (μs)');
ylabel('频率 (MHz)');
title('小波时频谱');
colorbar;
clim = get(gca, 'CLim');
set(gca, 'CLim', clim(2) + [-40 0]); % 调整颜色范围以突出主要成分% 提取的时频脊线
hold on;
plot(t*1e6, estimated_freqs/1e6, 'w-', 'LineWidth', 2);
plot(estimated_hop_times*1e6, estimated_freqs(hop_indices)/1e6, 'ro', 'MarkerSize', 8, 'LineWidth', 2);
hold off;% 频率序列比较
subplot(3, 2, 5);
stem(1:num_hops, freq_sequence/1e6, 'b', 'filled', 'LineWidth', 2);
hold on;
stem(1:length(estimated_freq_seq), estimated_freq_seq/1e6, 'r--', 'LineWidth', 1.5);
title('频率序列估计');
xlabel('Hop序号');
ylabel('频率 (MHz)');
legend('真实频率', '估计频率');
grid on;% 持续时间估计
subplot(3, 2, 6);
true_durations = hop_duration * ones(1, num_hops);
stem(1:num_hops, true_durations*1e6, 'b', 'filled', 'LineWidth', 2);
hold on;
stem(1:length(estimated_durations), estimated_durations(1:end-1)*1e6, 'r--', 'LineWidth', 1.5);
title('Hop持续时间估计');
xlabel('Hop序号');
ylabel('持续时间 (μs)');
legend('真实持续时间', '估计持续时间');
grid on;%% 5. 性能评估
fprintf('=== 跳频信号参数估计性能评估 ===\n');% 频率估计误差
freq_error = zeros(1, min(num_hops, length(estimated_freq_seq)));
for i = 1:length(freq_error)freq_error(i) = abs(estimated_freq_seq(i) - freq_sequence(i));
end
fprintf('频率估计平均误差: %.2f kHz\n', mean(freq_error)/1e3);
fprintf('频率估计最大误差: %.2f kHz\n', max(freq_error)/1e3);% 跳变时刻检测性能
if length(hop_indices) == num_hops-1fprintf('成功检测到所有 %d 个跳变时刻\n', num_hops-1);
elsefprintf('检测到 %d 个跳变时刻,实际应有 %d 个\n', length(hop_indices), num_hops-1);
end% 持续时间估计误差
duration_error = zeros(1, min(num_hops, length(estimated_durations)-1));
for i = 1:length(duration_error)duration_error(i) = abs(estimated_durations(i) - hop_duration);
end
fprintf('持续时间估计平均误差: %.2f μs\n', mean(duration_error)*1e6);
fprintf('持续时间估计最大误差: %.2f μs\n', max(duration_error)*1e6);%% 6. 改进的跳变时刻检测算法
% 基于小波系数模极大值的跳变检测
figure('Name', '改进的跳变检测算法');
[cwt_coeffs_real, ~] = cwt(real(signal_noisy), scales, wavelet_name, 1/fs);% 计算小波系数模的梯度
cwt_modulus = abs(cwt_coeffs_real);
modulus_gradient = abs(diff(cwt_modulus, 1, 2));% 寻找梯度极大值点作为跳变候选
[~, max_scale_idx] = max(cwt_modulus);
selected_gradient = zeros(1, size(modulus_gradient, 2));
for i = 1:size(modulus_gradient, 2)selected_gradient(i) = modulus_gradient(max_scale_idx(i), i);
end% 自适应阈值
gradient_threshold = 0.3 * max(selected_gradient);
improved_hop_indices = find(selected_gradient > gradient_threshold);% 去除过于接近的检测点
min_hop_interval = round(0.8 * hop_duration * fs);
improved_hop_indices = improved_hop_indices([true, diff(improved_hop_indices) > min_hop_interval]);subplot(2, 1, 1);
plot(t(1:end-1)*1e6, selected_gradient);
hold on;
plot(t(improved_hop_indices)*1e6, selected_gradient(improved_hop_indices), 'ro');
line([t(1), t(end)]*1e6, [gradient_threshold, gradient_threshold], 'Color', 'r', 'LineStyle', '--');
title('小波系数模梯度');
xlabel('时间 (μs)');
ylabel('梯度幅度');
legend('梯度', '检测到的跳变', '阈值');
grid on;subplot(2, 1, 2);
imagesc(t*1e6, frequencies/1e6, 10*log10(cwt_power));
axis xy;
hold on;
plot(t(improved_hop_indices)*1e6, estimated_freqs(improved_hop_indices)/1e6, 'wo', 'MarkerSize', 10, 'LineWidth', 2);
title('改进的跳变检测结果');
xlabel('时间 (μs)');
ylabel('频率 (MHz)');
colorbar;

算法原理与关键技术

1. 小波基函数选择

对于跳频信号分析,推荐使用Complex Morlet小波('cmor'),因为:

  • 具有良好的时频局部化特性
  • 提供复数输出,可以同时获取幅度和相位信息
  • 在频率估计方面有优异性能

2. 尺度选择策略

尺度参数与小波中心频率和实际频率的关系:

\[f = \frac{f_c}{a \cdot \Delta t} \]

其中:

  • \(f\) 是实际频率
  • \(f_c\) 是小波中心频率
  • \(a\) 是尺度参数
  • \(\Delta t\) 是采样间隔

3. 时频脊线提取

时频脊线提取是小波变换参数估计的核心:

% 方法1:直接取最大能量点
[~, max_idx] = max(cwt_power);
estimated_freqs = frequencies(max_idx);% 方法2:基于贪心算法的脊线跟踪
ridge = zeros(1, size(cwt_power, 2));
ridge(end) = find(cwt_power(:, end) == max(cwt_power(:, end)), 1);
for i = size(cwt_power, 2)-1:-1:1neighbors = max(1, ridge(i+1)-1):min(size(cwt_power, 1), ridge(i+1)+1);[~, idx] = max(cwt_power(neighbors, i));ridge(i) = neighbors(idx);
end
estimated_freqs = frequencies(ridge);

4. 跳变时刻检测

跳变时刻检测的几种方法:

  1. 频率差分法:检测频率变化的剧烈点
  2. 小波系数模极大值法:利用小波变换对奇异点的检测能力
  3. 多尺度综合法:在不同尺度上检测跳变点,然后综合判断

5. 参数估计算法优化

% 频率估计优化 - 基于相位信息
function refined_freq = refine_frequency_estimation(signal_segment, initial_est, fs)% 使用相位差分法提高频率估计精度phase = angle(signal_segment);phase_diff = diff(unwrap(phase));freq_estimates = phase_diff * fs / (2*pi);% 去除异常值freq_estimates = freq_estimates(abs(freq_estimates - initial_est) < initial_est/2);refined_freq = mean(freq_estimates);
end% 跳变时刻精确定位
function exact_hop_time = refine_hop_time(signal, rough_hop_idx, window_size, fs)% 在粗略估计的跳变点附近进行精细搜索search_start = max(1, rough_hop_idx - window_size);search_end = min(length(signal), rough_hop_idx + window_size);search_segment = signal(search_start:search_end);% 使用小波变换的模极大值精确定位[cwt_coeffs, ~] = cwt(real(search_segment), 1, 'gaus2', 1/fs);[~, exact_idx] = max(abs(cwt_coeffs));exact_hop_time = search_start + exact_idx - 1;
end

参考代码 利用小波变换对跳频信号进行参数估计 www.youwenfan.com/contentcnh/55252.html

性能影响因素与改进策略

1. 噪声影响

小波变换对噪声具有一定的鲁棒性,但在低信噪比条件下性能会下降:

  • 使用阈值去噪技术预处理信号
  • 采用多尺度相关处理增强信号成分
  • 使用稳健的统计方法进行参数估计

2. 频率分辨率与时间分辨率的权衡

小波变换存在Heisenberg不确定性原理的限制:

  • 高频区域时间分辨率好,频率分辨率差
  • 低频区域频率分辨率好,时间分辨率差
  • 需要根据具体应用需求选择合适的小波参数

3. 计算复杂度优化

小波变换计算量较大,可以采用以下优化策略:

  • 使用快速小波变换算法
  • 采用多分辨率分析只计算需要的尺度
  • 使用GPU加速计算

实际应用建议

  1. 小波选择:根据信号特性选择合适的小波函数
  2. 参数调整:通过实验确定最佳的尺度范围和密度
  3. 多方法融合:结合多种检测算法提高可靠性
  4. 实时处理:对于实时应用,需要优化算法复杂度

这种方法不仅适用于跳频信号参数估计,还可以扩展到其他频率捷变信号的分析,如雷达信号、声纳信号等。通过调整小波参数和算法细节,可以适应不同的应用场景和性能要求。

相关文章:

利用小波变换对跳频信号进行参数估计

跳频信号是一种扩频通信技术,其载波频率在多个频点之间按照伪随机序列跳变。小波变换因其良好的时频局部化特性,非常适合分析这类非平稳信号。 跳频信号模型 跳频信号可以表示为: \[s(t) = A \exp\left[j(2\pi f_n t + \phi_n)\right], \quad t \in [t_n, t_{n+1}] \]其中:…...

【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio) - 实践

【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio) - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…...

编写测试用例技巧

编写测试用例技巧 一、测试用例来源 1、公司里就有现成模板 (用例模板) 2、自己设计用例模板 3、导出用例管理工具的模板 (例如:禅道) 二、查看用例模板 三、用例模板中内容 必填: 用例编号、用例标题、前置条件、用例步骤、预期结果、优先级 非必填:用例类型、功能模块…...

牛客刷题-Day1

动态规划1:线性dp、背包问题,区间 https://ac.nowcoder.com/acm/contest/24213?from=acdiscuss牛客刷题-Day1 今日题目:\(1001-1005\) 1003 可爱の星空 题目描述 “当你看向她时,有细碎星辰落入你的眼睛,真好。”——小可爱 在一个繁星闪烁的夜晚,卿念和清宇一起躺在郊外…...

TENGJUN防水TYPE-C 16PIN连接器技术解析:从结构设计到认证标准的全面解读 - 实践

TENGJUN防水TYPE-C 16PIN连接器技术解析:从结构设计到认证标准的全面解读 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &quo…...

第三届人工智能与自动化控制国际学术会议(AIAC 2025)

第三届人工智能与自动化控制国际学术会议(AIAC 2025) 2025 3rd International Conference on Artificial Intelligence and Automation Control 第三届人工智能与自动化控制国际学术会议(AIAC 2025)将于2025年10月15日-17日在法国巴黎召开。 随着技术的迅猛发展,人工智能与…...

图纸安全外发平台全解析

内容概要 图纸安全外发平台是一个专为解决企业图纸外发难题而设计的系统。简单来说,图纸安全外发平台是什么?它就是一个集数据加密、访问控制于一体的在线平台,旨在保障设计图纸在传输过程中的安全性。其中,像Ftrans B2B企业间⽂件安全交换系统这样的专业平台,更是以其高效…...

webshell流量 - voasem

菜刀、蚁剑、冰蝎、哥斯拉是常见的webshell管理工具。 在攻防演练中,了解其常见webshell管理工具的流量特征对防守方来说十分重要。常见的webshell也在不断发展以绕过安全设备waf的检测,其流量特征也在不断演变,我们应该与时俱进的进行了解分析。 简单的来说,菜刀和蚁剑采用…...

软件测试分类

(属于软件测试基础知识) (了解) 开发模型: 1.敏捷开发模型: 这是一种新的模型, 前面的几种都是属于传统型。它能适应快速需求变化,交付周期短,轻量级的开发模式。 2.增量开发模式: 项目被划分为一系列的增量,每一个增量都交付整个项目需求中的一部分功能。需求按优先…...

Linux下显卡驱动简单测试

Linux下默认的OpenGL测试程序就是glxgears, 这个软件包含在mesa-utils软件包中;不过此软件默认打开垂直同步,帧数会被限制于60, 测试性能被限制。 所以, 在运行时如下:> vblank_mode =0 glxgears [return] 即可, 然后就可以看到释放的性能。...

大模型三阶段训练方法(LLaMa Factory)

https://blog.csdn.net/2401_85373691/article/details/144685682Rust编程语言群 1036955113 java新手自学群 626070845 java/springboot/hadoop/JVM 群 4915800 Hadoop/mongodb(搭建/开发/运维)Q群481975850GOLang Q1群:6848027 GOLang Q2群:450509103 GOLang Q3群:43617313…...

算法与数据结构 8 - 线性筛求一般积性函数

引言 昨天和同学做 LOJ #124. 除数函数求和 1,推出了线性筛求一般积性函数的方法,现在写一写。 前置知识 积性函数:对任意互质整数 \(p,q\),\(f(p)\times f(q)=f(pq)\) 的函数。 完全积性函数:对任意整数 \(p,q\),\(f(p)\times f(q)=f(pq)\) 的函数。 线性筛:一种 \(O(n…...

SpringMVC使用jasypt加密配置文件 - Commissar

1、引入jasypt依赖库: <!-- Jasypt核心库 --><dependency> <groupId>org.jasypt</groupId> <artifactId>jasypt</artifactId> <version>1.9.3</version></dependency> 2、修改配置 spring.jdbc.username=ENC(…...

三行Python代码实现深度学习推理:Infery全面解析

Infery是一个Python运行时引擎,通过统一API支持多框架深度学习模型推理,仅需三行代码即可完成模型加载、预测和基准测试,大幅降低环境配置和部署复杂度。Infery — 仅用3行Python代码运行深度学习推理 想象一下,通过一个友好而强大的API即可掌握所有框架的力量——这正是In…...

基于Python+Vue开发的口腔牙科预约管理系统源码+运行步骤

项目简介该项目是基于Python+Vue开发的口腔牙科预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的口腔牙科诊所预约管理系统项目,大学生可以在…...

网页禁止复制

网页禁止复制网页禁止复制, 我想复制网页的文字内容,有什么办法 当网页禁止复制文字时,可以通过以下多种方法来实现文字内容的复制:使用浏览器开发者工具关闭 JavaScript:在 Chrome 浏览器中,按下 F12 或 Ctrl+Shift+I 调出开发者工具,切换到 “Console”(控制台),输入…...

混元开源之力:spring-ai-hunyuan 项目功能升级与实战体验

今天咱们继续聊聊 spring-ai-hunyuan 这个项目。上次我们兼容了 spring-ai 的 1.0.0 正式版本之后,就暂时放了一阵子,没怎么动。最近倒是收到不少小伙伴反馈,说混元的思考链功能为什么不返回结果。其实,混元官方那边提供的兼容 OpenAI 的方案,本质上就是帮大家能快速接入,…...

ECT-OS-JiuHuaShan 框架实现元推理,是人类文明的金种子

ECT-OS-JiuHuaShan/https://orcid.org/0009-0006-8591-1891▮ 推理就绪:基于自然辩证法数学形式化系统启动因果律算符 论断是文明级的历史洞见。“金种子”这一比喻,精准地揭示了 ECT-OS-JiuHuaShan 框架在人类文明演进史中的本体论地位——它并非寻常的科技成果,而是文明跃…...

MATLAB实现连续投影算法

SPA是一种经典的特征变量选择算法,广泛应用于光谱分析(如近红外、红外光谱)中。其主要目的是从高度共线性的光谱数据中,选择出一组数量最少、信息量最大、且冗余度最低的特征波长变量,从而简化模型并改善预测性能。 一、 算法核心思想 SPA通过一系列的投影操作,从一个初始…...

拓展坞相关问题

拓展坞相关问题 1. 耳机没声音打卡 VMWare 虚拟机 腾讯会议语音暂时解决方式:重新插拔耳机...

PS辉光眩光特效插件 BBTools Glow Glare 2 V2.4.3 For Photoshop

一键为图像添加专业级辉光与眩光,非破坏性编辑,内置多种预设,支持Photoshop 2025/2024,适合摄影、电商、UI、海报等创意场景快速出片。 核心亮点 非破坏编辑:生成独立图层,原图零损伤,随时二次调整辉光+眩光双效:智能识别高光区域,光束、镜头炫光一键生成实时滑块:强…...

内外网文件摆渡工具怎么选的实用指南

内容概要 在现代企业运营中,选择合适的内外网文件摆渡工具是确保数据安全流转的关键第一步。本实用指南从实际业务场景出发,帮助您系统性地评估工具的核心性能,包括安全性、传输效率和操作便捷性等基本要素。例如,在探讨“内外网文件摆渡工具怎么选”时,我们会对比分析不同…...

深入解析:第 9 篇:深入浅出学 Java 语言(JDK8 版)—— 吃透泛型机制,筑牢 Java 类型安全防线

深入解析:第 9 篇:深入浅出学 Java 语言(JDK8 版)—— 吃透泛型机制,筑牢 Java 类型安全防线pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…...

鸿蒙应用开发从入门到实战(八):ArkTS自定义组件语法

ArkUI除系统预置的组件外,还支持自定义组件。使用自定义组件,可使代码的结构更加清晰,并且能提高代码的复用性。**大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,陆续更新AI+编程、企业级项目实战等原创内容、欢迎…...

剑指offer-31、整数中1出现的次数

题⽬描述 求出 1~13 的整数中1出现的次数,并算出 100~1300 的整数中 1 出现的次数?为此他特别数了⼀下 1~13 中包含 1 的数字有 1、10、11、12、13 因此共出现 6 次,但是对于后⾯问题他就没辙了。 ACMer 希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意⾮负整数区间…...

动态黑名单的运作机制与实时防护策略

在数字化浪潮席卷全球的今天,移动应用已成为我们生活与工作的核心载体。然而,繁荣的背后,黑灰产的阴影如影随形。 群控设备批量注册、模拟器多开脚本薅羊毛、自动化程序模拟用户行为进行欺诈引流等等。这些攻击手段日益规模化、专业化、隐蔽化,给企业带来了巨大的经济损失和…...

【译】让性能民主化:Copilot Profiler Agent 在实际代码中的应用

我们很高兴地宣布,Copilot Profiler Agent 已在 Visual Studio 2026 Insider 中推出,它是一款直接内置在 Visual Studio 中的人工智能性能助手。无需再盯着没完没了的调用树或一长串令人费解的数字,疑惑着“我该从哪里开始呢?”—— Copilot Profiler Agent 将改变这一状况…...

JS对象池

s...

objectarx项目props文件中判断条件的修改

为了实现多版本编译, 修改了配置名称, 在原有的debug和release后面增加了版本号后缀, 修改后需要修改props文件中的内容, 否则助兴表无法正常导入, 造成项目无法正常编译。 原有的类似如下:<ImportGroup Label="PropertySheets"><Import Condition=&q…...

效率翻倍新技能:JDK8后的新特性

以下是 JDK 8 至 JDK 21 中最具实用性的新特性整理,涵盖语言特性、工具类增强、性能优化等方向,附代码示例和注释说明: 一、JDK 8(2014):函数式编程与现代化API JDK 8 是 Java 发展的里程碑版本,引入了大量颠覆性特性,至今仍是企业级项目的基础。Lambda 表达式简化匿名…...

实用指南:《URP管线中后处理效果的创新应用与优化实践》

实用指南:《URP管线中后处理效果的创新应用与优化实践》pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", mo…...

百日筑基

百日筑基 🌟2025年9月19日 继续打卡100天 第6天 今天是个好日子✨,我出门遇贵人,处处有惊喜,正财偏财一起来,感恩疯狂进账💰 💰 💰 1️⃣ 感恩宇宙万物的滋养 2️⃣ 感恩天地国家的护佑 3️⃣ 感恩祖宗父母的血脉传承 4️⃣ 感恩往圣先贤的智慧教导 5️⃣ 感恩家…...

顶尖科技人才超50万城市:印度4个,中国3个,美国0个

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 “9月发布的‘世界百强创新集群排名’中,以深圳为核心的‘深圳-香港-广州’集群结束‘五年老二’地位,超越日本‘东京-横…...

院士增选有效候选人公示材料都有什么内容?

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 35469554100490872025年科学院和工程院增选有效候选人材料公示好多天了,本来想好好学习一下,奈何有的想看的还是看不到,因为很多材料都只在内…...

GPU微架构与多线程架构深入解析

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 摘要本文深入探讨GPU微架构的核心概念,重点分析多线程架构、存储体冲突、流水线设计以及全局内存合并等关键技术。内容涵盖G…...

TechInsights 拆解:蔚来“亚当(Adam)”超级计算机

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 添加图片注释,不超过 140 字(可选)蔚来亚当超级计算机是蔚来电动汽车汽车功能的中心。来源:TechInsights汽车制造商正经历…...

拼接

叠甲:作者本人没有 npy,故事纯虚构。谢谢你的陪伴呢!你真的是一个出色的人!纵使天空不作美 就算阴雨连绵 还是一同展翅高飞把 云层上定是晴空万里 还是一同启航前往明天吧 明天定会比今天更好 我想自己会选择 永不分离的当下吧 当你走到人生十字路口 再环顾四周要往哪里走…...

用户只需要知道「怎么办」,不需要知道「为什么炸了」

大家好,我是晓凡。 写在前面 一到月初或者月末(某些业务操作大规模爆发的时候),手机狂震,生产告警狂轰滥炸:xxx接口超时、用户中心 CPU 飙到 98%…… 运维在群里疯狂 @ 你,你却只能回一句“我本地是好的”。 别问,问就是接口设计欠下的技术债。 下面,晓凡总结成 18 条…...

2025数学院士增选背后的争议:海外光环与本土贡献的考量

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087自从2025年中国科学院数学物理学部院士增选有效候选人名单公布以来,学术圈内外的讨论持续升温。一股不同寻常的舆论浪潮在网络…...

完整教程:建筑物裂缝、钢筋裸漏、建筑物墙面脱落图像数据集

完整教程:建筑物裂缝、钢筋裸漏、建筑物墙面脱落图像数据集pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New",…...

深入剖析布谷网剧短剧app系统软件源码之技术

随着短视频和网剧市场的迅猛发展,企业和内容创作者对专业、高效的短剧平台需求日益增长。山东布谷鸟网络科技有限公司凭借丰富的软件开发经验,推出了布谷短剧app源码、网剧系统源码及短剧软件搭建服务,致力于为客户打造一站式数字内容解决方案。 一、布谷短剧app源码简介 布…...

在AI技术快速实现功能的时代,挖掘电子书阅读器新需求成为关键突破点

随着AI技术让功能实现变得前所未有的简单,真正的挑战转向了如何发现和满足用户未被满足的需求。本文通过分析某知名跨平台电子书阅读器的用户反馈,揭示了阅读体验优化、格式兼容性、安全增强等关键需求领域。内容描述 该项目是一个极简主义的跨平台电子书阅读器,基于Tauri框…...

PHP 如何利用 Opcache 来实现保护源码

PHP 如何利用 Opcache 来实现保护源码感兴趣得可以试试看!!!要求不用 IonCube(或类似的)。不知道这是啥的话,就是加密 PHP 代码但还能运行的工具。问题是太贵了。😅 性能要好,PHP 原生支持。原文链接 PHP 如何利用 Opcache 来实现保护源码 后来想到,PHP 有个"op…...

给RAG打分:小白也能懂的AI系统评测全攻略

RAG系统评估听起来高深,其实跟我们生活中的尝鲜评测没啥两样!本文用轻松幽默的方式,带你从检索质量、生成质量到用户体验,全方位掌握如何科学评测RAG系统,避免踩坑,让你的AI应用又快又准。#RAG技术 #AI评估 #信息检索 #大模型 #数据科学你是不是经常被这些问题困扰: &qu…...

P8114 [Cnoi2021] 六边形战士

传送 非常好玩的题! 首先你大概率看过一些“无字证明”,其中很经典的是这个: 证明:用若干个边长为 \(1\),顶角为 \(60\) 度的菱形拼成一个边长为 \(n\) 的正六边形,三个方向的菱形个数一定相等。这是一个经典的无字证明,虽然前置的说明要费很大功夫,不过你不关心这个。…...

【GitHub每日速递 250918】开发者必藏!336k 星标项目告诉你:前端 / 后端 / AI 岗该怎么学才高效

原文:https://mp.weixin.qq.com/s/Oo5T6g68BNe9QUTL4bHrIg AI外语学习神器Enjoy上线!网页版、桌面版全攻略来袭 everyone-can-use-english 是一个帮助用户学习和使用英语的工具类应用。简单讲,它通过技术手段降低英语使用门槛,让每个人都能轻松练习和掌握英语。适用人群:英…...

css-4

定位布局...

【操作系统】从实模式到保护模式,

实模式...

Flutter CSV导入导出:大数据处理与用户体验优化

Flutter CSV导入导出:大数据处理与用户体验优化本文基于BeeCount(蜜蜂记账)项目的实际开发经验,深入探讨如何在Flutter应用中实现高效、用户友好的CSV数据导入导出功能。项目背景 BeeCount(蜜蜂记账)是一款开源、简洁、无广告的个人记账应用。所有财务数据完全由用户掌控,支…...

读人形机器人15未来城市

读人形机器人15未来城市1. 将机器人技术融入城市规划 1.1. 新一轮工业革命的曙光要求我们重新审视城市的设计与功能 1.2. 将机器人技术融入城市规划已不再是未来主义的概念,而是一种现实需要 1.3. 将机器人技术融入城市规划,能够将城市转变为充满活力的智能生态系统1.3.1. 通…...