dongzhiqing 发表于 2023-4-5 21:03:04

理解积化和差公式=傅里叶变换,如此简单实用

傅里叶变换折磨了我好久,直到发现这不就是之前三角函数的积化和差公式吗?理解积化和差公式+理解交流信号累加结果为0,傅里叶变换变得如此简单实用。

学习和掌握傅里叶变换,关键是要掌握傅里叶变换结果和原始数据的对应关系,从傅里叶变换结果中获取原始信号的频率、幅度、相位和其他信息。

希望我自己琢磨的这个思路,能帮助大家理解和运用傅里叶变换。

https://www.bilibili.com/video/BV1Ng4y1g7Tj/


lhj200304 发表于 2023-4-5 21:23:54

看不到了,重新发一下链接

rclong 发表于 2023-4-5 21:24:10

你这连接访问不到视频

dongzhiqing 发表于 2023-4-5 22:00:17

lhj200304 发表于 2023-4-5 21:23
看不到了,重新发一下链接
(引用自2楼)

谢谢提醒,可能刚刚还在审核。现在可以了。

dongzhiqing 发表于 2023-4-5 22:00:29

rclong 发表于 2023-4-5 21:24
你这连接访问不到视频
(引用自3楼)

现在可以了,谢谢!

lyl1070 发表于 2023-4-6 11:29:14

我就想知道,我得到AD采样一串数组比如buff。
怎么把指定频率比如50Hz的交流分量的幅值提取出来。
怎么把直流分量也提取出来。

t3486784401 发表于 2023-4-6 15:33:20

lyl1070 发表于 2023-4-6 11:29
我就想知道,我得到AD采样一串数组比如buff。
怎么把指定频率比如50Hz的交流分量的幅值提取出来。
怎么 ...
(引用自6楼)

按步骤说就是 FFT,然后获得一个 长度的复数数组。
该复数数组是用 32 个周期依次缩短的 exp(jwt) 与 buff 积分平均所得。

周期无穷大,对应直流分量

周期小一些,对应【采样率*1/32】频点的分量

...

周期最小,对应【采样率*31/32】频点的分量

-----------------------------------------------------------------------------

你要 50Hz 的成份,就要算下当前采样率下,第几个频点对应 50Hz.

dongzhiqing 发表于 2023-4-6 22:03:21

lyl1070 发表于 2023-4-6 11:29
我就想知道,我得到AD采样一串数组比如buff。
怎么把指定频率比如50Hz的交流分量的幅值提取出来。
怎么 ...
(引用自6楼)

可以耐心看完我的视频,肯定会有收获。您这个不一定需要傅里叶变换。一些简单的求和运算、三角函数运算就能搞定。

akey3000 发表于 2023-4-6 23:36:52

学过,不用就搞忘了

maxking 发表于 2023-4-7 08:13:37

看不明白,读书时学过忘记了。还需要哪些基础知识?

king风 发表于 2023-4-10 15:47:50

点开才发现已经关注楼主了!

dongzhiqing 发表于 2023-4-10 21:06:46

maxking 发表于 2023-4-7 08:13
看不明白,读书时学过忘记了。还需要哪些基础知识?
(引用自10楼)

三角函数就行

dongzhiqing 发表于 2023-4-10 21:06:59

king风 发表于 2023-4-10 15:47
点开才发现已经关注楼主了!
(引用自11楼)

咱们都是爱学习的人

下一页 发表于 2023-4-11 22:54:09

本帖最后由 下一页 于 2023-4-11 23:00 编辑

两个信号相乘,就是线性代数里的点积,点积的物理意义是两个向量的相关性,傅里叶变换本身的目的是用正弦波去在信号中找跟自己有关的部分,表现出来的是正弦波×正弦波,也就是楼主说的积化和差。

下面的程序是用MATLAB展示傅里叶变换的本质,就是挨个用各种频率的正弦波和余弦波(两个信号正交)去和信号做乘法(积化和差),乘法的结果是原始信号在这个频率下的信号幅度是多少,分别是实部和虚部。
Fs = 5000;            
    T = 1/Fs;            
    L = 1024; %取样点数         
    t = (0:L-1)*T;      
S =pi* (sin(2*pi*50*t)+0.33*sin(2*pi*150*t) + 0.2*sin(2*pi*250*t)+0.13*sin(2*pi*350*t)+0.11*sin(2*pi*450*t))/4;%目标信号
%S=sin(2*pi*50*t)
subplot(411);

