MATLAB uint64 时间戳转相对秒:先做整数减法,避免大基准吞掉低位

Widar3.0 CSI数据提取深度解析:从Intel 5300网卡到MATLAB复数矩阵 信道状态信息(CSI)是Wi-Fi感知技术的核心原始数据,其本质是OFDM子载波在多天线下的复数幅度与相位响应。获取高质量CSI需突破商用网卡驱动限制,通过固件劫持与共享内存映射实现物理层数据直采。关键技术难点在于实时性保障、二进制帧结构解析、字节序与量化还原,以及MATLAB与Linux内核的零拷贝交互。该方案支撑室内定位、手势识别、微动检测等典型应用,而DFSExtractionCode正是面向Intel 5300/6300网卡的端到端CSI提取工程实现,涵盖mex驱动桥接、csi_getall调度与c 阅读详情

处理纳秒计数器时,很容易写出下面这一行:

seconds = (double(t)-double(t(1)))/1e9;

如果 t 是很大的 uint64 时间戳,转换成 double 的那一刻,低位可能已经丢失。后面的减法无法恢复它们。本文实现一个合同明确的小函数:先验证顺序,用 uint64 做相对减法,检查跨度,最后转换成秒。

全部实验在 Windows 原生 MATLAB R2025b 中执行,验证数值表示与输入边界,不涉及实际采集设备或硬件时钟性能。

1. 问题出在转换顺序

double 可连续精确表示的整数区间包含 [-2^53,2^53]。uint64 的范围更大。以 2^60 为基准,向上的相邻 double 间距是 256,因而 +1、+2、+3 这类差值在预先转换时会消失。

构造样例也要遵守相同原则:

base = bitshift(uint64(1),60);
t = base + uint64([0 1 2 3 1000]);

不要写 uint64(2^60+1) 来声称构造了精确的 2^60+1。括号内先按 double 运算,丢失低位之后再转 uint64 已经来不及。大整数必须从原始整数数据或不会丢位的整数运算得到。

2. 函数合同

relative_seconds_u64(t,ticksPerSecond) 接收非空 uint64 向量,输出保留行列形状,以第一个时间戳为零点。

约束如下:

  • t 必须按顺序不减,允许重复时间戳。
  • 不接受倒序、计数器回绕或复位。函数不会猜测它们的原因。
  • 最大相对跨度不能超过 2^53 tick,等于该边界时允许。
  • ticksPerSecond 必须为正有限 double 标量。
  • 若转换后的秒数溢出到非有限值,也会报错;仅仅“正有限”的极小频率并不足以保证可转换。

这些约束换来一个清楚的保证:被转换的每个整数 tick 差都可被 double 精确表示。除法转成秒仍然服从浮点舍入,不保证每个十进制小数精确,也不保证大跨度下的相邻 tick 在秒域仍可区分。

3. 完整实现

保存为 relative_seconds_u64.m:

function seconds=relative_seconds_u64(t,ticksPerSecond)
% Nondecreasing, no-wrap timestamps. Preserve shape and exact tick deltas.
validateattributes(t,{'uint64'},{'vector','nonempty'});
validateattributes(ticksPerSecond,{'double'},{'real','scalar','finite','positive'});
if any(t(2:end)<t(1:end-1))
    error('ticks:order','Timestamps must be nondecreasing; unwrap separately.');
end
delta=t-t(1);
if any(delta>bitshift(uint64(1),53))
    error('ticks:span','Span must not exceed 2^53 ticks.');
end
seconds=double(delta)/ticksPerSecond;
if any(~isfinite(seconds))
    error('ticks:overflow','Seconds overflow; choose a valid scale or smaller span.');
end
end

顺序检查必须在减法之前。MATLAB 的无符号整数减法不会提供负数差值;若先对倒序数据相减,负结果可能被饱和为零。先检查相邻大小关系,才能避免把倒序悄悄伪装成重复时间戳。

在不减序列中,所有 t 均不小于首点,因此整数减法不存在负结果;两个 uint64 数的非负差也不会超过 uint64 上限。此后再执行 2^53 跨度检查。

4. 可复现测试与独立预期

