《MCSDK5.X中增加位置环》提及mc_position.c/mc_position.h
STM32G473 DRDY不置位?
stspin32G4这颗mcu里面集成的是哪一款G4?能不能用cubemx来进行配置
STM32G473是否支持硬件AES?
STM32G473VET6同时使用6个片上放大器(OPAMP)的PGA加外部偏置模式,引脚位置让差分信号走线分离,信号有无较大影响?
stm32G474的flash模式如何判定?single bank 和dual bank
STM32G474 ADC无法正常启动转换
STM32G474 HRTIM无法正常触发ADC
STM32G431RB,变量接受不到串口发下去的数据
foc电流环无法正确维持Iq在自己设定的数值。
事例展示的是变动滤波器系数的过程,处理的数据一帧一帧的方式,针对2个谐波的数据,采用的是第一组系数,过滤掉2个谱线的噪声,针对3个噪声的数据,假如能自适应算出新的系数,比如分析fft等再求出系数,那么用新的系数滤除带有3个谱线噪声的数据,体现自适应的特点。例子中设定2个数组放缓冲数据,表明在处理过程中,可以加载下一帧要处理的数据,体现协处理器的特点,两组系数怎么得到,文中未提,认为笔者可以通过其他算法计算得出,不是这里的重点。
有个例子可以参考,网上搜AN5305有相关的文档说明
.\STM32Cube\Repository\STM32Cube_FW_G4_V1.5.1\Projects\NUCLEO-G474RE\Examples\FMAC\FMAC_Adaptive_FIR_AN5305
可以先用matlab设计fir滤波器,利用内置的fmac外设实时滤波啊
1、做ADC前记得做校准;
2、采样时间在不影响性能前提下尽量设置长点;
3、电源尽量尽量稳定;
4、被测试信号脚尽量远离干扰,尽量避免旁边存在电平频繁跳变的管脚;
5、必要时做些数字滤波处理也是可以的;
干扰似乎是个周期性且有规律的 因为做平均后数据趋于稳定 一定有什么数字算法可以处理掉 将需要的数据完整的分离出来
[md]校准过
采样时间也加到247.5
示波器可以看到干扰是来自金升阳的DC-DC K7805模块 查手册刚好是50mV
想请教有什么数字算法滤波可有效分离出准确数据
请教下 fir可以用自适应滤波器替换么? 或者说自适应滤波器如何使用FMAC?
[md]我在读这个例程,有些疑惑请教您。
/* Fill first frame with input signal and zero the other frame */
/* Normally samples would come from ADC or other source, in this example the */
/* same data is reloaded from Flash */
for (Index=0; Index<ARRAY_SIZE; Index++)
{
aInputValues[0][Index] = TwoToneNoise[Index];
aInputValues[1][Index] = 0;
}
/* generate filter coefficents (in this example they are simply read from flash */
for (Index=0; Index<COEFF_VECTOR_B_SIZE; Index++)
{
aFilterCoeffB[Index] = TwoToneFilter[Index];
}
/* While processing is going on, fill next frame with input signal */
/* Normally samples would come from ADC or other source, in this example the */
/* data are loaded from Flash */
for (Index=0; Index<ARRAY_SIZE; Index++)
{
aInputValues[OldFrame][Index] = ThreeToneNoise[Index];
}
/* Update filter coefficients for next frame */
/* Normally this would be done by the adaptive algorithm, in this example the */
/* coefficients are loaded from flash */
for (Index=0; Index<COEFF_VECTOR_B_SIZE; Index++)
{
aFilterCoeffB[Index] = ThreeToneFilter[Index];
}
这是例程中函数的2段参数入口。不太明白这2个参数入口的含义,也不太明白例程设置2个是为了什么呢?如果我只有一个ADC数据采集使用FMAC是否删掉其中一个就可以?如果我有3个ADC数据采集都想使用FMAC又该如何呢?
[md]谢谢您的点拨,给我如何参考这段代码指明的方向,非常感谢您!