如何用matlab对函数求傅立叶变换

如何用matlab对函数求傅立叶变换,第1张

如何用matlab对函数傅立叶变换

用MATLAB 实现傅里叶变换:

用户任意输入一个函数,然后,输出函数的傅里叶变换函数,然后输出振幅频率 。

x=sin(2pit); %任意输入一个函数。

y=fft(x); %傅里叶变换函数。

plot(abs(y)); %振幅频率。

function test

Fs = 256; % 采样频率

T = 1/Fs; % 采样时间

t = (0:Fs-1)T; % 时间序列(时间轴)

S=2+3cos(2pi50t-pi30/180)+15cos(2pi75t+pi90/180);

f= Fslinspace(0,1,Fs);

Y=2abs(fft(S,Fs)/Fs); %得到正确的峰值

plot(f,Y)

这段函数应该是一个做信号分析的GUI里的一个功能吧。

这段代码是要干啥?对应的按钮上有文字说明么。

感觉是观察一段离散信号经过DFT后的功率谱密度。

y=fft(x,xlength);

这个是快速傅里叶变换,也就是对信号x做DFT

Pyy =yconj(y)/xlength;

这个是信号x的功率谱,也就是频谱y的幅值平方除以信号长度

至于为什么只看一半我就不知道了

首先产生矩形脉冲信号,可以使用rectpuls(t,w)函数产生一个幅值为1,以t=0为中心对称,半宽度为w/2的矩形脉冲

然后傅里叶变换是用fft()命令的。如果要得到频谱的话还要再处理一下,具体就不多说了,给个程序样例:

t=-20:20;

w=10;

y=rectpuls(t,w);%矩形脉冲信号

yy=fft(y);

n=size(y);

n=n(2);

fy=abs(fft(y))/n2;%频谱

subplot(2,1,1)

plot(y);

subplot(2,1,2)

plot(fy);

挺粗糙的,最后得到的两个图分别是方波脉冲和频谱图。。

顺带一提:

1)三角波是tripuls(t,w);

2)矩形波也可以通过ones()和zeros生成一个信号矩阵

3)具体的函数使用和参数规则请参阅help“command”

4)其实这些用simulink做,里面都有现成的模块。这样倒是很简洁,但也不容易看懂

以上就是关于如何用matlab对函数求傅立叶变换全部的内容,包括:如何用matlab对函数求傅立叶变换、求解一个MATLAB的有关傅里叶变换、FFT函数的问题,求具体的MATLAB程序。、关于matlab的傅里叶变换的代码求解释等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9970174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存