fft 一维傅里叶变换使用(Matlab)

注:将一个带有噪音的时域信号转化为频域信号

clc,clear;
figure,
Hz=0.02;%周期;也可以说x轴的步长
Fs=1/Hz; %频率

%定义函数
x=0:Hz:10-1/50; 
y=5*sin(2*pi*15*x) + 10*sin(2*pi*20*x)+ 17*cos(2*pi*5*x);%此处可以添加噪音
y=y+10*randn(size(x));
%上面的参数定义好,下面的不需要修改

subplot(2,1,1);
plot(x,y);
title("6*sin(10*2*pi*t)");

Y = fft(y);
L=length(x); % x 轴数据的个数
P2 = abs(Y/L);  % Y 为傅里叶变换得到的结果  L为Y的长度
P1 = P2(1:L/2+1);   %从 P2 取出元素 的 1--(500/2)+1 长度的元素  即,取前一半+1 个元素
P1(1:end-1) = 2*P1(1:end-1);
f = Fs*(0:(L/2))/L;
subplot(2,1,2);
plot(f,P1) ;
title("fft");
xlabel('Hz');
ylabel('振幅');

注:上面一些函数说明:
randn()函数:https://blog.csdn.net/minyeling/article/details/105741721.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值