测试中的大基准和小偏移分开生成。随机测试的预期来自生成时已知的 offsets,而不是再调用被测函数的减法过程。固定随机种子,1000 组、每组 100 点,覆盖多种大基准上的小跨度计数。

保存为 test_timestamps.m:

function test_timestamps(f)
if nargin==0, f=@relative_seconds_u64; end
base=bitshift(uint64(1),60); t=base+uint64([0 1 2 3 1000]);
s=f(t,1e9); want=[0 1 2 3 1000]/1e9;
assert(isequal(s,want),'test:precision','Lost low timestamp bits');
assert(isequal(f(uint64([4;4;9]),2),[0;0;2.5]));
assert(f(uint64(9),1)==0);
lim=bitshift(uint64(1),53); assert(isequal(f([uint64(0) lim],1),[0 2^53]));
mx=intmax('uint64'); assert(isequal(f([mx-uint64(2),mx],1),[0 2]));
invalid={uint64([]),[1 2],uint64([2 1]),[mx uint64(0)],uint64([1 2;3 4]),[uint64(0) lim+uint64(1)]};
for j=1:numel(invalid), mustError(@()f(invalid{j},1)); end
for rate={0,-1,Inf,NaN,[],single(1)}, mustError(@()f(uint64(1),rate{1})); end
mustError(@()f(uint64([0 1]),realmin*eps));
rng(20261110,'twister'); worst=0;
% Offsets are independently known small exact integers, not DUT subtraction.
for j=1:1000
    offsets=sort(randi([0 1000000],1,100)); offsets(1)=0;
    b=bitshift(uint64(randi([1 1000000])),40);
    actual=f(b+uint64(offsets),1e6); expected=offsets/1e6;
    assert(isequal(actual,expected)); worst=max(worst,max(abs(actual-expected)));
end
fprintf('TIMESTAMPS PASS: 5 deterministic, 13 invalid, 1000 x 100 random; max error=%.17g s\n',worst);
fprintf('LARGE BASE: correct='); fprintf(' %.17g',s); fprintf('\n');
end
function mustError(fn)
caught=false; try, fn(); catch, caught=true; end; assert(caught,'test:reject','Expected rejection');
end

保存下面故意错误的负控为 bad_timestamps.m。它用于证明精度断言确实能抓到“先转 double”的错误,不是生产实现:

function s=bad_timestamps(t,rate)
s=(double(t)-double(t(1)))/rate;
end

在上述文件目录运行 PowerShell,修改路径以适配本机安装:

& 'D:\tools\matlab\R2025b\bin\matlab.exe' -batch "test_timestamps" -logfile ticks_ok.log
$LASTEXITCODE
& 'D:\tools\matlab\R2025b\bin\matlab.exe' -batch "test_timestamps(@bad_timestamps)" -logfile ticks_bad.log
$LASTEXITCODE

5. 实测结果

MATLAB 版本为 25.2.0.2998904 (R2025b)。5 个确定性场景、13 个非法输入场景、1000×100 个随机点全部通过。随机数据结果与独立生成偏移除以 1e6 的预期逐元素完全一致,比较得到的最大误差为 0 秒。这里的“0”是相对于同样使用 double 除法的预期,不是声称浮点秒数等于精确有理数。

对于基准 2^60、偏移 [0 1 2 3 1000] tick、频率 1e9 tick/s,正确算法的十进制概念结果是 [0 1e-9 2e-9 3e-9 1e-6] 秒。负控则得到 [0 0 0 0 1.024e-6] 秒,前三个非零微小偏移被吞掉,1000 tick 被量化成 1024 tick。

测试确认了以下边界:重复值允许;单点输出零;跨度恰好 2^53 tick 允许;跨度 2^53+1 tick 拒绝;接近 intmax(‘uint64’) 但跨度仅 2 tick 的序列仍可处理;从最大 uint64 回到零明确拒绝。极小频率 realmin*eps 使一个 tick 对应的秒数溢出,也明确拒绝。

联合正式测试进程退出码为 0。负控触发运行期 test:precision 断言,错误文本为 Lost low timestamp bits,退出码为 1,失败发生在数值结果检查,不是语法或编译阶段。

6. 哪些问题需要另一层处理

