首页 > 编程知识 正文

离散周期信号的傅里叶变换,matlab绘制时域波形和频谱图

时间:2023-05-03 20:17:47 阅读:166671 作者:1599

泡沫开始~12月! 艰难的11月总算度过了,但12月希望能忍耐一点。

【题外话】傅立叶变换的道理本应该在高中学习的,但是当时的老师因为不参加考试而放弃了教育。 现在的我学习真是糟糕的痛苦】

傅立叶变换

傅立叶变换实质上涉及频域函数和时域函数变换。

概念的解释

a .先引入时域和频域概念的解释。

时域

时域是真实世界,是唯一的真实存在域。 这样,我们可以看到,自从我们出生以来,接触的世界就随着时间而变化,在运动。

频域

频域不是真实的而是数学结构。 如果说时域是唯一客观存在的领域,那么频域是遵循特定规则的数学范畴,也有学者称频域为神的视点。 结合上面的时域理解,如果时域不停止运动,则频域是静止的。

正弦波是频域中唯一存在的波形,这是频域中最重要的规则。 也就是说,正弦波是频域的描述。 这是因为频域的任何波形都可以用正弦波合成。

用图像直观地说明:

在时域里,音乐是什么? 随时间变化的振动。 (可以观察到钢琴弦上下的摇晃。

相比之下,在频域中,音乐是什么? 一个个音符,是乐谱。 音符的个数有限且固定,但可以组合无限数量的乐曲。

资料来源: https://Zhan.zhi Hu.com/p/19763358

b .接下来说明光谱和相位光谱这两个概念

光谱

现在首先引入一般说明:

如上图所示:

第一张照片是标致的仙人掌cos(x )

第二张照片是标致两个仙人掌的重合cos(x ) a.cos (3x )

第三张照片是由四个美丽的仙人掌重叠而成

第四张照片是标致的10个仙人掌重叠而成的

于是发生了问题:

随着正弦波数量的增加,他们最终会叠加在标准矩形上。 那么,我们能做什么呢?

不仅是矩形,想到的任何波形都可以这样用正弦波叠加。

接下来,让我们换个角度:

从侧面看,矩形波在频率范围内,完全无法识别吧。 教科书到此为止,给了读者无限的遐想和无限的吐槽,其实教科书加张图就足够了。 频域图像,也就是俗称的频谱。

比较展示:

image.png

在时域中看,可以看到接近矩形的波。 你会发现这个矩形波可以差分到几个正弦波的叠加上。 另一方面,从频域方向来看,可以看到各个正弦波的振幅,在光谱中,偶数项的振幅为0,与图中的彩色直线相对应。 振幅为0的正弦波。

正面---时域图像的侧面---频域图像

视频展示:

相位谱

虽然频谱只是表示正弦函数的振幅,但要准确地描述正弦函数,不仅需要振幅,还需要相位。 由于相位决定了波的位置,因此频域分析中仅有频谱(振幅频谱)是不够的,还需要相位频谱。

光谱的重点是从侧面看,相位光谱的重点是从下面看。

如上图所示,投影点用粉红色的点表示。 红点表示最接近正弦函数频率轴的峰值,相位差是粉红色点和红点的水平距离除以周期。 如果在坐标轴上绘制相位差,就会形成相位光谱。

【这里有必要修正概念。 时间差不是相位差。 如果将整个周期考虑为2Pi或360度,则相位差为时间差占1个周期的比例。 将时间差除以周期,乘以2Pi,即可得到相位差。 】

傅立叶变换

为什么需要傅立叶变换?

如下图所示,上面看到的只是正弦波一样的波形,其振幅按照一定的规律在变化。 怎么记载这个波形的信息? 特别是量化的记载! 很难。 那么,这时引入傅立叶变换,可以得到主要包含3、5、7、9次谐波的频谱(振幅频谱)。 一目了然

傅里叶变换是一种信号分析方法,让我们对信号的构成和特征进行深入、定量的研究。

准确、定量地描述信号通过频谱的方式(包括振幅频谱、相位频谱、功率谱)。

这是傅立叶变换的主要目的。

(具体分析请参考(3359 www.Sohu.com/a/224533027 _ 99907714 ) )

公式定义:

可以这样理解,

将频域函数f()表示为时域函数f( )的积分形式

将时域函数f(t )表示为频域的函数f(t)的积分

傅里叶变换过程图解:

具体参考(3359 blog.csdn.net/QQ _ 33414271/article/d

etails/79117586)

其他性质

参考:(https://www.cnblogs.com/AndyJee/p/5073281.html)

参考:百度百科

Matlab实现(频谱和相位谱)

%% 二维傅立叶变换

%读取图片

I=imread('Naruto.jpg');

img=rgb2gray(I);

%幅值图和相位谱

%进行傅立叶变换

f=fft2(img); %傅里叶变换

f=fftshift(f); %使图像对称,中心化

r=real(f); %图像频域实部

i=imag(f); %图像频域虚部

margin=log(sqrt(r.^2+i.^2)); %图像幅度谱,加log便于显示

phase=real(angle(f)*180/pi); %图像相位谱

figure

subplot(1,3,1),imshow(img),title('源图像');

subplot(1,3,2),imshow(margin,[]),title('图像幅度谱');

subplot(1,3,3),imshow(phase,[]),title('图像相位谱');

Ending~在自我理解的基础上完成了资料的搬运是很不容容易了!

十二月加油鸭!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。