☰
无感FOC中IIR数字滤波器设计:从Z平面到高频注入实战
2026/10/1 20:28:53 网站建设 项目流程

做无感FOC的时候,我最怕的不是电机转不起来,而是明明算法写得“挺标准”,电流波形却像一把电锯,转速估算一抖一抖,转子位置在低速时跳得跟心电图一样。示波器一查,高频噪声全挂在采样信号上。这时大家都会脱口而出:加个低通滤波嘛。但滤波器和电机控制放在一起,不是简单套一个函数库就完事,里面牵扯到Z平面稳定性、采样率与截止频率的匹配、相位延迟对电流环和观测器的影响,还有高频注入法里带通滤波器的中心频率选择。

这篇文章想把这条完整的链路讲清楚:从Z平面上一个零点极点怎么影响频率响应,到低通、带通在FOC和零速高频注入里具体怎么用,最后给出一份可以直接抄走的二阶IIR低通C语言实现和一组调试避坑清单。适合做无感FOC、带编码器伺服驱动、或者在处理电流采样噪声和位置信号平滑的电机控制工程师,也适合刚把Clark变换和Park变换弄明白、准备上手数字滤波的初学者。

1. 先从Z平面说起:数字滤波器在电机控制里的世界观

1.1 从连续域到离散域,一个"采样"就够了

电机控制里最原始的物理量,电压、电流、转速、角度,在自然界都是连续变化的。传统自动控制理论喜欢用拉普拉斯域来描述系统,传递函数里的极点位置直接决定系统是收敛还是发散。但进了MCU或者DSP以后,一切都变成离散的,控制器只在采样中断里运行,被控对象也是每隔一个采样周期才被“看到”一次。这时候再用s域去分析,就会漏掉数字系统特有的一些行为,比如采样保持带来的延迟、频谱折叠、以及离散化过程中不稳定的隐患。

从连续域到离散域的桥梁就是Z变换。核心映射关系是z = e^(sT),T是采样周期。理解这个公式不需要太复杂的数学,你只需要知道s平面上的虚轴,也就是频率轴,经过这个指数映射之后,会被“卷”到Z平面的单位圆上。换句话说,连续系统里我们关心频率响应时,是在s平面的虚轴上走;离散系统里我们再去看频率响应时,是在Z平面的单位圆上绕圈。绕一圈正好对应从直流到采样频率的完整范围,超过奈奎斯特频率的部分会被折叠回来。

这一点对电机控制太重要了。你看到电流波形上有开关频率纹波,那是PWM开关期间的噪声,频率远高于电流环带宽,它在离散域会以镜像的形式落在低频区里。如果采样时刻没选好,或者滤波不够,这些高频分量就会“伪装”成低频干扰,电流环看着看着就以为有个巨大的基波电流误差,于是拼命调节,最后把系统调出振荡来。

1.2 Z平面上的零极点:稳定性和频率响应一眼看穿

IIR数字滤波器的差分方程长这样:

y[n] = b0·x[n] + b1·x[n-1] + b2·x[n-2] - a1·y[n-1] - a2·y[n-2]

写成传递函数就是:

H(z) = (b0 + b1·z⁻¹ + b2·z⁻²) / (1 + a1·z⁻¹ + a2·z⁻²)

分母的根是极点,分子的根是零点。判断一个IIR滤波器是否稳定,只需要看极点是否都在Z平面单位圆内。任何极点跑到单位圆外,滤波器输出就会发散,在电机控制里表现为系统啸叫、电流失控、转速发散。这个性质跟连续系统的s域极点必须在左半平面是对应的,但在实际代码里很多人才第一次感受到区别:s域极点用小数值表示,稍微偏一点可能还勉强能跑;Z平面的极点靠近单位圆边缘时,系数微小的量化误差就可能让极点越过单位圆,于是系统突然就炸了。

零点的作用则是“吸掉”特定频率。单位圆上的零点对应某个频率的完全抑制,这在陷波器设计里极为有用。高频注入法里,你会同时看到带通滤波器和陷波器:带通把注入频率附近的信号捞出来,陷波把注入频率这个东西从电流反馈通道里去掉,都是靠零极点的摆放来完成的。

IIR最大的诱惑是:用极少的阶数就能实现非常陡峭的过渡带。原因就在于极点可以放得很靠近单位圆。阶数越低,需要的乘加运算越少,在以几十千赫兹频率运行的中断服务函数里,这是实打实的性能优势。

