精华内容
下载资源
问答
  • 最近对傅里叶级数有了些疑惑,原本学习的时候就是只会记公式,但不明白数学和物理意义,更不明白怎么用,现在发现傅里叶变换真的太有用了,毕竟是时域和频域的连接,是一组非常高级的优美的数学公式。所以复习的时候...

    最近对傅里叶级数有了些疑惑,原本学习的时候就是只会记公式,但不明白数学和物理意义,更不明白怎么用,现在发现傅里叶变换真的太有用了,毕竟是时域和频域的连接,是一组非常高级的优美的数学公式。

    所以复习的时候找了很多资料,关于傅里叶的讨论非常多,但是好资料不多,以下是我看完并且觉得很好的资料,大家应该都能看明白而且能够看懂。

    前菜:

    这篇文章堪称经典中的经典,如果你想搞懂傅里叶变换,但你没看过这篇文章,那就是你的损失。这篇文章没有太多计算,全都是从数学图像的意义上来帮你理解,所以很值得一看。

    Heinrich:如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧zhuanlan.zhihu.com
    31e558c16727f7b1b1f9ea24c98a213f.png

    下面来点数学计算的干货。

    1.傅里叶级数入门:

    这篇回答告诉你傅里叶级数是什么,以及怎么推导,学完这篇文章基本就知道傅里叶级数的意义了。

    傅里叶级数的系数是怎么得到的?

    如果觉得不够,可以再结合这篇文章,

    马同学高等数学

    2.奈奎斯特采样定理:

    这篇回答重点在于在Matlab等软件中对时域信号进行连续傅里叶变换(FFT)时,要求“采样频率必须大于信号所含最高频率的两倍”到底是什么意思。

    如何理解 Nyquist 采样定理?

    3.傅里叶变换入门:

    这是第一篇,基本也就能理解傅里叶级数到傅里叶变换之间的转换,以及它俩之间的区别是什么了。

    马同学高等数学

    但是个人觉得最后对傅里叶公式推导得有点省略步骤了,所以需要结合这篇文章看一下。

    从傅里叶级数到傅里叶变换(连续、离散)--公式推导_qq_39546227的博客-CSDN博客_离散傅里叶变换公式推导

    这几篇文章看下来,我觉得弄懂傅里叶级数和傅里叶变换的基本概念应该没问题了,忘记的时候可以再回头读一遍,也能记住。

    重点是要厘清时域和频域的对应关系,这个是比较重要的。

    接下来我打算研究一下matlab里面对时域到频域的变换中,纵坐标的问题怎么解决:

    因为有这样一个问题:

    为什么 FFT变换后幅值与时域幅值 不相等 - MATLAB中文论坛www.ilovematlab.cn
    fd88656d616fce052a3a5c18475cb81f.png

    如果有知道的也可以解答一下,谢谢。

    4.matlab中对FFT的应用、频谱的解释

    Mr.括号:频域特征值提取的MATLAB代码实现(频谱、功率谱、倒频谱)zhuanlan.zhihu.com
    a1b3843d85a4a43e36fddf984f2273f4.png
    Mr.括号:信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)zhuanlan.zhihu.com
    077990952615c389e983efede774f73c.png
    展开全文
  • clear;FWHM=50e-12;%高斯信号FWHM宽度,为50pstime_window=100*FWHM;%高斯信号的采样窗口宽度,该值决定了傅里叶变换后的频率分辨率Ns=2048;%采样点dt=time_window/(Ns-1);%采样时间间隔t=0:...

    %================

    %作者:yoyoba

    %Email:stuyou@126.com

    %================

    clc;

    clear;

    FWHM=50e-12;

    %高斯信号FWHM宽度,为50ps

    time_window=100*FWHM;

    %高斯信号的采样窗口宽度,该值决定了傅里叶变换后的频率分辨率

    Ns=2048;

    %采样点

    dt=time_window/(Ns-1);

    %采样时间间隔

    t=0:dt:time_window;

    %采样时间

    gauss_time=exp(-0.5*(2*sqrt(2*log(2))*(t-2.5e-9)/FWHM).^2);

    %高斯脉冲,中心位于2.5ns处。

    plot(t*1e+9,gauss_time,'linewidth',2.5);

    xlabel('Time/ns');

    ylabel('Amplitude/V');

    title('Gauss pulse');

    %================

    %以下计算双边谱、双边功率谱、双边功率谱密度

    %================

    gauss_spec=fftshift(fft(ifftshift(gauss_time)));

    %傅里叶变换,并且进行fftshift移位操作。

    gauss_spec=gauss_spec/Ns;

    %求实际的幅度值;

    df=1/time_window;

    %频率分辨率

    k=floor(-(Ns-1)/2:(Ns-1)/2),

    double_f=k*df;

    %双边频谱对应的频点

    figure;%幅度谱

    plot(double_f*1e-9,abs(gauss_spec),'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Amplitude/V');

    title('double Amplitude spectrum');

    figure;%相位谱

    plot(double_f*1e-9,angle(gauss_spec),'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Phase/rad');

    title('double Phase spectrum');

    figure;%功率谱

    double_power_spec_W=abs(gauss_spec).^2;

    %双边功率谱,单位W;

    double_power_spec_mW=double_power_spec_W*1e+3;

    %双边功率谱,单位mW;

    double_power_spec_dBm=10*log10(double_power_spec_mW);

    %双边功率谱,单位dBm;

    plot(double_f*1e-9,double_power_spec_dBm,'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Power/dBm');

    title('double Power spectrum');

    figure;%功率谱密度

    double_power_specD_W=abs(gauss_spec).^2/(df);

    %双边功率谱密度,单位W/Hz

    double_power_specD_mW=double_power_specD_W*1e+3;

    %双边功率谱密度,单位mW/Hz

    double_power_specD_dBm=10*log10(double_power_specD_mW);

    %双边功率谱密度,单位dBm/Hz

    plot(double_f*1e-9,double_power_specD_dBm,'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Power/(dBm/Hz)');

    title('double power spectrum Density');

    %================

    %以下计算单边谱、单边功率谱及单边功率谱密度

    %================

    gauss_spec=fft(ifftshift(gauss_time));

    %计算单边谱无需fftshift

    gauss_spec=gauss_spec/Ns;

    %计算真实的幅度值

    single_gauss_spec=gauss_spec(1:floor(Ns/2));

    single_f=(0:floor(Ns/2)-1)*df;

    figure;%幅度谱

    plot(single_f*1e-9,abs(single_gauss_spec),'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Amplitude/V');

    title('single Amplitude spectrum');

    figure;%相位谱

    plot(single_f*1e-9,angle(single_gauss_spec),'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Phase/rad');

    title('single Phase spectrum');

    figure;%功率谱

    double_power_spec_W=abs(gauss_spec).^2;

    single_power_spec_W=2*double_power_spec_W(1:floor(Ns/2));

    %单边功率谱,单位W

    single_power_spec_mW=single_power_spec_W*1e+3;

    %单边功率谱,单位mW;

    single_power_spec_dBm=10*log10(single_power_spec_mW);

    %双边功率谱,单位dBm;

    plot(single_f*1e-9,single_power_spec_dBm,'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Power/dBm');

    title('single Power spectrum');

    figure;%功率谱密度

    double_power_specD_W=abs(gauss_spec).^2/(df);

    single_power_specD_W=2*double_power_specD_W(1:floor(Ns/2));

    %单边功率谱密度,单位W/Hz

    single_power_specD_mW=single_power_specD_W*1e+3;

    %单边功率谱密度,单位mW/Hz

    single_power_specD_dBm=10*log10(single_power_specD_mW);

    %单边功率谱密度,单位dBm/Hz

    plot(single_f*1e-9,single_power_specD_mW,'linewidth',2.5);

    xlabel('Frequency/GHz');

    ylabel('Power/(dBm/Hz)');

    title('single power spectrum density');

    部分运行结果:

    http://www.jishulink.com/content/post/340355

    详情运行结果见技术邻http://www.jishulink.com/content/post/340355

    展开全文
  • 这是我在知乎上的一个回答,鉴于很多...信号按能量是否有限,可以分为:能量信号和功率信号,能量信号的能量是有限的,功率信号的能量是无限的。下面我们具体解释一下这两个概念。在信号系统领域,通常把信号功率...

    这是我在知乎上的一个回答,鉴于很多朋友对这几个概念不是很清楚,就在公众中发一下。

    这几个概念,对于刚学信号系统的同学甚至对于很多信号处理的老手来说,都是分不清楚的,下面我们就一一解释这几个概念。

    要解释几个概念,就要首先说一下信号的能量和功率。信号按能量是否有限,可以分为:能量信号和功率信号,能量信号的能量是有限的,功率信号的能量是无限的。下面我们具体解释一下这两个概念。

    在信号系统领域,通常把信号功率定义为电流在单位电阻(1欧姆)上消耗的功率,即归一化功率P。

    一般的,用s表示电流或电压,信号能量是信号瞬时功率的积分,因此,信号的能量为:

    若信号能量是一个正的有限值,即 ,则称为能量信号,此时的平均功率定义为:

    由于积分里面是个有限值,而T是无穷大,因此P=0,所以能量信号的平均功率是0.

    也就是说,如果P不是0(功率信号),那么积分的结果肯定是无穷大,也就说能量是无穷大。

    所以,这里再重复一遍上面的结果:

    能量信号:能量有限,平均功率为0;

    功率信号:能量无穷大,功率非0。

    举两个简单例子,单位冲激信号就是一个典型的能量信号,因为它在无穷大区间上的积分是1,是个有限值。而阶跃信号(或者某个电压非0的直流信号或周期信号)就是功率信号,因为它在无穷大区间上的积分是无穷大。

    搞清楚上面两个概念之后,我们再来看信号的频率特性分类,有四种:功率信号的频谱、能量信号的频谱密度、功率信号的功率谱(密度)和能量信号的能量谱密度

    功率信号的频谱:

    周期性功率信号的频谱函数为:

    式中, ,为整数.

    一般来说, 是一个复数,代表在频率 上信号分量的复振幅。

    对于周期性功率信号来说,其频谱函数cn(cn就是s(t)的傅里叶系数)是离散的,只有在f0的整数倍上取值。由于n可以取负值,所以在负频率上 c_{n} 也有值,通常称为双边频谱,双边普中负频谱仅在数学上有意义;在物理上,并不存在负频率。但我们可以找到物理上实信号的频谱和数学上的频谱函数的关系,对于物理可实现信号有

    即频谱函数的正频率部分和负频率部分间存在复数共轭关系。这就是说,负频谱和正频谱的模是偶对称的,相位是奇对称的。

    对于非周期性的功率信号,原则上可以看成周期等于无穷大,仍然可以按照以上公式,但是实际上的积分是难以计算的。

    能量信号的频谱密度:

    设一个能量信号为 s(t) ,则将它的傅里叶变换定义为它的频谱密度:

    傅里叶变换存在的条件是f(t)在负无穷到正无穷的区间内积分为有限大,即绝对可积。因此傅里叶变换的结果就是能量信号的频谱密度,但为了统一说法,我们一般也叫频谱。

    (我们平时所说的做个fft看频谱,其实是指的频谱密度)

    那为什么叫频谱密度呢?因为能量信号能量有限,并分布在连续的频谱轴上,所以在每个频点f上信号的幅度是无穷小,只有在一小段频率间隔df上才有确定的非零振幅。所以,能量信号的频谱都是0,频谱密度才有意义。

    能量信号的频谱密度s(f)和周期性功率信号的频谱Cn的区别主要为:

    1. .S(f)是连续谱,Cn是离散谱。即周期对应离散,非周期对应连续。

    2. S(f)的单位是V/Hz,Cn的单位是V。

    从傅里叶变换的公式可以看出,s(t)在时间维上的积分,结果的量纲应该是V*s = V/Hz,所以傅里叶变换的结果是频谱密度。

    这里多说一点,量纲是个好东西,很多公式不理解的时候,把量纲分析一下,能起到很大作用。

    看到这里,可能有点明白了。但再回想一下信号系统中最常见的正弦信号,这是个功率信号,但我们平时好像一直在说它的傅里叶变换,也并没有什么太大问题。这是因为引入了单位冲击函数 ,其性质如下

    在物理上是不可实现的,但在数学上, 可以用某些函数的极限来描述。例如用抽样函数的极限描述:

    换句话说,抽样函数的极限就是冲激函数。

    有了冲激函数,我们就可以把功率信号当做能量信号看待,计算其频谱密度,功率信号在某些频率上的功率密度为无穷大。但是我们可以用冲击函数来表示这些频率分量。比如:

    因此,只要引入冲激函数,我们同样可以求出一个功率信号的频谱密度,换句话说,引用了冲激函数就能把频谱密度推广到功率信号上,即我们可以直接对功率信号做傅里叶变换。这样把傅里叶变换的结果统称为频谱(严格来说应该是频谱密度)。

    能量信号的能量谱密度:

    根据Parseval定理,信号时域能量和频域能量相等,有

    我们将 称为能量信号的能量谱密度,它表示在频率f处宽度为df的频带内的信号能量,或者可以看做是单位频带内的信号能量。

    功率信号的功率谱(密度):

    这里为什么要把密度加括号呢?因为当我们说功率谱的时候,其实指的就是功率谱密度,它表示单位频率的信号功率。

    可能网上有人提过这种说法:若信号能量为E,时间为T,频带为F,则功率谱是表示为E/T;而功率谱密度是表示为E/T/F。

    这种说法其实是有问题的,因为E/T表示的是平均功率,而不是功率谱,平均功率并没有谱的概念。

    信号的平均功率定义为:

    设 表示信号的功率谱密度,则有

    因此,信号的功率谱密度为:

    往期文章:

    FPGA相关:

    其他:

    FPGA时序约束教程:

    欢迎关注:

    加信号处理技术交流群的朋友请加微信:xhclsys2,请备注“信号”

    微信公众号:Quant_Times

    Reading_Times

    在这里插入图片描述

    展开全文
  • 不知道你的数据是如何存的,把它对应到空间的波长就行。clear allclcspe_line=[850.383366 845.954173 840.504529 834.251550 827.499202 820.486313 813.386577 806.265129 799.143...

    不知道你的谱数据是如何存的,把它对应到空间的波长就行。

    clear all

    clc

    spe_line=[850.383366        845.954173        840.504529        834.251550        827.499202        820.486313        813.386577        806.265129        799.143681        791.978810        784.792227        777.562221        770.353926        763.210767        756.241301        749.445529];

    % n1=1024;

    % n2=1024;

    n1=4;

    n2=4;

    x=linspace(0,30,n1);

    y=linspace(0,30,n2);

    [X,Y]=meshgrid(x,y);

    spe=reshape(spe_line,[n1,n2]);

    mesh(X,Y,spe)

    xlabel('你的x坐标 \mum')

    ylabel('你的y坐标')

    zlabel('你的z坐标 nm^2 \cdot \mum^2')

    title('你的题目'),

    展开全文
  • AR模型功率谱估计又称为自回归模型,它是一个全极点的模型,要利用AR模型进行功率谱估计须通过levinson_dubin递推算法由 Yule-Walker方程求得AR的参数:σ2,α1α2…αp。计算中,预测系数必须满足Lenvinson-Durbin...
  • 并联型有源电力滤波器(SAPF)是治理谐波污染的有效手段,能有效的...本方法结合了小波变换能准确检测突变信号的优点和傅里叶变换能对平稳信号进行精确分析的优点,应用于谐波检测中,先用小波变化滤除电网中突变信...
  • 包含经典功率谱估计:直接法,间接法,Bartlett法,Welch法以及信号的N点傅里叶变换matlab源程序
  • matlab求单边功率谱

    千次阅读 2019-08-13 20:26:25
    功率谱有好几种方法,本文例两种,一种是先求信号频谱,然后取平方后平均;第二种是用welch法(可指定各种窗)。 rng default; fs = 1000; % 采样率 t = 0:1/fs:1-1/fs; % x = cos(2*pi*50*t)+ randn(size(t)); x ...
  • 傅里叶变换Fourier transform 1 傅里叶变化基本知识1.1 一维连续Fourier变换对函数f(x)...定义幅值为:定义相位为:用幅值和相位表示傅立叶变换能量谱(或功率谱)现在可以来复习一下傅里叶变换hui gu yi xia:当然了...
  • 功率谱功率谱密度-MATLAB

    千次阅读 多人点赞 2020-05-19 23:15:38
    转载于matlab论坛 今天做EEG用到了功率谱...2,pwech方法是计算功率谱密度的,而spectrogram函数,STFT函数,以及tfrstft函数都是计算短时傅里叶变换的,给的是不同时间的频谱值,与功率谱功率谱密度没有关系。 3,在
  • matlab功率谱计算

    千次阅读 2014-09-12 16:35:44
    功率谱估计在现代信号处理中是一个很重要的课题,涉及的问题很多。在这里,结合matlab,我做一个粗略介绍。...间接法先计算N点样本数据的自相关函数,然后取自相关函数的傅里叶变换,即得到功率谱的估计.都可以编程实
  • clear;FWHM=50e-12;%高斯信号FWHM宽度,为50pstime_window=100*FWHM;%高斯信号的采样窗口宽度,该值决定了傅里叶变换后的频率分辨率Ns=2048;%采样点dt=time_window/(Ns-1);%采样时间间隔t=0:...
  • :) FFT频谱分析 短时傅里叶变换 经典功率谱估计(weltch法和Thomson多窗估计法) 现代功率谱估计AR模型法 1.1.jpg 1.1tu.jpg 1.2.jpg...
  • 功率谱估计常用方法的探讨及相关matlab实现 对功率谱估计常用方法的探讨及应用分析 DSP课程设计 对功率谱估计常用方法的探讨及应用分析邹亮SA10023028zouliang@ 对功率谱估计常用方法的探讨及应用分析 进行傅里叶...
  • 个人收集整理-仅供参考个人收集整理-仅供参考 个人收集整理-仅供参考 PAGE / NUMPAGES 个人收集整理-仅供参考 功率谱估计性能分析及Matlab仿真 1 引言 随机信号在时域上是无限长地在测量样本上也是无穷多地因此随机...
  • % %直接法又称为周期图法,就是把x(n)的N个数据视为已能量有限的序列,直接计算% %x(n)的离散傅里叶变换,得X(k),然后再取其幅值的平方,作为功率谱的估计% t=linspace(0,1,1000);% signal=4*sin(2*pi*50*t)+5*sin...
  • 或者根据自相关函数和密度之间的傅里叶变换关系 来计算,称为间接法或自相关函数法。 还可以先作加窗平滑处,对序列x(n)或估计的自相关函数进行加窗(如汉宁窗、汉明窗)截断,前者称作数据窗,后者称作滞后窗。 ...
  • 一维和二维傅里叶变换的CPP代码

    千次阅读 2012-03-11 09:23:58
    自己写了一个,和Matlab对比了一下,结果是一样的,供各位参考吧   // ====================...// 快速离散傅里叶变换功率谱 // 一维快速傅里叶变换FFT1和二维快速傅里叶变换FFT2 // 测试环境 C++ builder 2010 //
  • 在信号分析领域中,功率谱是通过傅里叶变换将信号的功率谱随着频率的变化的规律反映出来,从而识别信号的频率成分,也可以识别信号的周期成分
  • 短时傅里叶变换(3)

    2019-04-29 11:01:01
    目录: 前言 实验环境 Matlab spectrogram函数 1语法 ...3.2鸟声信号功率谱密度追踪 参考: 前言 之前讲了时频分析的原理,现在来讲讲它在matlab里面的实现。 想要复习原理的同学,可以参...
  • 3.2鸟声信号的功率谱密度 3.2.1平方鸟声信号 3.2.线性鸟声信号 3.3对数鸟声信号 参考: 前言 之前讲了时频分析的原理,现在来讲讲它在matlab里面的实现。 想要复习原理的同学,...
  • 讲这个话题,就要先搞清楚频谱、功率谱的概念,可参考我的另一篇文章信号的频谱 频谱密度 功率谱密度 能量谱密度做信号处理的朋友应该都会fft比较熟悉,就是求傅里叶变换。我在这里也不再去讲这个函数了,但需要注意...
  • MATLAB - 傅里叶分析及 FFT 频谱分析

    千次阅读 2020-12-09 14:13:04
    当数据表示为时间或空间的函数时,傅里叶变换会将数据分解为频率分量。 % 带有噪声的信号 t = 0:.001:.25; x = sin(2*pi*50*t) + sin(2*pi*120*t); y = x + 2*randn(size(t)); % 对信号进行fft变换 Y = fft(y,251...
  • 讲这个话题,就要先搞清楚频谱、功率谱的概念,可参考我的另一篇文章 信号的频谱 频谱密度 功率谱...做信号处理的朋友应该都会fft比较熟悉,就是求傅里叶变换。我在这里也不再去讲这个函数了,但需要注意的一点 ...
  • MATLAB 语音信号处理之显示频谱、滤波显示原始语音信号的特征频带(峰位置)设计低通滤波器对语音信号进行处理 ...利用audioread函数对录音进行采样,将采样后的信号进行快速傅里叶变换,使其从时域信号转换为频域...
  • 在解决这个问题之前我们先明确...所以与之对应的就是维纳-辛钦定理,自相关函数与功率谱密度是一个傅里叶变换对。同样如此,自相关函数也是一个统计平均值,所以理论上我们需要对信号进行无数次采样来进行统计平均...
  • 讲这个话题,就要先搞清楚频谱、功率谱的概念,可参考我的另一篇文章信号的频谱 频谱密度 功率谱密度 能量谱密度做信号处理的朋友应该都会fft比较熟悉,就是求傅里叶变换。我在这里也不再去讲这个函数了,但需要注意...
  • 方法:先由序列x(n)估计出自相关函数R(n),然后对R(n)进行傅里叶变换,便得到x(n)的功率谱估计。 (1)、自相关函数 求解步骤:(1)移位;(2)相乘;(3)相加。 function y = myXcorr(x) %输入x:长度为n的一维行...
  • 功率谱估计方法介绍

    2009-09-23 21:38:00
    功率谱估计方法介绍【转】(2009-01-20 11:12:25)标签:谱估计 功率谱 周期图 matlab 傅里叶 文化 分类:学习 功率谱估计在现代信号处理中是一个很重要的课题,涉及的问题很多。在这里,结合matlab,我做一个粗略...

空空如也

空空如也

1 2 3 4
收藏数 70
精华内容 28
关键字:

matlab傅里叶变换功率谱

matlab 订阅