用途:审查使用 fi、fimath、numerictype 或 quantizenumeric 的 MATLAB 代码,优化定点仿真速度,并为 C 或硬件代码生成做准备。不适用于仅用内置整数类型、纯浮点算法,或仅通过 Simulink 模块对话框配置定点的流程(应改用 Fixed-Point Tool)。
主要检查项:1) 向量化 fi() 调用,避免循环内逐元素构造;2) 用类型表与 cast(...,'like',...) 将数据类型与算法分离,按 double、single、fixed 顺序验证;3) 用下标赋值 acc(:) = acc + x(n) 防止位增长;4) 按目标配置 fimath,C 目标用 Floor/Wrap/KeepLSB,DSP 用 KeepMSB,FPGA 用 hdlfimath;5) 用 zeros(...,'like',...) 预分配 fi 数组;6) 避免定点除法,改用 bitsra 或预计算倒数乘法;7) 用 FunctionApproximation.Problem 生成查表或 CORDIC 替代 sin、cos、sqrt、exp、log;8) 优先使用位置参数或 numerictype 构造 fi;9) 算法保持 double 时用 quantizenumeric 注入量化;10) 隔离高动态范围浮点段,嵌入式优先 single;11) 用 timeit、fiaccel 等做性能分析与加速。
输出格式:按 [PERF]、[CODEGEN]、[CORRECTNESS]、[PATTERN]、[DEBUG] 分类报告,标注行号与对应检查项,仅报告有发现的问题。
限制:资料未提供该技能的安装方式、运行命令、收费与平台信息。