- 信号源:100K 时钟 + 每 75μs 触发信号
- 设备连接:OUT1→CH1(100k),OUT2→CH2(20K)
- 工具链:MATLAB(在线版)+ LTspice 仿真 + 服务器(qiftech.cn.yanan.server)
- 设备连接:OUT1→CH1(100k),OUT2→CH2(20K)
- 信号定义: CH1:100kHz 主时钟,峰峰值 1.21V,实测频率 98148Hz(接近设定 100k,存在硬件频偏),相位基准 0°; CH2:20kHz 副时钟,峰峰值 0.35V,实测 39815Hz,相位滞后 CH1 46.3°;
配套分析工具;

qiftech.cn.yanan.server 本地后台服务(绑定 127.0.0.1:8010):
- 接收采集卡 USB 原始采样数据流;
- 将双通道时序数据按逗号分隔字符串封装;
- 开启本地 HTTP 接口供 MATLAB 在线版远程拉取,解决网页 MATLAB 无法直连本地硬件的限制;

打开matlab 版本,连接获取设备采集的数据。
底层 MATLAB 在线版数据处理代码逻辑(test.m)
1. 数据获取链路
matlab
代码块
url = 'http://127.0.0.1:8010/';
data= webread(url); % GET请求本地服务获取逗号分隔文本
datanum=split(data,",") % 按逗号切割字符串数组
datanum=datanum(strlength(datanum)>0) % 过滤空字符串脏数据
datanum=str2double(datanum) % 文本转浮点采样电压
复制成功
逻辑要点:采用webread而非 DAQ 工具箱,适配免费在线 MATLAB(无本地硬件驱动权限,只能走 HTTP 接口)。
2. 有效数据校验分支
matlab
代码块
if (datanum(7)==1)
% 校验第7位状态标记=1:硬件采集就绪、数据有效,执行绘图
plot (datanum(127:2:end-64));%CH1:从127位起,步长2取奇数索引
hold on
plot(datanum(128:2:end-63));%CH2:从128位起,步长2取偶数索引
hold on
title('CH1, CH2')
legend('CH1','CH2');
hold off
end
复制成功
- 状态位判断:数组第 7 个数值为硬件就绪标志,非 1 则丢弃数据不绘图;
- 双通道数据存储规则:硬件打包为交错存储:CH1、CH2、CH1、CH2…… CH1:下标 127,129,131…(奇数采样点) CH2:下标 128,130,132…(偶数采样点)
- 首尾截断:舍弃前 126 字节包头、末尾 63/64 字节校验尾,仅保留有效波形采样段;
- 绘图逻辑:双通道叠加绘图、图例区分、时序横轴统一(单位 μs)。

完整执行时序逻辑(从上至下闭环)
- 仿真预演: 搭建 100k/20k 双路时钟,跑 TRAN 瞬态 + FFT,确定幅值、相位、触发周期;
- 硬件参数下发:信号发生器配置两路频率、电平、步进、触发 75μs;采集卡设 1900kHz 采样率;
- 本地服务启动:qiftech 本地服务监听 8010 端口,USB 接收硬件采样流,封装 CSV 字符串;
- MATLAB 在线拉取:网页 MATLAB 通过 webread 读取本地接口原始字符串;
- 数据清洗校验:分割、去空、转浮点,校验状态位;
- 波形切片绘图:交错数组分离双通道,截取有效区间叠加绘图;
- 迭代复测:修改扫频 / 占空比参数,重复采集 + 绘图,对比 FFT 频偏、相位误差。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删