首页/文章/ 详情

MATLAB学习与实践(一)傅里叶变换

8小时前浏览14

傅里叶变换,表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。       

在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。

在海洋工程的结构应力计算领域,尤其是疲劳分析的数据处理起到了非常重要的作用。

理解傅里叶变换的原理及意义,可以将频域分析和时频分析有效联系起来,从而使理论和实际相结合,这样就形成一个较为系统的概念,也加深自己的理解。

首先,介绍一下傅里叶变换的原理。

现实生活中的所有信号波形都可以视为一系列正弦信号的叠加,而傅里叶变换则是将原始波形分解为一系列的正弦频率。    

傅里叶变换包括连续时间傅里叶变换和离散时间傅里叶变换。

连续时间傅里叶变换:

离散时间傅里叶变换:

根据欧拉公式:

这时我们就可以看出傅里叶变换的本质就是将原始信号变换为一系列正弦或余弦信号的叠加。    

分别从时间方向和频率方向仔细观察下图,可知,在时间方向上,原始信号波形被分解为一系列正弦波形;在频率方向上,原始波形被分解为对应的单一正弦频率。

   

接下来,我将对Matlab中傅里叶变换函数FFT进行简要分析,解决一些相关问题。

首先举一个简单离散傅里叶变换的例子。

已知序列x = [ 1 2 3 4 5],求x的离散时间傅里叶变换y。

代码加上显示数值只有三行如下。

x = [1 2 3 4 5];

y = fft(x);

disp(y);

以下为运行代码的结果,得出五个复数。

15.0000+0.0000i  -2.5000+3.4410i  -2.5000+0.8123i  -2.5000-0.8123i  -2.5000-3.4410i

再举一个简单连续傅里叶变换的例子。

Fs = 1000; % 采样频率 

t = 0:1/Fs:1-1/Fs; % 时间向量 

x = sin(2*pi*5*t); % 信号 

Y = fft(x);

P = abs(Y)/length(t); % 幅度谱 

f = Fs*(0:length(t)/2)/length(t) - Fs/2; % 频率轴 

plot(f, P(1:length(t)/2+1)) % 绘制单边频谱

这段代码首先定义采样频率Fs为1000Hz,并创建了一个时间向量t,从0开始,以1/Fs为间隔,直到1-1/Fs(即不包括1秒)。定义了一个正弦波信号x,其频率为5Hz,通过将时间向量t乘以2*pi*5(这是5 Hz正弦波的角频率)并使用sin函数计算得到的。对信号x进行了快速傅里叶变换(FFT),并将结果存储在变量Y中。并计算了FFT结果Y的幅度谱P和与FFT结果对应的频率轴f。最后使用plot函数绘制了单边频谱。              

来源:智慧强学斋
疲劳MATLAB海洋理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-03-12
最近编辑:8小时前
强学斋
硕士 签名征集中
获赞 3粉丝 2文章 82课程 0
点赞
收藏
作者推荐

ANSYS AQWA学习与实践(三)消失的浮力

在用AQWA进行水动力计算的时候,会发现一个现象, AQWA计算出的浮力与浮体实际的浮力不一致。一般人都会认为这一现象是计算误差,确实这一差值十分的小,当成误差也没什么错。接下来就分析一下这一误差产生的原因,这回还是用一个简单的圆柱举例。在已知圆柱的几何尺寸的情况下,求得圆柱的排水量9047.786842立方米,吃水为20米。因为没做平衡计算,所以插入的质量点设为手工设置,并随便定了一个9000000千克的数值。 经过频域的水动力计算,得到流体静力学结果。从结果可以看出,计算出的质心位置和实际有一定的差别,但误差非常的小。Equivalent Volumetric Displacement是等效的排水量,数值与前面插入的质量点相对应,9000000千克除以海水密度1025千克每立方米,几乎等于8780.4873立方米。Actual Volumetric Displacement是计算的排水量,8972.0459 立方米与之前手工计算的9047.786842立方米相比少了不少。相当于计算的浮力相比实际的浮力少了,这是由于什么造成的呢?经过反复的验证和比对,最后将目光聚集到网格模型上。下图是圆柱的网格模型。可以明显的看出,模型是一个多边形的圆柱,而不是标注的圆柱。这也就意味着,由这个多边形柱子计算的排水量也就是浮力,要明显比圆柱要少。消失的浮力也就找到了原因,甚至质量点的误差也和这个原因有关系。由于网格换分而产生的这一差别,就算把网格划分的尽可能密集,很明显是不可能避免的,而且密的网格还会带来计算时间太长的问题。圆柱的形式会经常应用在浮体上,比如说三立柱的浮式基础,而用AQWA算浮体的波浪载荷也会产生相应的误差。 所以,在进行波浪载荷传递到结构模型进行结构计算时,也要考虑这一误差对计算强度产生的影响。 来源:智慧强学斋

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