M兼容运行 cfirpm 函数代码一直卡住
技术分享
发布于 2025-07-10 10:34:54
查看 1过去327天
问题现象
M 兼容运行 cfirpm 函数代码一直卡住。

解决方法
代码中使用了非常高的采样频率 fs=99e6(99,000,000)会导致尝试设计一个长度为99,000,001的滤波器,需要约 792MB 内存(仅存储系数),但算法内部计算(如矩阵运算)会消耗数 TB 级内存,远超普通电脑能力。
阶数改成 10 后软件可以跑通,且第二次运行会快很多。
fs = 99e6;
d_factor = 8;
f_coef = cfirpm(10,[-fs/d_factor -3e6 -2e6 0e6 1e6 fs/d_factor]./(fs/d_factor),[0 0 1 1 0 0 ], [5 5 95])

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境