xml2028 发表于 2021-9-10 16:31:53

硬汉 厉害!!!

eric2013 发表于 2021-9-12 10:41:20


2522428130 发表于 2021-9-16 09:16:31

硬汉哥啥时候更新插值部分啊

eric2013 发表于 2021-9-16 10:36:14

2522428130 发表于 2021-9-16 09:16
硬汉哥啥时候更新插值部分啊

自适应滤波器和卡尔曼滤波器章节完毕后

eric2013 发表于 2021-9-20 10:14:45

2021-09-20
更新至第49章

Prince5867 发表于 2021-9-21 23:39:06

您好,ARM-NN的部分什么时候会更新呢?

Prince5867 发表于 2021-9-21 23:40:11

请问下ARM-NN部分什么时候更新啊

eric2013 发表于 2021-9-22 06:50:27

Prince5867 发表于 2021-9-21 23:39
您好,ARM-NN的部分什么时候会更新呢?
明年。DSP部分还有几个关键章节。

xudongqiang 发表于 2021-9-23 11:41:51

data:image/png;base64,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
你好,请问下这个原始波形是ADC的采集值,那这个参考波形是什么的值?

eric2013 发表于 2021-9-24 09:13:17

xudongqiang 发表于 2021-9-23 11:41
你好,请问下这个原始波形是ADC的采集值,那这个参考波形是什么的值?

可以使用第48章的中值滤波器。

zhongzzplf01 发表于 2021-9-30 09:28:57

大佬,第2版DSP数字信号处理教程-第27.5章的 Power Spectrum(dBm)与Power Spectral Density(dBm)是不是有点问题。‪C:\Users\Zhong\Desktop\捕获.PNG

eric2013 发表于 2021-9-30 09:32:58

zhongzzplf01 发表于 2021-9-30 09:28
大佬,第2版DSP数字信号处理教程-第27.5章的 Power Spectrum(dBm)与Power Spectral Density(dBm)是不是有点 ...

这个是力科之前写的一篇帖子里面描述,还有去实际求证过,你见到描述是什么样的。

zhongzzplf01 发表于 2021-9-30 10:11:03

eric2013 发表于 2021-9-30 09:32
这个是力科之前写的一篇帖子里面描述,还有去实际求证过,你见到描述是什么样的。

https://123.physics.ucdavis.edu/week_2_files/tutorial_on_measurement_of_power_spectra.pdf,第21页第一个公式

eric2013 发表于 2021-9-30 10:13:35

zhongzzplf01 发表于 2021-9-30 10:11
https://123.physics.ucdavis.edu/week_2_files/tutorial_on_measurement_of_power_spectra.pdf,第21页 ...

谢谢,后面我求证下,再做再做修改:handshake

zhongzzplf01 发表于 2021-9-30 10:14:44

eric2013 发表于 2021-9-30 10:13
谢谢,后面我求证下,再做再做修改

感谢大佬!!!

tianqi911 发表于 2021-10-28 16:30:49

阿西吧 我看见天上有个太阳 地上有个屌丝。。。在亦步亦趋的追赶。。。

eric2013 发表于 2021-11-1 02:12:05

2021-11-01
更新至第50章

wonderfullook 发表于 2021-11-19 16:46:32

文档打开好慢。会额外丢一个百度云分享吗

eric2013 发表于 2021-11-19 17:06:06

wonderfullook 发表于 2021-11-19 16:46
文档打开好慢。会额外丢一个百度云分享吗

V7板子的网盘里面有,此贴

http://www.armbbs.cn/forum.php?mod=viewthread&tid=91590&extra=page%3D1

xml2028 发表于 2021-12-11 13:41:10

请教ERIC2013,我看教程说
/* 计算1024点FFT
output:输出结果,高16位是虚部,低16位是实部。
input :输入数据,高16位是虚部,低16位是实部。
第三个参数必须是1024。
*/
cr4_fft_1024_stm32(output, input, 1024);
那么请问,输入数据input 必须要转化为16bit吗?比如我是用24bitADC采样的实数来做FFT,调用这个函数时必须要将uint32_t 的结果转化成 uint16_t的数据流吗?

eric2013 发表于 2021-12-11 13:49:37

xml2028 发表于 2021-12-11 13:41
请教ERIC2013,我看教程说
/* 计算1024点FFT
output:输出结果,高16位是虚部,低16位是实部。


这个是ST在10年前做的一个汇编方式。属于去Q15定点格式。

使用实数FFT章节的API。

xml2028 发表于 2021-12-11 14:41:21

eric2013 发表于 2021-12-11 13:49
这个是ST在10年前做的一个汇编方式。属于去Q15定点格式。

使用实数FFT章节的API。

是arm_rfft_fast_f32 吗?

eric2013 发表于 2021-12-11 14:42:09

xml2028 发表于 2021-12-11 14:41
是arm_rfft_fast_f32 吗?

是的。

xml2028 发表于 2021-12-11 14:50:06

eric2013 发表于 2021-12-11 14:42
是的。

谢谢您的解答

xml2028 发表于 2021-12-11 22:27:42

请问硬汉,您在V5-221 实数浮点FFT的例程中定义 的数组变量长度乘以了2,这个是否不用乘以2

/* êäèëoíêä3ö»o3å */
#define TEST_LENGTH_SAMPLES 1024

static float32_t testOutput_f32;
static float32_t testOutputMag_f32;
static float32_t testInput_f32;
static float32_t Phase_f32; /* Ïàλ*/

eric2013 发表于 2021-12-12 00:35:19