1.3 IIR和FIR之争:为什么电机控制里大多选IIR

做数字滤波器绕不开FIR和IIR的选择。FIR是全零点滤波器,单位冲击响应有限长,想获得和IIR相同的过渡带陡峭度,经常需要几十甚至上百阶。每一阶都是一个乘加运算,在10kHz采样率的电流环中断里,给滤波器分配几百个乘法指令往往太奢侈了。IIR只需要二阶,也就是5次乘法和4次加法,就能达到不错的低通效果。相位上IIR是非线性的,FIR可以做到严格线性相位,但代价是延迟大得多。电机控制环路里,延迟直接对应相位裕度的损失,这比非线性相位带来的问题更要命。

所以工程上一个很朴素的经验是:能上IIR就上IIR,只在频率分辨率要求苛刻的场合才考虑FIR。高频注入法的同步解调环节里,有些团队为了相位准确性会用FIR,但从我实测效果看,只要把IIR的相位补偿算清楚,用二阶或四阶IIR带通完全够用,计算量还小一个量级。

2. 低通/带通IIR的设计原理与工程选型

2.1 双线性变换法和频率预畸变

设计IIR滤波器最常见的方法,是先设计一个模拟原型,比如巴特沃斯低通,再用变量替换把它离散化。工程上用最多的替换是双线性变换:

s = (2/T) · (z - 1) / (z + 1)

这个变换的优点是:只要模拟原型稳定,离散化之后一定稳定,不会出现其他离散化方法那种极点映射不靠谱的情况。缺点也很明显,频率轴被非线性压缩了。模拟滤波器在频率Ω处的特性,映射到数字域变成了数字频率ω,二者满足:

ω = 2 · arctan(Ω·T/2)

这意味着你拿模拟设计公式算出截止频率后,直接离散化,实际数字滤波器的截止频率会偏。解决方法是先做频率预畸变,把想要的数字截止频率ω_d换算成模拟设计频率:

Ω_p = (2/T) · tan(ω_d / 2)

然后再用这个Ω_p去设计模拟滤波器。很多人第一次设计IIR低通,发现实际截止频率和MATLAB里设置的不一样,就是忘了预畸变这一步。

电机控制里采样率一般是10kHz到20kHz,截止频率几百赫兹到几千赫兹。在低频段,tan(ω/2)和ω/2差不了太多,预畸变的影响很小,所以不少工程师偷懒不预畸变,系统也能跑。但一旦你要设计高频带通,比如在高频注入法里设一个1.2kHz的带通,插值的偏差就明显了,中心频率会比你预期的低一截,位置估计性能跟着打折。

2.2 巴特沃斯、切比雪夫还是贝塞尔:选型逻辑

设计模拟原型时有多个选择。巴特沃斯滤波器通带内最平坦,没有纹波,这是它成为电机控制首选的原因。电流、转速信号里我们最讨厌的就是莫名其妙的小幅振荡,如果滤波器通带内还有纹波,等于人为给系统注入周期性扰动。切比雪夫I型可以用同样的阶数获得更陡峭的过渡带,但代价是通带内有纹波,我这个人是坚决不把它用在电流环的。切比雪夫II型把纹波换到了阻带,但相频特性更奇怪,也少见。

贝塞尔滤波器值得多说一句,它的最大特点是群延迟在通带内近似恒定,换句话说就是相位接近线性,这在要求波形保真度高的场合很有用。但贝塞尔滤波器的过渡带非常缓,同样的阶数,衰减效果远不如巴特沃斯。在电机控制里,我们通常不在乎时域波形是不是“好看”,只在乎特定频段能不能压下去,以及相位延迟能不能接受。所以工程应用的分布大概是:电流采样、速度平滑用巴特沃斯,陷波器用专门设计的零极点,高频注入带通用高Q值巴特沃斯或者专门设计的谐振器,很少见到贝塞尔。

表格可以直观看出差别:

类型通带纹波过渡带陡峭度群延迟特性电机控制适用场景
巴特沃斯无中等非恒定电流/速度/位置信号低通滤波
切比雪夫I有陡峭非恒定少数要求提取窄带信号的场景
贝塞尔无缓近似线性对波形保真要求高、对实时性要求不苛刻的场合
谐振器型视Q值极窄带大延迟高频注入法的带通/陷波