如果设备计数器会回绕,需要知道计数器位宽、最大采样间隔,以及两次样本间能否发生多次回绕,才能建立展开策略。只有两次读数,通常无法区分真正倒序、计数器复位和回绕。本文选择拒绝,不使用排序来掩盖时间顺序问题。

2^53 tick 是为了保证所有整数差可精确转换的保守边界,超过它也有部分整数可表示,但不能对任意 tick 差做同样保证。在 1 GHz 计数率下,2^53 tick 约为 9007199.254740992 秒,约 104.25 天。更长记录可分段使用局部原点,或保留整数差与时间单位,把转换推迟到显示和分析阶段。

即使跨度满足限制,秒域除法仍可能舍入,极端量级可能进入次正规数范围,仍有舍入。对于本合同内非零整数差和有限正频率,非零秒数不会下溢为零。需要单 tick 的严格比较、精确累计或跨设备同步时,应保留 uint64 计数和时钟元数据。该函数没有校正时钟漂移、时区、闰秒或多个时钟源之间的偏差。

7. 官方参考

  • MathWorks flintmax 文档:https://www.mathworks.com/help/matlab/ref/flintmax.html ,说明 double 的最大连续精确整数边界为 2^53。
  • MathWorks 整数数据类型与运算:https://www.mathworks.com/help/matlab/matlab_prog/integers.html ,说明整数运算饱和、数值字面量默认 double,以及大整数转换前的精度问题。
ADC原理、架构与嵌入式实战:从采样定理到滤波算法全解析 模数转换器是连接物理世界与数字系统的核心接口,其核心原理基于采样、保持、量化和编码四个步骤,其中奈奎斯特采样定理是确保信号无失真还原的理论基石。在工程实践中,ADC的性能由分辨率、采样率、精度和有效位数等关键指标综合决定。主流ADC架构如逐次逼近型、Σ-Δ型和流水线型,分别在高精度音频测量、中速传感器采集和超高速通信等场景中发挥着不可替代的作用。对于嵌入式开发者而言,合理选择参考电压、配置多通道DMA传输以及实施软件滤波算法,是提升系统稳定性的关键。本文深入探讨了SAR ADC在微控制器中的典型应用以及Σ- 阅读详情

相关推荐

【MATLAB代码】基于RRT与人工势场法(RRT+APF)的多无人机二维动态路径规划与避障。订阅专栏后可查看完整代码

本文基于RRT+APF算法实现多无人机动态路径规划与避障仿真,通过MATLAB完整代码可直接运行。对比传统APF方法,该方案在轨迹平滑性、安全净间隙及到达效率上表现更优。支持参数自定义,订阅专栏后可获取源码与定制服务,适用于科研与工程实践。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 191

Simulink自定义模块实现小端数据转换为大端数据

Simulink自定义模块实现小端数据转换为大端数据

longxingtiNXI的博客 626

【MATLAB代码,多无人机路径规划6】基于RRT与动态窗口法(RRT+DWA)的多无人机二维动态路径规划与避障。订阅专栏后可查看完整代码

本文基于MATLAB实现四架无人机在二维动态障碍环境中的协同路径规划,采用RRT+DWA算法,支持参数自定义。通过对比RRT+APF与RRT+DWA的避障效果,可视化轨迹、净间隙、速度加速度及航程等,输出任务完成率与碰撞统计。代码可直接运行,订阅专栏后获取完整源码,支持定制与讲解。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 550

RISC-V无FPU核软浮点库优化实战:从原理到性能提升

在嵌入式开发中,浮点运算性能往往决定系统整体响应速度。对于缺少FPU(硬件浮点单元)的RISC-V处理器,浮点操作依赖软浮点库用整数指令模拟IEEE 754规范,导致算法执行效率骤降。理解软浮点库的工作原理——符号、指数、尾数分离及舍入处理,是优化的基础。其技术价值在于,通过针对RISC-V指令集特性(如M扩展的mul/mulhu指令)重写核心运算路径,可显著降低单次浮点操作耗时。该优化尤其适用于低功耗IoT传感器融合、控制算法以及教学常用的单周期RISC-V CPU等场景,帮助无FPU芯片在保持低成本的同

weixin_34417200的博客 414

