楼主: Bonnsecret
1739 0

[学习分享] 学习笔记(6):傅立叶变换续篇 [推广有奖]

  • 2关注
  • 16粉丝

已卖:128份资源

讲师

36%

还不是VIP/贵宾

-

威望
0
论坛币
5022 个
通用积分
73.9537
学术水平
72 点
热心指数
91 点
信用等级
54 点
经验
9636 点
帖子
282
精华
0
在线时间
520 小时
注册时间
2014-5-28
最后登录
2025-6-3

楼主
Bonnsecret 发表于 2014-6-24 20:07:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
       傅立叶变换的内容我也是刚学,如果有不到之处,请大家批评指正。上次书中关于傅立叶变换的内容还剩一点,现在补充完毕。
       傅立叶变换之后的数据都是一个个的复数,复数有长度和相位的信息。matlab中的abs和angle这两个方程可以计算复数的长度和相位。
       例子:
       >>t=0:1/100:10-1/100;                             %创建一个时间的向量
       >>x=sin(2*pi*15*t)+sin(2*pi*40*t);         %跟随时间变化的一个序列
       >>y=fft(x);                                                 %傅立叶变换
       >>m=abs(y);                                              %变换之后数据中的每个复数的长度
       >>p=unwrap(angle(y));                              %先用angle方程获得每个复数的相位信息,然后unwrap这个方程来平滑相邻的两                                                                           %相位之间,matlab对于相邻的两个相位之间的跳跃有个上届,pi,也就是相邻的
                                                                          %两个相位之间的差值不能超过pi,这也很好理解,相邻的两个复数之间的夹角总
                                                                          %有一个小于pi。通过加或减2pi的倍数,总能找到这个小于pi的夹角。unwrap就是
                                                                          %这样一个过程。
       >>f=(0:length(y)-1)'*100/length(y);           %频率向量
       >>subplot(2,1,1), plot(f,m),                        %将傅立叶变换后的数据的长度和相位对频率画图。
       >>ylabel('Abs. Magnitude'), grid on
       >>subplot(2,1,2), plot(f,p*180/pi)
       >>ylabel('Phase [Degrees]'), grid on
       >>xlabel('Frequency [Hertz]')
       50Hz是Nyquist频数。可以发现复数长度对频率的画图在50Hz处是完全对称的,也就是说信号中有用的信息包含在0-50Hz之间。
       方程fft的运算速度取决于傅立叶变换的长度,也就是有多少数据点要用来进行傅立叶变换。这一点在下面的命令中更加的清楚:
       y=fft(x,n)                                                   %这个方程之前介绍过了。
       当n等于2的m次幂时,fft的运行速度最快。其中m为正整数。所以在有的傅立叶变换中,通常把要变换的数据的长度变为2的m次幂。这需要用到下面这个命令:nextpow2(L)
       假设L是原始数据的长度,nextpow2(L)给出的是在所有大于等于L的2的m次幂中,最小的那个m。得出这个数之后,再将数据的长度定义为:
       >>NFFT=2^nextpow2(L);


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:学习笔记 习笔记 傅立叶 magnitude Frequency matlab angle 信息

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 10:46