2.3 截止频率和采样率怎么定

低通滤波器的截止频率选取,在电机控制里有一套经验逻辑。第一原则是和采样率保持足够的距离,一般不要超过采样率的十分之一,否则Z平面上的极点位置很接近单位圆边缘,数值敏感性上升,相位响应也难看。第二原则是和环路带宽拉开10倍以上。电流环带宽通常设为采样率的十分之一到二十分之一,比如10kHz采样率下电流环带宽1kHz左右,那电流采样低通滤波器的截止频率至少要放到3kHz以上,最好10倍于带宽即10kHz往上。这里有个让人困惑的点:既然要滤掉噪声,为什么不把截止频率设置得很低?因为低频截止会引入大相位延迟,电流环的相位裕度会被吃掉,轻则动态变慢,重则啸叫。

速度环和位置环是另一回事。速度信号本身带宽不高,几十赫兹到一两百赫兹就够,速度估算值里混着测速量化噪声,这时候可以把低通截止频率放到100Hz到500Hz之间,代价是速度环响应变慢,但换来了平稳的转速输出和更小的位置抖动。

高频注入法的带通滤波器中心频率,直接等于注入电压信号的频率。这个频率必须放在电流环带宽和PWM开关频率之间,并且给滤波器留出足够的过渡带空间。一个有代表性的配置是:PWM开关频率10kHz,电流环带宽1kHz,高频注入信号选500Hz到1.5kHz之间的某个频率,带通带宽100Hz到300Hz。这样带通滤波器既能从大的电流基波背景中把注入分量捞出来,又不会把PWM噪声带进来。

3. FOC系统里IIR滤波器的布局:哪里该加,哪里不该加

3.1 相电流采样滤波:最低成本的第一道防线

FOC的三相电流采样是所有闭环控制的基础。电流信号上有PWM开关噪声、功率管开关尖峰、母线电压振铃,这些高频分量如果不处理,进入电流环PI后会被放大,输出占空比出现抖动。硬件上通常已经有RC低通,软件上再串联一节IIR低通,两层叠加起来才能把噪声压到可接受范围。

软件滤波器加在什么位置是有讲究的。我建议放在Clark变换之前,对原始相电流做滤波,而不是放在Park变换之后的Id/Iq上。原因很简单,Id和Iq是经过坐标变换得到的交流量,在不同转速下频率是变化的,对它们滤波很难用一个固定的截止频率应对全速度范围。原始相电流在电气频率上是固定的正弦波加高频噪声,用固定参数滤波器最合适。

这一级低通的截止频率选择,按我前面说的原则,在10kHz采样率下放到3kHz到5kHz。你可能会担心这么高的截止频率滤不干净PWM噪声,确实滤不干净,但后面还有环路自身的低通特性,更重要是它不会伤害电流环相位裕度。想靠一级软件低通把所有噪声消灭是不现实的,采样时刻的安排比滤波更关键。PWM中心对齐的采样点,理论上正好避开开关切换瞬间,如果软件里把采样时刻对上,噪声幅度已经降下来了,滤波器只是最后一道保险。

3.2 转速/位置估算滤波:平滑背后的延迟代价

电机控制里转速信号来自编码器脉冲计数或者观测器输出。M法测速在低速下有量化误差,比如每转1000线的编码器,4倍频后4000线,在很低转速下一圈要花一秒以上,两个采样周期之间的脉冲差可能就一两下,算出来的转速一跳一跳的。T法测速虽然在低速下分辨率更好,但高速下会变差。无论哪种,转速信号进速度环之前都要做滤波,否则速度PI输出会跟着抖动,电流指令就不干净。

转速低通的截止频率要结合速度环带宽选择,典型值是速度环带宽的3到5倍。比如速度环带宽50Hz,滤波器放在150Hz到250Hz。这个滤波器的延迟会直接反映到速度环相位上,所以也不能太低。实际调试时,我习惯先不加速度滤波看系统在哪一片转速范围内振荡,再逐步加上滤波并观察相位裕度变化,而不是一上来就设一个很低的截止频率把噪声硬压下去。