【MATLAB代码,无人机避障7】基于RRT*与人工势场法(RRT*+APF)的多无人机二维动态路径规划与避障。订阅专栏后可查看完整代码

本文基于RRT与人工势场法(APF)实现四架无人机在二维动态障碍环境中的协同路径规划与避障。通过RRT优化全局路径,结合APF进行局部避碰,支持参数自定义,提供完整MATLAB代码,可直接运行并生成轨迹、安全净间隙、速度加速度及航程等可视化结果,对比RRT+APF与RRT*+APF性能,适用于科研与教学。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 231

Python_构建同花顺问财智能选股API服务

本文详细介绍了如何使用Python构建同花顺问财智能选股API服务,涵盖从环境准备、核心API开发到高级功能扩展的全过程。通过Flask框架和pywencai库,开发者可以快速搭建稳定可靠的选股接口,实现自动化股票筛选与交易系统集成,提升量化投资效率。

weixin_30596343的博客 333

嵌入式开发中的字节对齐:从原理到实战的深度解析

字节对齐是计算机内存访问的基础机制,直接影响数据读写效率与正确性。其原理源于CPU总线宽度与硬件访问约束,编译器通过插入填充字节确保成员对齐,从而提升访问性能并避免异常。在嵌入式开发中,字节对齐技术价值尤为突出,涉及通信协议打包、DMA传输、多核共享内存等场景。若处理不当,可能导致数据错乱、程序跑飞或性能下降。本文从实际案例出发,深入探讨字节对齐的物理约束、编译器行为、控制方法及跨平台策略,帮助开发者掌握这一核心技能。

weixin_33853827的博客 555

音频功放电路大全

作为硬件工程师,特别是做纯粹模拟电路、应用于音频功放的工程师,对于A类,B类,AB类,D类,G类,H类,T类功放应该特别熟悉。大多数工程师或许只知道其中的一部分、或者知道大概,为了让更多的工程师掌握更加详尽的音频功放知识,下文对以上说的音频功放做详细的说明。 功放,顾名思义,就是功率放大的缩写。与电压或者电流放大来说,功放要求获得一定的、不失真的功率,一般在大信号状态下工作,因此,功放电路一般包含电压放大或者电流放大电路没有的特殊问题,具体表现在:①输出功率尽可能大;②通常在大信号状态下工作;③非线性失真突

ltqdxl的博客 6595

数独验证的工程思维:从算法题到嵌入式约束校验

数独验证本质是约束满足问题(CSP)的经典实例,其核心在于对行、列、宫格三类独立约束的高效建模与实时校验。原理上需将离散数字域映射为可计算状态,通过确定性逻辑实现O(1)时间复杂度的合法性判断。技术价值体现在内存局部性优化、位运算加速与领域特化设计——如嵌入式固件中复用三数组标记法进行设备ID/校验码/时间戳三重并发校验,或在实时系统中以uint16_t位掩码实现毫秒级万级校验。典型应用场景涵盖芯片BIST测试、传感器数据完整性校验、电网调度可行性验证等工业级系统。本文深入剖析‘36. Valid Sudo

weixin_34082854的博客 416

【MMDetection3.0实战】从零构建自定义数据集训练流程

本文详细介绍了使用MMDetection3.0框架从零开始构建自定义目标检测数据集的完整训练流程。内容涵盖环境配置、COCO格式数据准备、核心代码改造、模型配置与训练策略调优,以及最终的模型测试与验证,帮助开发者快速上手并训练自己的检测模型。

l6m7n8的博客 314

【自动驾驶规划】Lattice Planner

Lattice Planner简介 LatticePlanner算法属于一种局部轨迹规划器,输出轨迹将直接输入到控制器,由控制器完成对局部轨迹的跟踪控制。因此,Lattice Planner输出的轨迹是一条光滑无碰撞满足车辆运动学约束和速度约束的平稳安全的局部轨迹。Lattice Planner的输入端主要由三部分组成,感知及障碍物信息、参考线信息及定位信息。局部规划模块的输出是带有速度信息的一系列轨迹点组成的轨迹,其保证了车辆控制器在车辆跟踪控制过程中的平稳性和安全性。 局部规划模块的输出是带有速

uytguytgf的博客 6497

