• 大小: 667B
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-10
  • 语言: Matlab
  • 标签: FFT算法  对比  

资源简介

FFT算法的实现例程,以及不同参数对FFT算法计算精度影响的分析。

资源截图

代码片段和文件信息

clf;
fs=100;N=128;   %采样频率和数据点数
n=0:N-1;t=n/fs;   %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号
y=fft(xN);    %对信号进行快速Fourier变换
mag=abs(y);     %求得Fourier变换后的振幅
f=n*fs/N;    %频率序列
subplot(221)plot(fmag);   %绘出随频率变化的振幅
xlabel(‘频率/Hz‘);
ylabel(‘振幅‘);title(‘N=128‘);grid on;
subplot(222)plot(f(1:N/2)mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅
xlabel(‘频率/Hz‘);
ylabel(‘振幅‘);title(‘N=128‘);grid on;
%对信号采样数据为1024点的处理
fs=100;N=1024;n=0:N-1;t=n/fs;
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号
y=fft(xN);   %对信号进行快速Fourier变换
mag=abs(y);   %求取Fourier变换的振幅
f=n*fs/N;
subplot(223)plot(fmag); %绘出随频率变化的振幅
xlabel(‘频率/Hz‘);
ylabel(‘振幅‘);title(‘N=1024‘);grid on;
subplot(224)
plot(f(1:N/2)mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅
xlabel(‘频率/Hz‘);
ylabel(‘振幅‘);title(‘N=1024‘);grid on;






clf;fs=100; %采样频率
Ndata=32; %数据长度
N=32; %FFT的数据长度
n=0:Ndata-1;t=n/fs;   %数据对应的时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);   %时间域信号
y=fft(xN);   %信号的Fourier变换
mag=abs(y);    %求取振幅
f=(0:N-1)*fs/N; %真实频率
subplot(221)plot(f(1:N/2)mag(1:N/2)*2/N); %绘出Nyquist频率之前的振幅
xlabel(‘频率/Hz‘);ylabel(‘振幅‘);
title(‘Ndata=32 Nfft=32‘);grid on;
Ndata=32;   %数据个数
N=128;     %FFT采用的数据长度
n=0:Ndata-1;t=n/fs;   %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);
y=fft(xN);
mag=abs(y);
f=(0:N-1)*fs/N; %真实频率
subplot(222)plot(f(1:N/2)mag(1:N/2)*2/N); %绘出Nyquist频率之前的振幅
xlabel(‘频率/Hz‘);ylabel(‘振幅‘);
title(‘Ndata=32 Nfft=128‘);grid on;
Ndata=136;   %数据个数
N=128;     %FFT采用的数据个数
n=0:Ndata-1;t=n/fs; %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);
y=fft(xN);
mag=abs(y);
f=(0:N-1)*fs/N;   %真实频率
subplot(223)plot(f(1:N/2)mag(1:N/2)*2/N); %绘出Nyquist频率之前的振幅
xlabel(‘频率/Hz‘);ylabel(‘振幅‘);
title(‘Ndata=136 Nfft=128‘);grid on;
Ndata=136;    %数据个数
N=512;    %FFT所用的数据个数
n=0:Ndata-1;t=n/fs; %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);
y=fft(xN);
mag=abs(y);
f=(0:N-1)*fs/N;   %真实频率
subplot(224)plot(f(1:N/2)mag(1:N/2)*2/N); %绘出Nyquist频率之前的振幅
xlabel(‘频率/Hz‘);ylabel(‘振幅‘);
title(‘Ndata=136 Nfft=512‘);grid on;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2322  2014-01-09 21:10  FFT.m

----------- ---------  ---------- -----  ----

                 2322                    1


评论

共有 条评论