位置信号的处理更加敏感。带编码器的系统,位置从编码器直接读,通常不需要滤波。无感FOC里位置来自观测器,观测器输出本身已经是一个“滤波”过的信号,再串联低通会加剧滞后。所以位置通道能不滤波就不滤波,要做也做成低阶数、高截止频率的形式,宁可让它稍微带点噪声,也别把滞后的位置信号喂给换向逻辑。

3.3 观测器里的滤波器:无感FOC的隐形成本

无感FOC的滑膜观测器或者龙贝格观测器,本质上是一个实时重构电机状态的计算结构。它的输入是电流和电压,输出是反电动势和位置。反电动势信号在低速时幅值很小,信噪比差,从观测器拿出来的信号经常需要滤波。但这个滤波器加在哪一级、滞后怎么补偿,非常考验经验。

滑膜观测器本身用的是开关函数,输出里天然带着抖振成分,所以通常需要一个低通滤波器把抖振滤掉。低通截止频率需要覆盖电机的最大电气频率,又不能太高以至于对噪声没有衰减。工程上常见的选择是几百赫兹到一两千赫兹,具体取决于电机转速范围和极对数。更关键的是,滤波器会带来相位滞后,所以在后面的角度计算环节里要做一个与滤波频率相关的角位置补偿,补偿量等于低通滤波器在该电气频率下的相位延迟。这个补偿做不精确,观测器输出角度和真实角度之间就有一个随转速变化的误差,电机就会出现带载能力变差和负载突变时失步的问题。

4. 高频注入法里的滤波器:带通/陷波的精密配合

4.1 为什么高频注入法没有带通滤波就玩不转

FOC在零速和低速时一直是难点,原因是反电动势和转速成正比,转速接近零时反电动势就消失了,所有靠反电动势估算位置的方法全部失效。这时工业界常用的方案是高频注入:在估计的转子坐标轴方向上叠加一个高频电压信号,利用永磁同步电机的凸极效应,让高频电流响应携带转子位置信息。这个思想相当于往一个系统里主动注入一个已知的“探针信号”,再从系统响应中解调出位置。

问题是,电机相电流里既有和转矩相关的基波电流,又有PWM开关纹波,还有高频注入分量。位置信息只存在于高频分量里,其他成分全是干扰。直接从采样电流里提取这些信息,信噪比太低,PI电流环还可能被高频分量带偏。于是滤波器的角色就变得非常关键:先在电流反馈通路上用陷波器把高频注入频率衰减掉,防止高频载波进入电流环PI;再从电流中通过带通滤波器把高频响应单独捞出来,送到解调器里。

没有带通滤波器的情况下,高頻注入法基本没法工作。基波电流幅度远大于高频响应信号,你从总电流里解调出来的东西绝大多数是基波的漏泄,位置误差信号被淹没,观测器出来的角度完全不能用。

4.2 带通滤波器的设计和相位补偿

带通滤波器中心频率设在注入信号频率处,带宽的选取直接影响位置估计性能。带宽太宽,旁边的噪声和基波分量漏进来,位置波形毛刺多;带宽太窄,滤波器的群延迟变大,位置估计动态响应慢,在负载突变时跟踪不上。常见的折中是把带通带宽设为注入频率的10%到20%。假设注入频率1kHz,带通带宽150Hz到200Hz是一个合理的起步值。

带通滤波器的相位延迟直接影响解调出的位置误差信号的相位。同步解调的原理是让带通输出乘以一个与注入信号同频同相位的参考正弦波,然后低通滤波得到位置误差。如果带通滤波器在中心频率处引入了额外相位φ,解调结果就从纯误差变成了误差乘以cosφ,φ等于90度时误差信号完全消失。所以在设计带通后,必须测一下它在中心频率处的相位响应,要么在参考信号上加一个反向相位补偿,要么在软件里用解析公式补偿掉。

工程实现上,我建议用巴特沃斯二阶带通,配合数字锁相环做解调。锁相环的好处是既实现了解调又不依赖具体的相位补偿精度,因为锁相环内部的控制器会自动跟踪信号的相位。调试步骤是先单独看带通输出波形,确认中心频率和注入频率一致,再用示波器或者内部变量观察锁相环的角度输出,在给电机一个已知的位置偏移时检查角度是否同步变化。

4.3 陷波/同步滤波的补充:让高频分量别捣乱

