精华内容
下载资源
问答
  • 调用方法X=FFT(x);X=FFT(x,N);x=IFFT(X);x=IFFT(X,N)用MATLAB进行谱分析时注意:(1)函数FFT返回值的数据结构具有对称性。例:N=8;n=0:N-1;xn=[4 3 2 6 7 8 9 0];Xk=fft(xn)→Xk =39.0000 -10.7782 + 6.2929i 0 .....

    匿名用户

    1级

    2017-09-01 回答

    一.调用方法

    X=FFT(x);

    X=FFT(x,N);

    x=IFFT(X);

    x=IFFT(X,N)

    用MATLAB进行谱分析时注意:

    (1)函数FFT返回值的数据结构具有对称性。

    例:

    N=8;

    n=0:N-1;

    xn=[4 3 2 6 7 8 9 0];

    Xk=fft(xn)

    Xk =

    39.0000 -10.7782 + 6.2929i 0 - 5.0000i 4.7782 - 7.7071i 5.0000 4.7782 + 7.7071i 0 + 5.0000i -10.7782 - 6.2929i

    Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量,即频率值为0。

    (2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。在IFFT时已经做了处理。要得到真实的振幅值的大小,只要将得到的变换后结果乘以2除以N即可。

    二.FFT应用举例

    例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率fs=100Hz,分别绘制N=128、1024点幅频图。

    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(x,N); %对信号进行快速Fourier变换

    mag=abs(y); %求得Fourier变换后的振幅

    f=n*fs/N; %频率序列

    subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅

    xlabel('频率/Hz');

    ylabel('振幅');title('N=128');grid on;

    subplot(2,2,2),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(x,N); %对信号进行快速Fourier变换

    mag=abs(y); %求取Fourier变换的振幅

    f=n*fs/N;

    subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅

    xlabel('频率/Hz');

    ylabel('振幅');title('N=1024');grid on;

    subplot(2,2,4)

    plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅

    xlabel('频率/Hz');

    ylabel('振幅');title('N=1024');grid on;

    展开全文
  • FFT与采样点数的关系原理

    万次阅读 多人点赞 2015-05-15 11:37:54
    e^(-j*2pi*w*t)= e^( -j*2pi*( fs/N * k ) * (n * 1/fs) )=e^(-j*2pi*k*n/N) 采样得到的数字信号,就可以做FFT变换... 假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就
    e^(-j*2pi*w*t)= e^( -j*2pi*( fs/N * k ) * (n * 1/fs) )=e^(-j*2pi*k*n/N)
    

    采样得到的数字信号,就可以做FFT变换了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。    假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点 N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被 N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。    假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An /N*cos(2*pi*Fn*t+Pn)。对于n=1点的信号,是直流分量,幅度即为A1/N。由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。    下面以一个实际的信号来做说明。假设我们有一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一个频率为 75Hz、相位为90度、幅度为1.5V的交流信号。用数学表达式就是如下:S=2+3*cos(2*pi*50*t- pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)。式中cos参数为弧度,所以-30度和90度要分别换算成弧度。我们以256Hz的采样率对这个信号进行采样,总共采样256点。按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是 1Hz,第n个点的频率就是n-1。我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第50个点、第76个点上出现峰值,其它各点应该接近0。实际情况如何呢?我们来看看FFT的结果的模值如图所示。    从图中我们可以看到,在第1点、第51点、和第76点附近有比较大的值。我们分别将这三个点附近的数据拿上来细看:    1点: 512+0i    2点: -2.6195E-14 - 1.4162E-13i    3点: -2.8586E-14 - 1.1898E-13i    50点:-6.2076E-13 - 2.1713E-12i    51点:332.55 - 192i    52点:-1.6707E-12 - 1.5241E-12i    75点:-2.2199E-13 -1.0076E-12i    76点:3.4315E-12 + 192i    77点:-3.0263E-14 +7.5609E-13i    很明显,1点、51点、76点的值都比较大,它附近的点值都很小,可以认为是0,即在那些频率点上的信号幅度为0。接着,我们来计算各点的幅度值。分别计算这三个点的模值,结果如下:    1点: 512    51点:384    76点:192    按照公式,可以计算出直流分量为:512/N=512/256=2;50Hz信号的幅度为:384/(N/2)=384/(256/2)=3;75Hz信号的幅度为192/(N/2)=192/(256/2)=1.5。可见,从频谱分析出来的幅度是正确的。    然后再来计算相位信息。直流信号没有相位可言,不用管它。先计算50Hz信号的相位,atan2(-192, 332.55)=-0.5236,结果是弧度,换算为角度就是180*(-0.5236)/pi=-30.0001。再计算75Hz信号的相位,atan2(192, 3.4315E-12)=1.5708弧度,换算成角度就是180*1.5708/pi=90.0002。可见,相位也是对的。根据FFT结果以及上面的分析计算,我们就可以写出信号的表达式了,它就是我们开始提供的信号。    总结:假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算。 atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。具体的频率细分法可参考相关文献。
    展开全文
  • 验证了fft变换以后点数与频率的对应关系
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼我想分开1500 和1500.015hz两个谱线,fs=1e4;...那么根据计算分辨率(个人理解为频率轴,最小单位刻度)F2=fs/nfft,则nfft取6.667e5 ,那么问题来了我按照这两个参数取...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    我想分开1500 和1500.015hz两个谱线,fs=1e4;现在根据数字信号处理(胡广书)P133页讲的 ,物理分辨率F=fs/N(F=0.015),而信号长度T=1/fs*N 所以信号至少1/F 就是66.67s吧?那么根据计算分辨率(个人理解为频率轴,最小单位刻度)F2=fs/nfft,则nfft取6.667e5 ,那么问题来了

    我按照这两个参数取,分不开啊,如果单纯提高信号长度,也是分不开的,但是提高NFFT点数,就可以分开了,如nfft=7e6; 不是说物理分辨率才是决定能不能分开频谱的因素吗,当然信号长度太小也不行,但现在感觉,信号长度高了,nfft点数不满足也不能分开啊,那到底在信号长度满足什么条件下,nfft用什么公式计算的点数,可以分开呢?这个标准到底在哪?nfft增加不只是减少栅栏效应吗?

    附程序

    %采样频率10e3,,1500 1500.1 1500.015

    clear all;close all; clc;

    fs=10e3;%%采样频率10KHz

    F=0.015;%1500.015分辨出来

    % N=2e6;%F=fs/N 决定信号长度,而非真正样本

    T=70;%信号长度 决定能分辨最小的能力 66.67就够了

    f1=1500;

    f2=1500.1;

    f3=1500.015;

    n=0:1/fs:(T-1/fs);

    SNR=10;%设信噪比

    %%%产生信号%%%%

    fl=1000;%设置截止频率

    fh=2000;

    Wn=[fl fh]/(fs/2);

    [b,a]=butter(10,Wn,'bandpass');%%生成10阶巴特沃夫滤波器滤波器

    xn=sin(2*pi*f1*n)+sin(2*pi*f2*n)+sin(2*pi*f3*n);

    xn_add_n=awgn(xn,SNR,'measured');

    output_xn=filter(b,a,xn_add_n);

    NFFT=7e5%%决定每两个谱线间的距离 NFFT=FS/△fmin

    % 6.67e5;%%决定样本值,并作fft

    window=boxcar(length(output_xn));

    [Pxx,f]=periodogram(output_xn,window,NFFT,fs);

    P=10*log(Pxx);

    % subplot(3,1,1);

    plot(f,P);

    xlim([1499.9 1500.9]);

    title('信号50s')

    xlabel('f/Hz');

    ylabel('Amplitude/dB');

    展开全文
  • FFT采样频率小结

    千次阅读 2020-10-07 23:48:19
    假设采样bai频率为Fs,信号频率F,采样du点数为N。那么FFT之后结果就是一个为N点的复zhi数。每一个dao点就对应着一个频率点。这个点的模值,就是该频率值下的 幅度特性。假设原始信号的峰值为A,那么FFT的结果的每个...

    在这里插入图片描述
    假设采样bai频率为Fs,信号频率F,采样du点数为N。那么FFT之后结果就是一个为N点的复zhi数。每一个dao点就对应着一个频率点。这个点的模值,就是该频率值下的 幅度特性。假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。 而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点 N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被 N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:
    fn=(n-1)*fs/N

    clc;
    clear;
    close all;
     
    % 原信号
    t = 0:0.01:2;
    fs = 1 /0.01; % 采样频率
    x = chirp(t,100,1,200,'quadratic');
    LF=length(x);
     
    % 傅里叶变换
    xf_o=fft(x); % 傅里叶变换的结果是对称的,原因单位根之间存在复共轭,具体请阅读第二部分“FFT的计算原理”
    f_o=(1:LF).*fs/LF; % 频率轴
    xf_oc=fftshift(xf_o); % 将零频移动到输出的中心位置
    f_oc=(floor(-LF/2):floor(LF/2)-1).*fs/LF;  % 频率轴
     
    figure
    subplot(311)
    plot(t,x)
    title('输入信号');xlabel('Time');ylabel('Amplitude');
    subplot(312)
    plot(f_o,xf_o) % xf_o是复数,但图形仅画实部,忽略虚部。
    title('fft结果');xlabel('Frequency');ylabel('Real part of fft');
    subplot(313)
    plot(f_oc,xf_oc)
    title('零频移动到输出中心的fft结果');xlabel('Frequency');ylabel('Real part of fft');
     
     
    % 双边谱
    xf_da=abs(xf_oc)/LF; % 归一化后的双边谱
    f_d=(floor(-LF/2):floor(LF/2)-1).*fs/LF; % 频率轴
     
    % 单边谱
    xf_s=abs(xf_o)/LF; % 归一化的谱
    xf_sa=xf_s(1:floor(LF/2)+1); 
    xf_sa(2:end-1)=2*xf_sa(2:end-1); % 单边谱,且去除零频放大效应!
    f_s=fs*(0:floor(LF/2))/LF; % 频率轴,根据采样定理,Nyquist频率是采样频率的一半!单位'Hz'
     
    % 相位谱
    xf_dp=angle(xf_o); % 单位是“弧度” ,与[xf_dp=phase(xf_o)]等价!
    xf_p=xf_dp(1:floor(LF/2)+1); % 相位谱
     
    figure
    subplot(311)
    plot(f_d,xf_da)
    title('fft 双边频率-幅度谱');xlabel('Frequency');ylabel('Magnitude');
    subplot(312)
    plot(f_s,xf_sa)
    title('fft 单边频率-幅度谱');xlabel('Frequency');ylabel('Magnitude');
    subplot(313)
    plot(f_s,xf_p)
    title('fft 相位谱');xlabel('Frequency');ylabel('Phase (rad)');
    
    展开全文
  • 采样频率采样点数、频率分辨率

    万次阅读 多人点赞 2018-12-01 09:07:43
    解释一:频率分辨率可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间隔f0=fs/N=1/NTs=1/T,其中N为采样点数,fs为采样频率,Ts为采样间隔。所以NTs就是采样前模拟信号的时间长度T,所以信号长度越长,频率...
  • 采样点数与采样频率的区别

    万次阅读 2013-12-21 13:26:39
    采样点数决定了每次传到pc内的数据量。比如点数设为1000,pc内会开辟初始大小1000的buffer(buffer大小可以自己改), 板卡就每采1000点往pc传一次。程序每次从buffer读1000点进行处理。所以如果你每次处理需要更多...
  • f -- 信号频率fs -- 采样频率N -- 采样点数信号频率(f):信号频率就是信号的频率,影响的是信号的发生函数。采样点数(N):采样点数是一次向PC端发送的数据量包含的点数,采样点数决定了每次传到PC内的数据量。就是每...
  • 采样频率采样点数、分辨率、谱线数

    万次阅读 多人点赞 2016-04-06 16:56:17
    根据采样定理,Fm与采样频率Fs之间的关系一般为:Fs=2.56Fm;而最高分析频率的选取决定于设备转速和预期所要判定的故障性质。 2.采样点数N谱线数M有如下的关系: N=2.56M 其中谱线数M频率分辨率ΔF及...
  • 波形中相邻两点间隔的时间就是采样频率(Fs)的倒数3.信号频率就是信号的频率,影响的是信号发生函数4.产生的信号的总时间长度 t = dt*采样数 = 采样数/Fs5.产生的信号的周期数 = 总时间长度/T = 总时间长度*信号频率 =...
  • 【转载】采样频率采样点数、频率分辨率

    万次阅读 多人点赞 2018-04-29 09:52:23
    type=31、频率分辨率的2种解释解释一:频率分辨率可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间隔f0=fs/N=1/NTs=1/T,其中N为采样点数,fs为采样频率,Ts为采样间隔。所以NTs就是采样前模拟信号的时间...
  • 快速傅里叶变换FFT点数采样

    万次阅读 2019-02-12 09:47:10
    要是一次变换点数小于现有的采样点数FFT会分段处理吗? 在python中,若采样点数是8172,NFFT = 256,那么应该会进行分段处理,然后再对,不同的段求均值?代码看的不太明白,有待进一步了解。 3、实际采样点越多...
  • 采样定理有个fs>2fh fh应该是什么?求大神完整的讲一下或者举个例子 其实,这样的例子网上有很多。给你拷贝一段还不错的介绍,自己仔细看。FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些...
  • 根据采样定理,Fm与采样频率Fs之间的关系一般为:Fs=2.56Fm;而最高分析频率的选取决定于设备转速和预期所要判定的故障性质。 2.采样点数N谱线数M有如下的关系: N=2.56M 其中谱线数M频率分辨率ΔF及最高分析...
  • 故障信号最高要分析到100Hz,最低分析到0.01HZ,即分辨率0.01Hz,既要满足分析范围又要保证采样精度的话采样点数至少要32768,要对三万多个点作FFT变换运算点太大对硬件的运算速度和存储空间要求太高。我自己的想法是...
  • FFT点数不补零的情况下等于采样点数,补零一般会补成2的次幂。 比如:20M、15M、10M、5M、3M、1.4M的子载波数量分别为(不计中心子载波)1200、900、600、300、180、72。 FFT/IFFT的采样次数必须是2的指数,在频域一...
  • FFT中,点数与频率的对应关系

    千次阅读 2014-01-14 21:34:09
    从TI的一个手册上的例子说起: If the 10Hz SIN signal is sampled at 1280Hz and radix-2 FFT com putation is done using  128 ... What will be the FFT spectrum and Magnitude Square  output? 官方解答
  • 针对涡街流量信号的特点,在测定的频率范围内采用变换采样点数FFT算法,并由实时测定和计算出的频率区域确定下次的采样点数。通过数据验证和误差分析,证明了变换采样点数FFT算法可行,加强了流量计抑制噪声的...
  • matlab----nextpow()函数,FFT点数,... %采样频率 N=1000; %采样点数 NFFT = 2^nextpow2(N)2; %%%%%%%%%%%%%%%%% 1 n=0:N-1; t=n/fs; x=2sin(2pi200t); plot(t,x) % y=fft(x,NFFT)/(N/2);%%%%%%%%%%%%%%%%%%%%% 2...
  • FFT频率与幅值的确定

    万次阅读 多人点赞 2017-12-26 20:20:09
    傅里叶变换并没对频率进行任何计算,频率与采样率和进行傅里叶变换的点数相关,注意这里是进行傅里叶变换的点数而不一定是信号的长度。 FFT变换完第一个数时0Hz频率,0Hz就是没有波动,没有波动有个专业
  • FFT 频率分辨率

    千次阅读 2015-03-02 15:22:47
    FFT频率分辨率的理解解释一:频率分辨率可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间隔f0=fs/N=1/NTs=1/T,其中N为采样点数,fs为采样频率,Ts为采样间隔。所以NTs就是采样前模拟信号的时间长度T,...
  • 有关FFT频率与实际物理频率的分析

    千次阅读 2017-04-22 15:00:27
    做n个点的FFT,表示在时域上对...这里的fs是采样频率。而我们通常只关心0-pi中的频谱,因为根据奈科斯特定律,只有f=fs/2范围内的信号才是被采样到的有效信号。那么,在w的范围内,得到的频谱肯定是关于n/2对称的。
  • 一、FFT点数N(也就是离散时间信号的...=Fs/F, Fs为采样频率。由于FFT一般要求N是2的整数幂,所以最后还要把N扩大为最接近2的整数幂。 二、参考网页如何决定要使用多少点来做fft:https://zhidao.baidu.com/ques...
  • 这样就能在有限采样点数下获得较好的频率分辨率了。 输入捕获测频率 将一个规则信号送进一个输入捕获管脚,规则信号处理好幅度后可以直接送进IO口,实测不会影响捕获,当然也可以选择将信号送进一个过零比较器,比较...
  • FFT 频率 实际频率 关系,一个比较详细的说明文档。FFT频率与实际物理频率的分析
  • 原标题:FFT(快速傅里叶变换)中频率和实际频率的关系一 四个名词:实际物理频率,角频率,圆周频率,归一化频率 ·实际物理频率表示AD采集物理信号的频率,fs为采样频率,由奈奎斯特采样定理可以知道,fs必须≥信号...
  • 定义:MATLAB帮助文件原文The 'i' in the 'Nth ...y可以是一向量或矩阵,若y为向量,则Y是y的FFT,并且y具有相同的长度。若y为一矩阵,则Y是对矩阵的每一列向量进行FFT。说明:1. 函数fft返回值的数据结构具有对...
  • 首先对于FFT来说,输入的信号是一个按一定采样频率获得的信号序列,而输出是每个采样点对应的频率的幅度(能量)。 下面详细分析: 在FFT的输出数据中,第一个值是直流分量的振幅(这样对应周期有无穷的可能性),...
  • 实验二 时域采样频域采样 一 实验目的 掌握时域连续信号经理想采样前后的频谱变化加深对时域采样定理的理解 理解频率域采样定理掌握频率采样点数的选取原则 二 实验原理 1 时域采样定理 对模拟信号 xa (t) 以 T ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,162
精华内容 1,264
关键字:

fft采样点数与采样频率