xml2028 发表于 2021-12-11 22:27
请问硬汉,您在V5-221 实数浮点FFT的例程中定义 的数组变量长度乘以了2,这个是否不用乘以2

/* êä ...

我这里方便测试,开的比较大,你根据你的实际情况和函数实际需求大小调整下。

xml2028 发表于 2021-12-12 10:52:29

eric2013 发表于 2021-12-12 00:35
我这里方便测试,开的比较大,你根据你的实际情况和函数实际需求大小调整下。

我的,我实际测试一下

小溪733 发表于 2021-12-14 12:31:39

好资料,需要脑补了,高数全忘了

xml2028 发表于 2022-1-7 22:52:25

eric2013 发表于 2021-12-12 00:35
我这里方便测试,开的比较大,你根据你的实际情况和函数实际需求大小调整下。

硬汉,看了你的自适应滤波部分的教程,
void arm_lms_f32_test1(void)
{
uint32_t i;
float32_t *inputF32, *outputF32, *inputREF, *outputERR;
arm_lms_norm_instance_f32 lmsS={0};
for(i=0; i<TEST_LENGTH_SAMPLES; i++)
{
/* 50Hz 正弦波+200Hz 正弦波,采样率 1KHz */
testInput_f32_50Hz_200Hz = arm_sin_f32(2*3.1415926f*50*i/1000) +
arm_sin_f32(2*3.1415926f*200*i/1000);
testInput_f32_REF = arm_sin_f32(2*3.1415926f*50*i/1000);
}

你这个输入的参考信号 和 testInput_f32_REF与实际采样信号testInput_f32_50Hz_200Hz里面的有用信号,相位是相同的,我想问一下,此处如果有相位差,会影响自适应滤波结果吗,比如testInput_f32_REF = arm_sin_f32(2*3.1415926f*50*i/1000 + 3.1415926f/3 );

lsx007 发表于 2022-1-13 11:24:05

楼主 我想请问下,fir滤波器系数生成这块有c语言代码嘛。我看你的教程系数是用matlab生成的。我可能要在线调节滤波器参数,每次都用matlab生成也不方便啊。

eric2013 发表于 2022-1-13 11:29:40

xml2028 发表于 2022-1-7 22:52
硬汉,看了你的自适应滤波部分的教程,
void arm_lms_f32_test1(void)
{


会,可以适当调整步进

eric2013 发表于 2022-1-13 11:30:26

lsx007 发表于 2022-1-13 11:24
楼主 我想请问下,fir滤波器系数生成这块有c语言代码嘛。我看你的教程系数是用matlab生成的。我可能要在线 ...

FIR和IIR经典滤波器就是这样的,你可以生成多组参数,传递过去,然后调试。

lsx007 发表于 2022-1-13 13:13:50

eric2013 发表于 2022-1-13 11:30
FIR和IIR经典滤波器就是这样的,你可以生成多组参数,传递过去,然后调试。

好的,谢谢了

pspice 发表于 2022-1-13 15:06:56

提交一个错字报告:V7版,P528,中间有一句:“三个文件夹里面都是如下几个文件,只是用于不用的编译器”
应该是“用于不同的编译器”吧:)

eric2013 发表于 2022-1-14 09:48:59

pspice 发表于 2022-1-13 15:06
提交一个错字报告:V7版,P528,中间有一句:“三个文件夹里面都是如下几个文件,只是用于不用的编译器”
...

谢谢告知,我记录下。

jamiliang 发表于 2022-1-28 16:20:55

安富莱_STM32-V7开发板_第2版DSP数字信号处理教程(V2.7) 第282页 Power应翻译为 幂,次方(数学领域),望周知。

eric2013 发表于 2022-1-28 16:54:28

jamiliang 发表于 2022-1-28 16:20
安富莱_STM32-V7开发板_第2版DSP数字信号处理教程(V2.7) 第282页 Power应翻译为 幂,次方(数学领域), ...

这个问题之前还讨论过一次,翻译成幂也不太准确。他就个各个值的平方累加。

Result = pSrc * pSrc + pSrc * pSrc + pSrc * pSrc + ... + pSrc *
pSrc;

jamiliang 发表于 2022-1-28 20:40:22

eric2013 发表于 2022-1-28 16:54
这个问题之前还讨论过一次,翻译成幂也不太准确。他就个各个值的平方累加。

Result = pSrc * pSrc[ ...

似乎放在统计学里中文译作功效(R语言实战),好像和函数定义也没关系
但是貌似和功率的意思相差的感觉更远;P

jamiliang 发表于 2022-1-28 20:54:05

eric2013 发表于 2022-1-28 16:54
这个问题之前还讨论过一次,翻译成幂也不太准确。他就个各个值的平方累加。

Result = pSrc * pSrc[ ...

Description
Calculates the sum of the squares of the elements in the input vector. The underlying algorithm is used:

    Result = pSrc * pSrc + pSrc * pSrc + pSrc * pSrc + ... + pSrc * pSrc;
There are separate functions for floating point, Q31, Q15, and Q7 data types.

Since the result is not divided by the length, those functions are in fact computing something which is more an energy than a power.

看样子自己都裂开了

xidian123 发表于 2022-2-9 09:07:00

硬汉你好,DSP数字信号处理教程第416页最下面的公式,傅里叶逆变换指数因子项应该是没有负号的。
页: 1 2 3 4 [5] 6 7
查看完整版本: 事隔五年之后,开启第2版DSP数字信号处理和CMSIS-NN神经网络教程,同步开启三代示波器,更至50章(2021-11-01)