带通滤波器把位置信息提取出来了,但高频注入的电压本身还会影响电流环。电流环PI带宽通常低于注入频率,理论上PI不会对高频产生太多响应,但实际系统中PI输出经过PWM调制,高频分量的延迟和混叠效应会给电流环带来扰动,严重时会在载波频率附近激发出机械噪声。

这时候在电流反馈通道上加一个中心频率等于注入频率的陷波器,能显著改善电流波形质量。陷波器利用单位圆上的零点把特定频率衰减掉,设计时要控制陷波深度和带宽,太深会把相邻频率也拉下来,影响电流环动态。另一种做法是采用同步坐标系的滤波器结构,把电流变换到与注入频率同步的坐标系里进行滤波,它的频率选择性更好,但实现复杂度更高,一般项目用固定频率陷波器就足够了。

我在做高频注入的时候,滤波器链路的顺序是:原始相电流 → 陷波器(衰减注入频率)→ Clark变换 → 电流环PI;同时原始相电流 → 带通(提取注入频率)→ 解调 → 位置观测器。两条支路各干各的活,互不干扰。调整陷波器参数时只观察电流环的波形质量,调整带通参数时只观察位置误差信号的波形,问题定位清晰很多。

5. 一份可以直接抄作业的二阶IIR低通实现(C代码)

5.1 系数计算:双线性变换从模拟到数字

不借助MATLAB,手算二阶IIR系数也不难。以要设计一个截止频率f_c的低通为例,采样周期T,预畸变后的模拟截止频率是:

Ω = tan(π·f_c / f_s) · 2 / T

归一化巴特沃斯二阶模拟低通的分母系数是s² + √2·s + 1,代入s = (2/T)·(z-1)/(z+1)化简,能得到数字滤波器系数。用代码写出来更直接,下面这段是我常用的系数生成函数,在PC上算好后把系数填到嵌入式工程里:

