matlab快速傅里叶变换(三个matlab程序介绍)

一种积分变换,它来源于函数的傅里叶积分表示。积分 (1) 称为ƒ 的傅里叶积分。周期函数在一定条件下可以展成傅里叶级数,而在(-∞,∞)上定义的非周期函数ƒ,显然不能用三角级数来表示。但是j.-b.-j.傅里叶建议把ƒ表示成所谓傅里叶积分的方法。
傅里叶变换在物理学、电子类学科、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等领域都有着广泛的应用(例如在信号处理中,傅里叶变换的典型用途是将信号分解成幅值谱——显示与频率对应的幅值大小)。
傅里叶变换(fft)matlab程序一 fs = 128; % 采样频率
t = 1/fs; % 采样时间
l = 256; % 信号长度
t = (0:l-1)*t; % 时间
x = 5 + 7*cos(2*pi*15*t - 30*pi/180) + 3*cos(2*pi*40*t - 90*pi/180); %cos为底原始信号
y = x + randn(size(t)); %添加噪声 figure; plot(t,y)
title(‘加噪声的信号’)
xlabel(‘时间(s)’)
n = 2^nextpow2(l); %采样点数,采样点数越大,分辨的频率越精确,n》=l,超出的部分信号补为0
y = fft(y,n)/n*2; %除以n乘以2才是真实幅值,n越大,幅值精度越高
f = fs/n*(0:1:n-1); %频率
a = abs(y); %幅值
p = angle(y); %相值
figure;
subplot(211);plot(f(1:n/2),a(1:n/2)); %函数fft返回值的数据结构具有对称性,因此我们只取前一半
title(‘幅值频谱’);
xlabel(‘频率(hz)’);
ylabel(‘幅值’);
subplot(212);
plot(f(1:n/2),p(1:n/2));
title(‘相位谱频’);
xlabel(‘频率(hz)’);
ylabel(‘相位’);
傅里叶变换(fft)matlab程序二 tp=0:2048; % 时域数据点数
n yt=sin(0.08*pi*tp).*exp(-tp/80); % 生成正弦衰减函数
plot(tp,yt), axis([0,400,-1,1]), % 绘正弦衰减曲线
t=0:800/2048:800; % 频域点数nf
f=0:1.25:1000;
yf=fft(yt); % 快速傅立叶变换
ya=abs(yf(1:801)); % 幅值
yp=angle(yf(1:801))*180/pi; % 相位 y
r=real(yf(1:801)); % 实部
yi=imag(yf(1:801)); % 虚部
figure subplot(2,2,1)
plot(f,ya),axis([0,200,0,60]) % 绘制幅值曲线
title(‘幅值曲线’)
subplot(2,2,2)
plot(f,yp),axis([0,200,-200,10]) % 绘制相位曲线
title(‘相位曲线’)
subplot(2,2,3)
plot(f,yr),axis([0,200,-40,40]) % 绘制实部曲线
title(‘实部曲线’)
subplot(2,2,4)
plot(f,yi),axis([0,200,-60,10]) % 绘制虚部曲线
title(‘虚部曲线’)
结果
傅里叶变换(fft)matlab程序三 clear all %清除内存所有变量
close all %关闭所有打开的图形窗口
%% 执行fft点数与原信号长度相等(100点)
% 构建原信号
n=100; % 信号长度(变量@@@@@@@)
fs=1; % 采样频率
dt=1/fs; % 采样间隔
t=[0:n-1]*dt; % 时间序列
xn=cos(2*pi*0.24*[0:99])+cos(2*pi*0.26*[0:99]);
xn=[xn,zeros(1,n-100)]; % 原始信号的值序列
subplot(3,2,1) % 变量@@@@@@@
plot(t,xn) % 绘出原始信号
xlabel(‘时间/s’),title(‘原始信号(向量长度为100)’) % 变量@@@@@@@
% fft分析
nn=n; % 执行100点fft
xn=fft(xn,nn)/nn; % 共轭复数,具有对称性
f0=1/(dt*nn); % 基频
f=[0:ceil((nn-1)/2)]*f0; % 频率序列
a=abs(xn); % 幅值序列
subplot(3,2,2),stem(f,2*a(1:ceil((nn-1)/2)+1)),xlabel(‘频率/hz’) % 绘制频谱(变量@@@@@@@)
axis([0 0.5 0 1.2]) % 调整坐标范围
title(‘执行点数等于信号长度(单边谱100执行点)’); % 变量@@@@@@@
%% 执行fft点数大于原信号长度
% 构建原信号
n=100; % 信号长度(变量@@@@@@@)
fs=1; % 采样频率
dt=1/fs; % 采样间隔
t=[0:n-1]*dt; % 时间序列
xn=cos(2*pi*0.24*[0:99])+cos(2*pi*0.26*[0:99]);
xn=[xn,zeros(1,n-100)]; % 原始信号的值序列
subplot(3,2,3) % 变量@@@@@@@
plot(t,xn) % 绘出原始信号
xlabel(‘时间/s’),title(‘原始信号(向量长度为100)’) % 变量@@@@@@@
% fft分析
nn=120; % 执行120点fft(变量@@@@@@@)
xn=fft(xn,nn)/nn; % 共轭复数,具有对称性
f0=1/(dt*nn); % 基频
f=[0:ceil((nn-1)/2)]*f0; % 频率序列
a=abs(xn); % 幅值序列
subplot(3,2,4),stem(f,2*a(1:ceil((nn-1)/2)+1)),xlabel(‘频率/hz’) % 绘制频谱(变量@@@@@@@)
axis([0 0.5 0 1.2]) % 调整坐标范围
title(‘执行点数大于信号长度(单边谱120执行点)’); % 变量@@@@@@@
%% 执行fft点数与原信号长度相等(120点)
% 构建原信号
n=120; % 信号长度(变量@@@@@@@)
fs=1; % 采样频率
dt=1/fs; % 采样间隔
t=[0:n-1]*dt; % 时间序列
xn=cos(2*pi*0.24*[0:99])+cos(2*pi*0.26*[0:99]);
xn=[xn,zeros(1,n-100)]; % 原始信号的值序列
subplot(3,2,5) % 变量@@@@@@@
plot(t,xn) % 绘出原始信号
xlabel(‘时间/s’),title(‘原始信号(向量长度为120)’) % 变量@@@@@@@
% fft分析
nn=120; % 执行120点fft(变量@@@@@@@)
xn=fft(xn,nn)/nn; % 共轭复数,具有对称性
f0=1/(dt*nn); % 基频
f=[0:ceil((nn-1)/2)]*f0; % 频率序列
a=abs(xn); % 幅值序列
subplot(3,2,6),stem(f,2*a(1:ceil((nn-1)/2)+1)),xlabel(‘频率/hz’) % 绘制频谱(变量@@@@@@@)
axis([0 0.5 0 1.2]) % 调整坐标范围
title(‘执行点数等于信号长度(单边谱120执行点)’); % 变量@@@@@@@
结果

【回顾往年CES】大巨龙裸眼3D平板惊艳亮相
别着急买荣耀9,看完荣耀Note9再决定
电容与电感对相位的影响
中国移动5G二期工程采购将启动,传输网采购随后进行
继电保护装置的任务
matlab快速傅里叶变换(三个matlab程序介绍)
江波龙FORESEE ePOP:一款小身板、大能量的嵌入式存储产品
分析天然气计量误差产生原因
揭秘虚拟现实玩到吐的元凶 VR镜头的门道
Mouser宣布赞助中国车队参加全新Formula E系列赛事
深圳数字资产交易所系统开发
超高清乐视视频通话摄像头 带你体验评测:1080P高清视频通话+200万高清摄像头
简化电源测试的SPST双极性功率开关
变频电源输出特性是什么?
荣耀10系列新成员海报曝光 很可能就是荣耀10青春版
Micro LED能否成功挑战OLED屏?
铭普光磁发布2019年年度报告 预计公司第一季度销售额及利润下降
磷酸铁锂电池的放电特性及寿命
锐龙7 4800H处理器曝光 采用8核心16线程设计TDP为45W
可控硅的工作原理及基本特性有哪些?