plot(t,S,'r')
xlabel('时间轴')
ylabel('电压轴')
title('时域图像')
S1=0+1.5*S+0.5*rand(1,L);%加了噪声的目标信号,这个应该是采集来的信号。
hold on%表示不改变原有图像,将 在原有图像基础上绘制新图像
plot(t,S1,'b')%增加横坐标t,否则坐标显示是1-n,这样显示是每个时间点
grid on%打开网格
r=zeros(1,L/2+1);%L个取样点,分辨出来的频率是L/2+1
x=zeros(1,L/2+1);
for f=1:1:L/2+1
SIN1=sin(2*pi*(f)*t);%对应频率的正弦
COS1=cos(2*pi*(f)*t);%对应频率的余弦
r(f)=abs(dot(SIN1,S1)/(L/2));%与正弦相关性之后是结果的实部,因为相关性是很多个点的累加和,所以要除以点数。
x(f)= abs(dot(COS1,S1)/(L/2));%与余弦相关性之后是结果的虚部。
end
subplot(412);
plot(r,'b:','linewidth',1.5)
xlabel('频率轴')
ylabel('电压轴')
title('正弦波的频域图像')
grid on
subplot(413);
plot(x,'r--','linewidth',0.5)
xlabel('频率轴')
ylabel('电压轴')
title('余弦波的频域图像')
grid on
c=complex(r,x);
fudu=sqrt(x.*x+r.*r);%分析出来原始信号的幅度
subplot(414);
xlabel('频率轴')
ylabel('电压轴')
title('频域图像')
plot(fudu,'k','linewidth',1.5)
grid on
axis auto

下一页 发表于 2023-4-11 23:04:14

lyl1070 发表于 2023-4-6 11:29
我就想知道,我得到AD采样一串数组比如buff。
怎么把指定频率比如50Hz的交流分量的幅值提取出来。
怎么 ...
(引用自6楼)

用和你采用率一样的50hz正弦波数字序列和余弦波数字序列与你采集的信号做乘加,点对点的乘法,乘完了相加,得到两个数,分别对应正弦和余弦分量,求平方和再开根号,就是50HZ的信号幅度,这个两个数相除,再求反切,就是50hz分量的角度。

dongzhiqing 发表于 2023-4-12 08:07:14

下一页 发表于 2023-4-11 23:04
用和你采用率一样的50hz正弦波数字序列和余弦波数字序列与你采集的信号做乘加,点对点的乘法,乘完了相加 ...
(引用自15楼)

太厉害。。。了

lyl1070 发表于 2023-4-12 08:38:40

下一页 发表于 2023-4-11 23:04
用和你采用率一样的50hz正弦波数字序列和余弦波数字序列与你采集的信号做乘加,点对点的乘法,乘完了相加 ...
(引用自15楼)

用和你采用率一样的50hz正弦波数字序列和余弦波数字序列与你采集的信号做乘加,点对点的乘法,乘完了相加,得到两个数,分别对应正弦和余弦分量,求平方和再开根号,就是50HZ的信号幅度,这个两个数相除,再求反切,就是50hz分量的角度。

大神,可以再讲得傻瓜一点吗?让我们这些傻瓜也能写出代码。

下一页 发表于 2023-4-12 17:10:12

lyl1070 发表于 2023-4-12 08:38
用和你采用率一样的50hz正弦波数字序列和余弦波数字序列与你采集的信号做乘加,点对点的乘法,乘完了相加 ...
(引用自17楼)

你的信号是u1,u2,u3,u4-----un,
然后构建一个和你这个信号采样率一样的50hz信号的正弦和余弦,

下面这个是matlab的代码
Fs=10000;%采样率
T = 1/Fs;% 采样时间间隔         
L = 1024;   %一共采集多少个点         
t = (0:L-1)*T;   %每个点对应的时间
f=50    %信号频率
s = sin(2*pi*f*t) ;%你创建的正弦
c=cos(2*pi*f*t) ;%你创建的余弦

这个s和c是点数和你采集到的点数相同,采样率相同的数字序列。
然后S=(s1*u1+s2*u2+s3*u3......)/L
C=c1*u1+c2*u2+c3*u3.....)/L

这个S是你的信号中50HZ的正弦分量,C是50HZ的余弦分量,

50hz信号幅度是sqrt(C*C+S*S)
50hz的相位是arctan(S/C)

页: [1]
查看完整版本: 理解积化和差公式=傅里叶变换,如此简单实用