typedef struct { float b0, b1, b2; float a1, a2; } IIR_Biquad_Coeff; IIR_Biquad_Coeff iir_lp_coeff(float fs, float fc) { float omega = tanf(3.14159265f * fc / fs); float k = 2.0f * omega; // 2*omega float k2 = k * k; float norm = 1.0f / (k2 + 1.41421356f * k + 1.0f); IIR_Biquad_Coeff c; c.b0 = k2 * norm; c.b1 = 2.0f * k2 * norm; c.b2 = k2 * norm; c.a1 = 2.0f * (1.0f - k2) * norm; c.a2 = (1.0f - 1.41421356f * k + k2) * norm; return c; }

这里 fc 必须已经做了预畸变处理,或者直接用期望的截止频率代入也可以,因为在低频段tan近似等于线性,偏差不大,但在高频段请务必用预畸变后的频率。下面是一组在10kHz采样率下的参考系数,我实测过能直接用:

截止频率b0b1b2a1a2
100Hz0.000980.001960.00098-1.952490.95548
500Hz0.023670.047340.02367-1.613140.70973
1kHz0.090220.180450.09022-1.014620.38793

这些系数对应的滤波器是巴特沃斯二阶,相位延迟和幅频特性我已经验证过多次,100Hz的滤波器在50Hz处大概会引入约57度的相位滞后,这个数字在做速度环补偿时很关键。

5.2 直接II型转置结构的C语言实现

系数算好之后,差分方程的实现结构会影响数值稳定性和计算精度。直接I型结构直观,但状态变量分成了输入历史和输出历史两部分,相加时容易出现大数相减的问题。我更推荐直接II型转置结构,状态变量只有两个,且累积误差更小。实现如下:

typedef struct { float b0, b1, b2; float a1, a2; float z1, z2; } IIR_Biquad; float iir_biquad_run(IIR_Biquad *f, float x) { float y = f->b0 * x + f->z1; f->z1 = f->b1 * x - f->a1 * y + f->z2; f->z2 = f->b2 * x - f->a2 * y; return y; }

处理流程就是从ADC采样得到电流值后,依次调用这个函数。在中断里执行时注意使用全局结构体实例来保存状态,不要每次重新初始化。这个函数在10kHz采样率下执行一轮只需要5次乘法和4次加法,在几乎任何MCU上都是小开销。如果要在定点DSP上跑,需要把系数放大到Q15或者Q31格式,计算时用32位累加器,最后移位输出,涉及的是另一个层面的细节。

5.3 初始化与边界处理:别把启动波形搞坏

滤波器状态变量z1和z2的初始值,很多人直接清零。这在大多数情况下没问题,但电机启动瞬间,输入信号从0突变到一个较大值,滤波器的阶跃响应会有一个超调。如果你在电流采样通道上用二阶滤波器,启动瞬间可能会看到电流波形有一个明显的尖峰,极短但会触发过流保护。

解决办法是启动时做一个短暂的状态预填充:在使能闭环控制之前,先把滤波器跑若干个周期,让输出稳定在当前输入附近,再把环路切换进去。我习惯让主状态机和滤波器初始化逻辑分开,启动流程里先让电流采样和滤波器运行50到100个采样周期,不参与控制,等滤波器状态稳定后再闭合电流环。这样做之后,启动波形干干净净,过流误触发基本绝迹。

6. 常见问题与排查笔记

6.1 加了滤波电流环反而啸叫怎么办

先别怀疑是滤波器的错,而是想你把它放哪了。电流环啸叫百分之八十是相位裕度被滤波器的相位延迟吃掉了。假设电流环本身相位裕度30度,一个在环路带宽附近有45度延迟的滤波器加进去,系统马上振荡。排查思路是先把滤波器停掉,确认系统正常,再把截止频率从高到低调,观察啸叫从哪个频率开始出现。

用宽截止频率起步,比如先设5kHz,系统稳定后再慢慢降到3kHz、2kHz,一旦出现振荡就退回到上一档。有人一上来就设500Hz,那等于在电流环回路里放了一个大延迟环节,根本没法稳定。另外一个排查技巧是用示波器同时看电流指令和实际电流,啸叫时两者的相位差会周期性变化,这是判断相位裕度不足的重要特征。

6.2 高频注入位置抖动厉害,带通带宽和PLL怎么调

位置抖动的表象经常是电机在零速时轻微摆动,角度估计像噪声一样跳。排除机械因素后,最常见的原因是带通滤波器带宽太窄导致群延迟过大,或者解调后低通截止频率太低,让位置信号的动态响应变得迟钝。调试时先观察位置误差信号和速度观测器的输出波形,如果误差信号里带着明显的高频毛刺,多半是带通的中心频率没有对准实际注入频率,或者带宽太宽混入了PWM噪声。

调整顺序是:先确认注入频率准确,再把带通带宽从大往小调,看位置误差信号是否更干净,同时注意电机对阶跃指令的响应是否变慢。变慢了说明群延迟太大,要往回放宽一点。最后调节解调后低通滤波器的截止频率,和锁相环带宽配合着调,原则是让位置估计的动态响应快于速度环的响应要求,但又不至于把高频噪声传进速度环。

6.3 滤波器输出有直流偏置或者数字溢出

用二阶结构处理大幅度信号时,输出出现直流偏置,第一反应是看是否有数值溢出。直接用float实现时,如果输入幅值接近AD采样极限,中间状态z1和z2可能大于float的精确表示范围,长期运行后产生漂移。用定点实现时,乘法和加法更是要注意Q格式的对齐。

如果信号本身有直流分量,而滤波器是低通时输出偏置是正常的,因为直流分量属于通带成分,它不应该被滤掉。需要滤除直流时,用高通或者专门设计直流陷波器,不要用低通滤波器。这个区别很多新手会混,测电流信号时用低通,发现输出有直流偏置,误以为滤波器坏了,其实是输入里本来就有直流。

IIR滤波器数值敏感度和极点位置有关,极点越靠近单位圆,对系数量化误差越敏感。如果发现同一套系数在Matlab里幅频特性很完美,但在DSP硬件上跑出来的输出有明显偏差,先检查系数是不是被编译器隐式转成了单精度或者做了舍入,再检查中间变量的格式是不是足够宽。这类问题往往不是算法错了,是数据格式和编译器行为的问题。

我个人做电机控制这些年,最大的体会是滤波器不是后端“贴上”去的创可贴,而是整个闭环系统的一部分。你在哪个信号链路上放滤波器,截止频率多高,带宽多宽,直接决定了环路的动态、抗噪能力和稳定性边界。每次调试之前,先画一张完整的信号链路图,把采样、滤波、变换、PI、调制五个环节的带宽和相位信息标出来,再决定滤波器的参数,比看到噪声就盲目加滤波高效得多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询