大端模式和小端模式的判断及其互相转化

一.定义 大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存在内存的高地址中。 小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中。 二.大小端模式的判断 使用联合,通过判断首个成员的值,确定是大端还是小端模式: bool IsBigEndian(){ union N...

897901160 1661

DSH-Work:一个让DeepSeek下载即用的Harness客户端

使用大模型工具时,环境配置往往比模型本身更让人头疼。DeepSeek Harness作为一类封装层,将模型调用、上下文管理、参数控制等复杂细节统一收拢,对外提供简洁操作入口。开源的DSH-Work正是这样一款Harness客户端,它通过自带运行时与保守默认配置,实现了下载即用、免配环境的目标,让使用者无需掌握Python、CUDA等专业知识即可快速连接DeepSeek云端或本地服务。对于非技术背景的用户,它降低了AI工具的使用门槛;对于开发者,它把时间从环境排错中解放出来,更专注于提示词调优与工作流设计。无

weixin_29048309的博客 344

基于复旦微FPGA的软件无线电平台:NOC互连与DDC/FFT工程实践

软件无线电(SDR)通过宽带射频前端、高速ADC/DAC与FPGA实时处理,实现硬件做实时、软件做灵活。其核心在于数字下变频(DDC)与快速傅里叶变换(FFT)等信号处理链路的工程实现,而片上网络(NOC)作为可扩展互连骨架,能有效解决多模块互联的时序收敛与带宽瓶颈。在国产化替代与供应链确定性需求下,复旦微电子PSoC架构将ARM核与FPGA逻辑集成,为软无平台提供异构计算基础。本文围绕NOC互连、DDC下变频、FFT时分复用等关键模块,分享从架构设计到调试优化的实操经验,并探讨多通道阵列与动态重构的扩展方

weixin_34296641的博客 397

YOLO26改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

本文记录的是基于MobileNet V4的YOLO26目标检测轻量化改进方法研究。主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。通过整合、以及优化的,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中、、、和五种模型,以满足不同的需求。MobileNetV4: Universal Models for the Mobile Ecosystem是一系列适用于移动生态系统的通用高效模型。以下将详细介绍其轻量化设计的出发点、原理、结构和优势:的实现代码如下: 四、修改步骤 4.1 修

Limiiiing的博客 827

芒果YOLOv11改进175:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子

芒果YOLOv11改进:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1297

CUTLASS Tile 机制深度解析:高性能矩阵计算的核心抽象

本文深入解析了CUTLASS中的Tile机制,这是GPU高性能矩阵计算的核心抽象技术。Tile通过将大矩阵分解为小块,有效减少了全局内存访问次数,提高了数据复用率和带宽利用率。文章从三个层面展开:首先介绍了Tile的基本概念及其性能优势;其次详细讲解了CUTLASS的Shape抽象,包括ThreadBlock、Warp和Instruction三个层级的Shape设计;最后阐述了内存布局抽象,如RowMajor与ColumnMajor的区别。

阿正的梦工坊 350

vue-vben-admin 打包编译报错Failed to resolve entry for package “@vben-core/design“ 的解决方法

如果你在你是不是在 apps/子目录下执行了 build?# 项目根目录 pnpm build而不是在下面单独打包。这个问题本身不复杂,但非常容易被误导去“怀疑依赖、怀疑配置、怀疑人生”。实际上,只要理解vue-vben-admin 是 monorepo 架构,很多类似问题都会迎刃而解。如果你后面还遇到 vben-admin 的构建、部署、权限或性能相关问题,这一套思路都很有用。希望这篇记录,能帮你节省至少半小时的排坑时间。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 423

MATLAB 不等间隔一阶低通:按真实时间更新,并把长缺口重置说清楚

不等间隔数据若直接套固定平滑系数,会改变实际时间常数。本文从左端零阶保持模型推导一阶低通更新,分别计算衰减与输入系数,显式标记长缺口重置,并给出解析解对照、时序负例、边界测试和完整 MATLAB 代码。

hxy_programmer的博客 330

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

MATLAB 与 Python 在科学计算中的实际差异

本文围绕 MATLAB 与 Python 在科学计算中的实际应用展开比较,分析两者在软件生态、矩阵运算、数值计算性能、开发环境及工程部署方面的差异。结合代码示例,介绍两种语言在矩阵运算和数组处理中的不同实现方式,并讨论影响程序运行效率的主要因素。在此基础上,结合控制工程、数值分析、数据科学和机器学习等研究方向,分析两种语言各自的适用场景,并介绍跨语言协同开发的基本思路。希望通过本文的讨论,帮助读者更深入地理解两种工具的特点,为科研工作中的技术选型提供参考。

weixin_47502228的博客 622

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域

本文梳理了无线通信、图像处理、脑机接口等九个领域的代表性MATLAB开源项目,涵盖信道建模(QuaDRiGa)、智能表面仿真(SimRIS)、视觉特征提取(VLFeat)、三维网格生成(Iso2Mesh)及脑电信号分析(EEGLAB、BCILAB)等关键技术。通过解析其数学模型与源码实现,揭示科研工具如何将理论算法转化为可复现的工程计算流程,为科研人员提供高效、可扩展的开发参考。

weixin_47502228的博客 426

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【MATLAB源码】基于颜色加权与连通域分析的高抬腿频率测量系统

本文提出一种基于图像处理的高抬腿动作频率自动化测量系统,通过高清摄像机采集视频,结合颜色加权、形态学操作与连通域分析,精准提取反光标志区域并统计动作次数。实验表明,该方法相比人工计数更高效、准确,误差小,可为运动训练提供量化数据支持。

2302_78339041的博客 235

【MATLAB例程介绍】(17)永磁同步电机(PMSM)基于自适应无迹卡尔曼滤波(AUKF)的电流噪声在线估计。测量噪声协方差自适应与转速估计对比仿真

本文基于MATLAB构建永磁同步电机(PMSM)仿真模型,提出一种自适应无迹卡尔曼滤波(AUKF)算法,实现电流测量噪声协方差的在线估计,并联合观测机械转速、转子电角度及电流状态。针对传统UKF因固定噪声参数在噪声变化时性能下降的问题,引入新息协方差匹配机制,通过指数加权统计更新噪声协方差,有效提升状态估计鲁棒性。仿真结果表明,在分阶段变化的测量噪声条件下,AUKF能准确跟踪噪声水平,显著降低转速与角度估计误差,优于标准UKF。程序结构清晰,含完整注释与可视化输出,适用于电机控制与状态估计研究。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 336

第【135】期--基于 M-ASK 调制的数字通信系统设计与仿真--matlab完整代码

本文设计并仿真了一个完整的 M 进制幅移键控(M-ASK)数字通信系统。系统由发射机、加性高斯白噪声(AWGN)信道和接收机三部分构成。发射机完成符号映射、上采样、根升余弦(RRC)脉冲成形、数模转换与射频调制;接收机通过相干解调、低通滤波、降采样、匹配滤波和幅度判决恢复原始符号。为了解决帧同步问题,系统在数据帧头部插入了由巴克码构造的前导序列,接收端利用相关检测完成定时对齐,并通过蒙特卡洛仿真验证了系统在不同信噪比条件下的误码性能,仿真结果与理论曲线吻合较好。关键词:M-ASK;脉冲成形;匹配滤波;

qq_35027690的博客 316

MATLAB优化算法实战:从无约束到约束优化

优化问题在工程中无处不在:参数调优、路径规划、资源分配、控制器设计都需要优化算法。MATLAB的Optimization Toolbox提供了从简单到复杂的完整优化工具链。

2501_93482674的博客 181

MATLAB 离散数据分箱:半开区间、末端点与计数、加权和、平均

明确半开区间、最右端点、越界及空箱规则,用 histcounts 与 accumarray 同时得到计数、贡献和、样本平均贡献及箱号。附 MATLAB R2025b 原生边界、非法输入、1000×105 独立参考测试和错误实现负例。

hxy_programmer的博客 315
上一篇: MATLAB 方向角平均:跨越 ±180° 时怎样计算,低合向量时为什么不应输出一个方向
下一篇: FPGA 四路有符号排序:五个比较器、一级 ready/valid 缓冲与可复现 XSim 验证
星夜离尘56
博客等级 码龄1年 78粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值