700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MATLAB之傅里叶变换 快速傅里叶变换FFT

MATLAB之傅里叶变换 快速傅里叶变换FFT

时间:2020-11-05 04:48:35

相关推荐

MATLAB之傅里叶变换 快速傅里叶变换FFT

文章目录

傅里叶变换及傅里叶逆变换定义窗函数/矩形脉冲信号的傅里叶变换 基于MATLAB的快速傅里叶变换FFT

傅里叶变换及傅里叶逆变换定义

能从时域的非周期连续信号转化到频域非周期连续信号。

窗函数/矩形脉冲信号的傅里叶变换

结论:

随着脉冲宽度τ的减小,主叶变得更宽,而且更多的能量被移到更高的频率。则反之。当信号脉冲在时间上扩展时,它的变换在频率上压缩。则反之。

基于MATLAB的快速傅里叶变换FFT

通过蝶形算法衍生的FFT暂不推导,下面直接给出代码。

% 功能:简易的快速傅里叶变换FFT% 注意:整周期采样的问题,非整周期采样会引起频谱泄露% 当NFFT/Fs*f1是整数时,称整周期采样% 编辑者:lily% 日期:,4,15clear;clc;close all;% ======================= input signal ==========================f1 = 30;fai1 = pi/3;Fs = 2^9;T =1;% T = N/Fs t = 0:1/Fs:T-1/Fs;N = length(t);NFFT = 2^nextpow2(N);%nextpow2(N),靠的最近的2的指数x = sin(2*pi*f1*t);% ======================= fft ==================================deltaF = 1/T; % deltaF = dFs/(N-1);%如果是表格或mat文件,推荐用这一种vecf = (0:N-1)*deltaF;% vecf = linspace(0,Fs,N); % linspace(x1,x2,n) % 生成 n 个点。这些点的间距为 (x2-x1)/(n-1)。% 如果数据x是奇数,f=vecftic;xk = 2*fft(x,NFFT)/N; toc;Ampli = abs(xk);phase = unwrap(angle(xk));% =========================== figure ====================================figure;subplot(3,1,1);plot(t,x);title('信号')subplot(3,1,2);plot(vecf,Ampli);title('FFT双边谱')subplot(3,1,3);plot(vecf(1:Fs/2+1),Ampli(1:Fs/2+1));title('FFT单边谱')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。