精华内容
下载资源
问答
  • MATLAB傅里叶变换常用函数示例
  • Matlab软件编程实现一般是用衍射积分方法和傅里叶变换方法实现夫琅禾费衍射和菲涅耳衍射的计算机模拟。使用傅里叶变换的方法把实际光学实验现象和Matlab编程结合起来, 通过大量的对比仿真实验验证了光学衍射的规律, ...
  • 对图片进行傅里叶变换,并显示平移对傅里叶变换结果的影响
  • matlab实现傅里叶变换代码 该存储库包含一组MATLAB代码,以实现有限差分方案来求解偏微分方程。 这些代码是Goa校园BITS Pilani的PDE数值方法课程的一部分。 抛物线偏微分方程 线法 前锋欧拉 后向欧拉 曲柄尼科尔森法...
  • 中国科技论文在线 基于 MATLAB GUI 的傅里叶变换分析的仿 真设计 高恒伟宋余君何辉* 中国矿业大学信电学院江苏徐州 221008 摘要本文简要阐述了傅里叶变换的基本原理傅里叶变换的性质傅里叶变换的尺度变换 性频移特性...
  • 班级 实验地点 实验日期 实验序号1 实验类型验证性 学时6 一实验项目名称用matlab计算离散短时傅里叶变换 二实验目的与要求 用matlab计算傅里叶变换傅里叶变换 三实验内容 1.正弦信号f(t)=ejw0t的短时傅里叶...
  • matlab傅里叶变换

    千次阅读 2019-10-18 14:18:29
    更多MATLAB图像处理视频请点击  ...   图像变换:     更多MATLAB图像处理视频请点击  http://study.163.com/course/courseMain.htm?...

    更多MATLAB图像处理视频请点击  http://study.163.com/course/courseMain.htm?courseId=1003594013   

    图像变换:    

    更多MATLAB图像处理视频请点击  http://study.163.com/course/courseMain.htm?courseId=1003594013

         在 MATLAB 中,一般用二元函数 f(x, y) 作为图像的数学表示。  f( x, y) 表示在特定点f( x, y) 处的函数值,表示图像在该点相应的颜色强度或者灰度。所谓图像变换就是指把图像转换为另一种数学表示方式的操作。

            在图像处理技术中,图像的正交变换技术有着广泛的应用,是图像处理的重要工具。通过变换图像,改变图像的表示域及表示数据,可以给后继工作带来极大的方便。例如,傅立叶变换可使处理分析在频域中进行,使运算简单;而离散余弦变换(DCT)可使能量集中在少数数据上,从而实现数据压缩,便于图像传输和存储。

             1.傅立叶变换的基本概念

           假设  f (m,n) 是一个包含两个离散空间变量 m 和 n 的函数,则该函数的二维傅立叶变换的定义如下:

                                                                

           式中, ω 1 和 ω 2 为频域变量,其单位为弧度/采样单元。通常函数 F( ω 1 ,  ω 2 )称为函数 f (m, n)的频域表示。F( ω 1 ,  ω 2 )是复变函数,其变量 ω 1 和 ω 2 的周期均为 2π。因为这种周期性的存在,所以通常在图像显示时,这两个变量的取值范围为-pi<=ω 1,ω 2<=pi.

       傅立叶反变换定义如下:

                

            简单地说,该方程说明 f (m, n)可以表示为无限多项不同频率的复指函数之和。而不同的频率点( ω 1 ,  ω 2 )所做的贡献由幅度 F( ω 1 ,  ω 2 )决定。

       

          例如,考察下面的矩形函数 f (m, n)。该函数在一个矩形的区域中的函数值为 1,其他区域都为 0,如图 所示。
          在 MATLAB 中,变量 m、n 和函数 f (m, n)均采用离散表示,所以要想真实地逼近连续函数,只能通过提高取样率。因此,f (m, n)函数的傅立叶变换可由以下程序段获得,傅立叶变换的幅值即|F( ω 1 ,  ω 2 )|,如图 (b)所示。其中 x 轴和 y 轴分别为水平分量和垂直分量

    例:  

    N=100;
    f=zeros(50,50);
    f(15:35,23:28)=1;
    figure(1);
    imshow(f,'InitialMagnification','fit');title('矩形连续函数')
    %图片自动适应窗口大小输出

    F=fft2(f,N,N);
    % F = fft2(f,N,N)是由用户设定变换区域的大小NxN。当然,如果用户设定的区域大小不是 2 的整数次方,FFT 还会有默认的补零操作

    F2=fftshift(abs(F));
    %fftshift的作用正是让正半轴部分和负半轴部分的图像分别关于各自的中心对称。
    %因为直接用fft得出的数据与频率不是对应的,fftshift可以纠正过来

    figure(2);
    x=1:N;y=1:N;
    mesh(x,y,F2(x,y)),title('傅立叶变换幅值');%三维网格图
    colormap(gray);%输出灰色系曲面图
    colorbar;%添加颜色条





    2.离散傅立叶变换

          在用计算机处理傅立叶变换通常采用离散傅立叶变换(Discrete Fourier Transform,DFT)。采用离散傅立叶变换主要有以下两个原因:

        (1)因为 DFT 的输入/输出均为离散值,非常适用于计算机的运算操作。
       (2)采用离散傅立叶变换,就可以用一种快速算法,即快速傅立叶变换(Fast FourierTransform,FFT)。
         FFT 的设计思想是将原函数分为奇数项和偶数项,通过不断将一个奇数项和一个偶数项相加(减),得到需要的结果。

       也就是说 FFT 是将复杂的乘法运算变成两个数相加(减)的简单运算的重复,即通过计算两个单点的 DFT,来计算两个双点的 DFT;通过计算两个双点的 DFT,来计算四个  点的DFT⋯⋯依此类推。

        对于任何 N=2 m 的 DFT 的计算,通过计算两个 N/2 点的 DFT,来计算 N 个点的 DFT。
        数学定义:

       

          在 MATLAB 中,可分别用函数 fft、fft2 和 fftn 来计算一维、二维和 n 维的 FFT,而其反变换依次为 ifft、ifft2 和 ifftn。

    例:

     f = zeros(30,30);
    f(5:24,13:17) = 1;
    imshow(f,'InitialMagnification','fit');title('矩形连续函数');
    %图片自动适应窗口大小输出
    F = fft2(f);
    F2 = log(abs(F));%输出幅度值的另一种方法
    figure
    imshow(F2,[-1 5],'InitialMagnification','fit'); colormap(jet); colorbar;title('傅里叶变换幅值');
    %matlab colormap(jet)中数值大为红色,数值小为蓝色

        在计算离散傅立叶变换时,可以通过下面的语句对被变换函数(或图像区域)进行补零操作来提高分辨率,具体调用方式如下:
        F = fft2(f,M,N);M×N 表示进行补零操作后被变换区域的大小,与原区域不相重叠的区域补零。


    3.利用傅立叶变换进行图像特征识别

    (1)快速卷积

             傅立叶变换的另一个重要特性是能够实现快速卷积。由线性系统理论可知,两个函数的卷积的傅立叶变换等于两个函数的傅立叶变换的乘积。该特性与快速傅立叶变换一
    起,可以快速计算函数的卷积

    fft(f1*f2)=fft(f1)x fft(f2)

    f1*f2=ifft(fft(f1)xfft(f2));

    (2)图像特征识别

         傅立叶变换可以用于与卷积密切相关的相关运算(correlation)。在数字图像处理中的相关运算通常用于匹配模板,可以用于对某些模板对应的特征进行定位。例如,假如我们希望在图像 text.tif 中定位字母“a”,如图所示,可以采用下面的方法定位。

        将包含字母“a”的图像与图像 text.png 进行相关运算,也就是对字母“a”的图像和图像 text.png 进行傅立叶变换,然后利用快速卷积的方法,计算字母“a”和图像 text.png 的卷积,提取卷积运算的峰值,即得到在图像 text.png 中对应字母“a”的定位结果。

    例:

    bw=imread('text.png');
    >> a=bw(32:45,88:98);
    >> figure,imshow(bw),title('原图,在这幅图中找出字母a的位置');
    >> figure,imshow(a),title('字母a');
    >>
    >> C = real(ifft2(fft2(bw) .* fft2(rot90(a,2),256,256)));
    figure, imshow(C,[]),title('C');
    >> max(C(:))

    ans =

       68.0000

    >> thresh=60;
    >> figure,imshow(C>thresh);
    >> %卷积运算的值大于60的输出为白色,小于的为黑色,卷积值反映了相似程度,越大表示越相近,当大于阈值的时候就任务是字母'a'了,


    更多MATLAB图像处理视频请点击  http://study.163.com/course/courseMain.htm?courseId=1003594013

    展开全文
  • 总结:求傅里叶变换,通常必须用函数fft(), 但是出来的是双边谱,需要转换为单边谱。这个时候有一标准化的动作: y=fft(s); p2=abs(y/L); p1=p2(1:L/2+1); p1(2:end-1)=2*p1(2:end-1); 完整代码如下: %% ...

     总结:求傅里叶变换,通常必须用函数fft(),   但是求出来的是双边谱,需要转换为单边谱。这个时候有一标准化的动作:

    y=fft(s);
    p2=abs(y/L);
    p1=p2(1:L/2+1);
    p1(2:end-1)=2*p1(2:end-1);

     完整代码如下:

    %% Noisy Signal
    % Use Fourier transforms to find the frequency components of a signal buried 
    % in noise.
    % Specify the parameters of a signal with a sampling frequency of 1 kHz and
    % a signal duration of 1 second.
    % Copyright 2015 The MathWorks, Inc.
    Fs = 1000;            % Sampling frequency                    
    T = 1/Fs;             % Sampling period       
    L = 1000;             % Length of signal
    t = (0:L-1)*T;        % Time vector
    %% 
    % Form a signal containing a 50 Hz sinusoid of amplitude 0.7 and a 120 Hz 
    % sinusoid of amplitude 1.
    
    S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
    %% 
    % Corrupt the signal with zero-mean white noise with a variance of 4.
    
    X = S + 2*randn(size(t));
    %% 
    % Plot the noisy signal in the time domain. It is difficult to identify 
    % the frequency components by looking at the signal |X(t)|. 
    figure(1);
    subplot(311)
    plot(1000*t(1:50),X(1:50));
    title('Signal Corrupted with Zero-Mean Random Noise');
    xlabel('t (milliseconds)');
    ylabel('X(t)')
    %% 
    % Compute the Fourier transform of the signal. 
    Y = fft(X);
    %%
    % Compute the two-sided spectrum |P2|.  Then compute the single-sided
    % spectrum |P1| based on |P2| and the even-valued signal length |L|.
    P2 = abs(Y/L);
    P1 = P2(1:L/2+1);
    P1(2:end-1) = 2*P1(2:end-1);
    %% 
    % Define the frequency domain |f| and plot the single-sided amplitude
    % spectrum |P1|.  The amplitudes are not exactly at 0.7 and 1, as expected, because of the added 
    % noise. On average, longer signals produce better frequency approximations.
    f = Fs*(0:(L/2))/L;
    subplot(312)
    plot(f,P1);
    title('Single-Sided Amplitude Spectrum of X(t)');
    xlabel('f (Hz)');
    ylabel('|P1(f)|');
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    Y = fft(S);
    P2 = abs(Y/L);
    P1 = P2(1:L/2+1);
    P1(2:end-1) = 2*P1(2:end-1);
    subplot(313);
    plot(f,P1);
    title('Single-Sided Amplitude Spectrum of S(t)')
    xlabel('f(Hz)');
    ylabel('|P1(f)|');
    grid on;

    运行结果:

     

    后来发现太麻烦了,还是有一个自己写得fft函数比较顺手:

    function [f, spectrum ] = gan_fft(s,Fs,L)
    %GAN_FFT 此处显示有关此函数的摘要
    %   此处显示详细说明
    y=fft(s);
    p2=abs(y/L);
    p1=p2(1:L/2+1);
    p1(2:end-1)=2*p1(2:end-1);
    f = Fs*(0:(L/2))/L;
    spectrum=p1;
    
    end
    
    

     

    展开全文
  • 大纲从积分变换谈起积分变换的基本概念积分变换的来源傅里叶级数傅里叶级数的相关基础概念傅里叶级数的基石——三角函数系及其正交性三角函数系三角函数系的正交性傅里叶级数的含义傅里叶系数的导出傅里叶级数收敛...

    从积分变换谈起

    积分变换的基本概念

    积分变换是函数变换的一种。积分变换可以通过计算原函数与一个含参函数的乘积的积分映射为另一个函数。这里要变换的原函数称为原像函数,含参函数称为积分变换核函数,变换后的函数称为像函数
    积分变换的基本概念

    积分变换的来源

    积分变换来源于数学中的转化思想。在数学中有些问题直接求解较为复杂,而通过转化就能将原问题转化成较为简单的问题,通过求解较为简单的问题,得到解之后再进行逆变换就能得到原问题的解。比如通过取对数将复杂的乘积运算转化为加减运算,然后通过对数的逆运算——指数运算可以得到原问题的解。

    如要计算: a b × a c a^b \times a^c ab×ac。将整个式子取以a为底的对数, log ⁡ a ( a b × a c ) = b + c \log_a (a^b \times a^c)=b+c loga(ab×ac)=b+c,然后再将结果取以a为底,b+c为幂的指数,得到 a b × a c = a b + c a^b \times a^c=a^{b+c} ab×ac=ab+c。这就是积分变换转化思想的核心所在。

    傅里叶级数

    要深入了解傅里叶变换,就不得不先了解傅里叶级数和傅里叶积分。

    傅里叶级数的相关基础概念

    傅里叶级数和幂级数都可以用来逼近函数,但是幂级数要求被逼近函数连续,且有任意阶导数(从函数的幂级数展开式中包含任意阶导数可以理解这一点。),同时还要求余项的极限为0。而傅里叶级数只要求函数连续或者有有限个第一类间断点。(确保被逼近函数可积,从傅里叶级数的系数由积分确定可以理解这一点。)

    傅里叶级数的基石——三角函数系及其正交性

    三角函数系

    三角函数系为 1 , cos ⁡ x , sin ⁡ x , cos ⁡ 2 x , sin ⁡ 2 x , . . . , cos ⁡ n x , sin ⁡ n x . . . 1,\cos {x},\sin{x},\cos{2x},\sin{2x},...,\cos{nx},\sin{nx}... 1,cosx,sinx,cos2x,sin2x,...,cosnx,sinnx...

    三角函数系的正交性

    三角函数系在 [ − π , π ] [-\pi,\pi] [π,π]上正交,也就是说上述三角函数系中任意两个相异函数的乘积在 [ − π , π ] [-\pi,\pi] [π,π]的积分为0。(函数系的正交和我们之前理解直线垂直和向量正交都不一样,但是共同点都在于乘积为0,只是此处是乘积的积分为0。)
    三角函数系的正交性
    对于上图中的第一二个式子,可以由三角函数的周期性很容易理解,也可以直接通过积分求得。
    而对于上图中的3,到5式,则可以通过积化和差后依然由三角函数的周期性得到。验证三角函数系的正交性
    注意:两个相同函数的乘积在 [ − π , π ] [-\pi,\pi] [π,π]上不为0。事实上,有如下结果在这里插入图片描述

    傅里叶级数的含义

    所谓函数的傅里叶级数,就是把函数表示成三角级数的形式。在这里插入图片描述如上式右边所示的函数项级数就是三角级数。其中的系数 a 0 , a k , b k a_0,a_k,b_k a0,ak,bk称为傅里叶系数,由下面的式子给出(注意 a a a a 0 a_0 a0开始而 b b b b 1 b_1 b1开始)在这里插入图片描述

    傅里叶系数的导出

    在这里插入图片描述
    在这里插入图片描述
    从上述导出傅里叶系数的过程中可以看出,三角函数系的正交性是导出傅里叶系数的关键。(相异函数积分为0,相同函数除1外全为 π \pi π)。
    而且也可以理解为什么三角级数的常数项是 a 0 2 \frac{a_0}{2} 2a0。这样的话恰好与后面导出的 a n a_n an n = 0 n=0 n=0的时候是一致的。

    傅里叶级数收敛条件与收敛定理

    当周期为 2 π 2\pi 2π的函数满足狄利克雷条件:

    1. [ − π , π ] [-\pi,\pi] [π,π]上连续或者有有限个间断点(是可积的)
    2. 在一个周期上有有限个极值点(保证函数不作无限次振动)

    则函数 f ( x ) f(x) f(x)的傅里叶级数 a 0 2 + ∑ n = 0 ∞ ( a n cos ⁡ n x + b n sin ⁡ n x ) \frac{a_0}{2}+\sum_{n=0}^{\infty} (a_n\cos nx + b_n\sin nx) 2a0+n=0(ancosnx+bnsinnx)收敛于 1 2 [ f ( x − 0 ) + f ( x + 0 ) ] \frac{1}{2}[f(x-0)+f(x+0)] 21[f(x0)+f(x+0)]。则当x是函数的连续点时傅里叶级数收敛于 f ( x ) f(x) f(x)。 而当x是 f ( x ) f(x) f(x)的间断点的时候,傅里叶j数收敛于 1 2 [ f ( x − 0 ) + f ( x + 0 ) ] \frac{1}{2}[f(x-0)+f(x+0)] 21[f(x0)+f(x+0)].

    为便于理解,下面给出了一个傅里叶级数的典型例题。在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    从上面这个例题中也可以看出,当f(x)是一个奇函数的时候,由于奇函数乘以 cos ⁡ n x \cos nx cosnx仍然是奇函数,在对称区间 [ − π , π ] [-\pi,\pi] [π,π]上积分为0,其傅里叶级数将只包含正弦项。
    注意

    1. 在写函数 f ( x ) f(x) f(x)等于其傅里叶级数的时候一定要注意标明可以取等号的范围,也就是把所有的函数间断点去除。
    2. 傅里叶级数是三角级数,因而其每一项在整个实数范围内都是连续的,但是其和函数却在实数范围内有间断点。
    3. 上述讨论的是定义在R的周期函数的傅里叶级数,而**利用周期延拓可以求出仅仅定义在区间 [ − π , π ] [-\pi,\pi] [π,π]的函数 f ( x ) f(x) f(x)**的傅里叶级数。(注意在写成立范围的时候限定在 [ − π , π ] [-\pi,\pi] [π,π]即可)。如下面这道例题讨论的一样。在这里插入图片描述
      在这里插入图片描述在这里插入图片描述
      注意:上述求出的倒数平方和的结果非常典型,值得记住。

    从周期函数到任意区间函数的傅里叶级数

    周期为 2 π 2\pi 2π的奇函数偶函数的傅里叶级数

    在这里插入图片描述

    定义在区间 [ 0 , π ] [0,\pi] [0,π]的非周期函数的傅里叶级数

    在这里插入图片描述
    从上述图片可以看出,定义在区间 [ 0 , π ] [0,\pi] [0,π]的函数的傅里叶级数并不唯一,选择不同的延拓方式可以得到对应的正弦级数表达式和余弦级数表达式。

    周期为2l的函数的傅里叶级数

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述从上述周期为2l的函数的傅里叶级数的展开式中可以看出 ω = π l \omega=\frac{\pi}{l} ω=lπ。下文洪将用到这个式子得出傅里叶级数的复数表达式。

    定义在任意有限区间 [ a , b ] [a,b] [a,b]函数的傅里叶级数

    对于任意有限区间上的函数,既可以通过换元成定义在对称区间上的函数然后进行周期延拓转化成上一种情况解决;也可以通过换元成定义在[0,l]区间上的函数进行奇延拓或者偶延拓成对称区间上的函数然后进行周期延拓,最后展开成傅里叶级数,
    在这里插入图片描述
    在这里插入图片描述

    傅里叶积分

    傅里叶级数的复指数形式


    在这里插入图片描述
    将傅里叶系数换成指数:在这里插入图片描述在这里插入图片描述
    根据上述 c n c_n cn a n a_n an还有 b n 之 间 的 关 系 , b_n之间的关系, bn, c n c_n cn可以写成:
    在这里插入图片描述

    傅里叶积分的定义

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    对于傅里叶积分公式中的内层积分对应的其实是傅里叶级数的系数,由于是任意函数,周期趋于无穷大,所以变成了积分的样子。外层积分对应的是傅里叶级数的求和符号

    傅里叶积分定理(傅里叶级数收敛定理的升级)

    之前讨论了定义在区间 [ − π , π ] [-\pi,\pi] [π,π]的函数的收敛定理,下面给出了任意函数的傅里叶积分的存在定理:
    在这里插入图片描述
    在这里插入图片描述
    根据欧拉公式可以证明。不懂可以参考:第八章 傅里叶变换 - 百度文库

    傅里叶变换

    傅里叶变换的概念

    在这里插入图片描述
    在这里插入图片描述
    傅里叶变换是一种积分变换,原像函数是 f ( t ) f(t) f(t),像函数对应 F ( ω ) F(\omega) F(ω),核函数为 e − i ω t e^{-i\omega t} eiωt。傅里叶变换对应的其实是求函数的傅里叶系数。原函数和傅里叶系数都能确定一个函数的值,只是两种不同的形式。
    傅里叶逆变换也是一种积分变换,原像函数是 F ( ω ) F(\omega) F(ω),像函数对应 f ( t ) f(t) f(t),核函数为 e i ω t 2 π \frac{e^{i\omega t}}{2\pi} 2πeiωt。傅里叶逆变换对应的是求傅里叶级数的和。

    求傅里叶变换的典型例题

    指数衰减函数的傅里叶变换

    在这里插入图片描述
    在这里插入图片描述
    (请先阅读下文MATLAB在求解fourier变换中的应用后阅读程序)使用MATLAB求上述傅里叶变换如下:

    %% 傅里叶变换eg1
    clc;clear;
    syms t w
    syms b positive  // 定义一个正的常数b
    f(t)=exp(-b*t)*heaviside(t);
    ft=fourier(f(t),w);
    

    运行结果:

    ft =
     
    1/(b + w*1i)
    

    注:

    • heaviside(x)是阶梯函数,x>0时返回1,x<0时返回0,x=0时返回 1 2 \frac{1}{2} 21
    • syms b positive定义一个正的参数b

    根据傅里叶逆变换的定义,可以求出上述傅里叶变换结果的逆变换在这里插入图片描述
    在这里插入图片描述注意

    • 上述求解结果是通过傅里叶变换的定义得到的而不是通过正常的积分手段得到。这说明傅里叶变换可以用来求一些正常积分不好求的特殊积分。
    • 在求解傅里叶逆变换的过程中,经常使用将复指数化成三角形式的技巧,然后通过奇偶性化简。

    使用MATLAB命令求解傅里叶逆变换如下

    clc;clear;
    syms t w b
    ft=ifourier(1/(b + w*1i),t)
    

    运行结果:

    ft =
     
    (exp(-b*t)*(sign(t) + 1))/2
    

    恰好可以得到原函数。(与原函数稍有不同:在间断点x=0处,得到等于左右极限的平均值。这与傅里叶积分定理所给出的结果是一致的。)

    正态钟形函数的傅里叶变换

    在这里插入图片描述
    在这里插入图片描述
    从上述求傅里叶变换的过程中可以看出,对于求指数的负复数平方次幂和实数的结果是一致的,这可以通过换元 x = t + i ω 2 β x=t+\frac{i\omega}{2\beta} x=t+2βiω得到。

    %% 傅里叶变换eg2
    clc;clear;
    syms t  w
    syms A b positive
    f(t)=A*exp(-b*t^2)
    ft=fourier(f(t),w)
    

    运行结果:

    ft =
    (A*pi^(1/2)*exp(-w^2/(4*b)))/b^(1/2)
    

    傅里叶变换的物理意义

    函数 f ( t ) f(t) f(t)的傅里叶变换 F ( ω ) F(\omega) F(ω)称为 f ( t ) f(t) f(t)频谱函数(在物理学中, ω \omega ω是圆频率,所以 F ( ω ) F(\omega) F(ω)是圆频率的函数)。
    而频谱函数的模 ∣ F ( ω ) ∣ |F(\omega)| F(ω)称为振幅频谱

    振幅频谱是偶函数。
    在这里插入图片描述
    F ( ω ) F(\omega) F(ω)是一个复函数,其辐角称为 f ( t ) f(t) f(t)相角频谱
    在这里插入图片描述

    广义傅里叶变换

    单位脉动函数

    单位脉冲函数起源于物理学中的脉冲现象,如断电后的突然来电,总电量是一定的,但是时间非常短,这意味着电流随时间变化的函数 q ( t ) q(t) q(t)与t轴围成的面积是一定的,但是时间极短。当围成的面积是一个单位时就是单位脉冲函数。
    在这里插入图片描述

    单位脉冲函数

    Dirac(狄拉克)第一次引入了单位脉冲函数描述上述积分为定值,但是时间极短的变化过程。

    单位脉冲函数的定义

    在这里插入图片描述
    注意,单位脉冲函数没有具体的显性表达式,凡是满足上述积分性质的函数都可认为时单位脉冲函数

    单位脉冲函数的性质

    单位脉冲函数的积分为1.

    在这里插入图片描述
    在单位脉冲函数的定义中取无穷次可微函数 f ( t ) = 1 f(t)=1 f(t)=1可得到上述结果。

    筛选性质

    在这里插入图片描述
    由于单位脉冲函数只在0附近有函数值,其余为0,则求积分的时候,只有0附近的函数值为 ∞ \infty ,则求 δ ( t ) f ( t ) \delta(t) f(t) δ(t)f(t)的积分过程为: f ( 0 ) × ∞ × 1 ∞ = f ( 0 ) f(0) \times \infty \times \frac{1}{\infty}=f(0) f(0)××1=f(0)

    常见的广义傅里叶变换

    根据傅里叶积分定理,函数 f ( t ) f(t) f(t)能够写成傅里叶积分形式的其中一个前提条件是 f ( t ) f(t) f(t)绝对可积,而这个条件相当强,许多常见的函数如 sin ⁡ x cos ⁡ x x \sin x \cos x x sinxcosxx等都不满足。将单位脉冲函数应用到傅里叶变换中可以得到上述函数的广义的傅里叶变换。

    单位阶跃函数的广义傅里叶变换

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    使用MATLAB求单位阶跃函数的傅里叶变换,同时验证所给出的频谱函数的傅里叶逆变换就是单位阶跃函数的代码如下:

    clc;clear;
    syms t w
    ft1=fourier(heaviside(t),w)
    ft2=simplify(ifourier(ft1,t))
    

    结果如下:

    ft1 =
     
    pi*dirac(w) - 1i/w
     
     
    ft2 =
     
    sign(t)/2 + 1/2
    

    其中dirac(w)就是单位脉冲函数。在MATLAB命令栏中可以验证,dirac(0)=inf,当x不等于0时dirac(x)=0。

    MATLAB求傅里叶变换的应用

    fourier命令

    fourier命令是matlab中求解傅里叶变换的主要命令,包含以下三种调用格式。其中transVar是傅里叶变换后像函数的自变量,一般使用 ω \omega ω

        fourier(f)
        fourier(f,transVar)
        fourier(f,var,transVar)
    

    ifourier命令

    ifourier命令是matlab中求解傅里叶逆变换的主要命令,调用格式和fourier命令相同。

    参考文献与资料

    1. 三角级数及三角函数系的正交性 - 百度文库
    2. 第八章 傅里叶变换 - 百度文库本文主要参考的傅里叶变换的内容,较为详细
    3. 实验三 MATLAB求Fourier变换及逆变换 - 百度文库该教程详细介绍了使用matlab命令求解傅里叶变换的过程
    4. Matlab实现Fourier级数的简单教程 该教程主要是使用MATLAB利用傅里叶级数的公式实现求解傅里叶系数。
    展开全文
  • 1的对称方波的前十项傅里叶级数的系数(三角函数形式),并分别用前三项、前五项和前十项恢复原信号,时域采样点数N=1000,所有图中时间坐标从-0.5到0.5。 ...
  • 基于MATLAB实现快速傅里叶变换()
  • 加窗傅里叶变换的演示 matlab程序 分别对加方窗和海明窗的信号做傅里叶变换 函数可以改变窗口的大小 对理解傅里叶变换和频谱非常有帮助
  • 本程序是根据矩阵的形式实现了一维向量的快速傅里叶变换,程序输入为向量f,输出为其傅里叶变换所得序列F
  • 傅里叶变换matlab代码

    2019-08-30 10:34:34
    根据一组时程数据,在matlab中通过傅里叶变换求解频率f,并且画出相应的图形,振幅随频率变化的曲线等。
  • matlab实现傅里叶变换代码该MATLAB包比较了同步小波变换,同步短时傅立叶变换,同步包分组变换,ConceFT变换和多锥度时频重分配。 它们存储在工具箱“ tftb”,“ sst”,“ ConceFT”和“ SynLab”中。 这些变换的...
  • WORD格式 专业资料整理 MATLAB作业 方法一 N=200;dt=0.001;n=1:200; x=3*sin(2*pi*10*n*dt)+3*sin(2*pi*30*n*dt)+sin(2*pi*40*n*dt)+sin(2 *pi*50*n*dt)+sin(2*pi*60*n*dt)+6*sin(2*pi*80*n*dt; %建立时间序列 X=...
  • matlab 图像傅里叶变换 (源代码)

    热门讨论 2011-12-08 22:20:55
    matlab 图像傅里叶变换 (源代码)
  • 资源中包含了用matlab编写的二维快速傅里叶变换函数源代码,调用格式如下: y=myfft2(x);
  • 应用ATA对信号进行频谱分析及滤波 设计目的 要求学生会用MALA语言进行编程绘出所波形,并且运用FFT对连续信号进行分析 一设计要求 1用Matla产生正弦波矩形波,并显示各自的时域波形图; 2进行FFT变换显示各自频谱图...
  • MATLAB实现傅里叶变换

    万次阅读 多人点赞 2018-04-01 19:51:28
    1.用MATLAB符号运算解法单边指数信号法法f(t)=e^(-2t)u(t)的FT。代码如下: ft=sym('exp(-2*t)*heaviside(t)'); &gt;&gt; fw=fourier(ft); &gt;&gt; fw fw = 1/(2 + w*1i) 2.用MATLAB...

    1.用MATLAB符号运算求解法求单边指数信号法法f(t)=e^(-2t)u(t)的FT。代码如下:

    ft=sym('exp(-2*t)*heaviside(t)');
    >> fw=fourier(ft);
    >> fw
    
    fw =
    
    1/(2 + w*1i)

    2.用MATLAB符号运算求解法求F(jw)=1/(1+w^2)的IFT:程序代码如下:

    close all;
    >> clear all;
    >> syms t;
    >> Fw=sym('1/(1+w^2)');
    >> ft=ifourier(Fw,t)
    
    ft =
    
    exp(-abs(t))/2
    

    3.用MATLAB命令绘单边指数信号法法f(t)=e^(-2t)u(t)的频谱图

    clear all
    >> ft=sym('exp(-2*t)*heaviside(t)');
    >> Fw=fourier(ft);
    >> subplot(211),ezplot(abs(Fw)),grid on,title('幅度谱')
    >> phase=atan(imag(Fw)/real(Fw));
    subplot(212),ezplot(phase);grid on,title('相位谱')
    >> 

    频谱图

    4. 用MATLAB命令求图示的三角脉冲的FT,并绘其频谱图

    >> close all;
    >> clear all
    >> ft=sym('(t+4)/2*heaviside(t+4)-t*heaviside(t)+(t-4)/2*heaviside(t-4)');
    >> Fw=simplify(fourier(ft));
    >> Fw =
    
    - (exp(-w*4i) + exp(w*4i) - w*exp(w*4i)*2i - 2)/(2*w^2) - pi*dirac(w)
    
     %方法一
    >> Fw_conj=conj(Fw);
    >> Gw=sqrt(Fw*Fw_conj);
    >subplot(121)
    >> ezplot(Gw,[-pi pi]),grid on
    >> %方法二
    >> subplot(122) 
    >> ezplot(abs(Fw),[-pi pi]),grid on

    这里写图片描述

    5. 用MATLAB数值计算法求幅度频谱图

    >> close all;
    >> clear all
    >> dt=0.01;
    >> t=-4:dt:4;
    >> ft=(t+4)/2.*((t+4)>=0)-t.*(t>=0)+((t-4)>=0);
    >> N=2000;
    >> k=-N:N;
    >> w=pi*k/(N*dt);
    >> F=dt*ft*exp(-j*t*w); 
    >> F=dt*ft*exp(-j*t'*w);
    >> F=abs(F);
    >> plot(w,F),grid on
    >> axis([-pi pi -1 9])
    >> xlabel('w'),ylabel('F(w)')
    >> title('amplitude spectrum')

    这里写图片描述

    6.FT性质: 尺度变化

    clear all
    >> ft1=sym('heaviside(t+1/2)-heaviside(t-1/2)');
    >> subplot(321)
    >> ezplot(ft1,[-1.5 1.5]),grid on
    >> Fw1=simplify(fourier(ft1));
    >> subplot(322)
    >> ezplot(abs(Fw1),[-10*pi 10*pi]),grid on
    >> axis([-10*pi 10*pi -0.2 2.2])
    >> ft2=sym('heaviside(t/2+1/2)-heaviside(t/2-1/2)');
    >> subplot(323)
    >> ezplot(ft2,[-1.5 1.5]),grid on
    >> Fw2=simplify(fourier(ft2));
    >> subplot(324)
    >> ezplot(abs(Fw2),[-10*pi 10*pi]),grid on
    >> axis([-10*pi 10*pi -0.2 2.2])
    >> ft3=sym('heaviside(t*2+1/2)-heaviside(t*2-1/2)');
    >> subplot(325)
    >> ezplot(ft3,[-1.5 1.5]),grid on
    >> Fw3=simplify(fourier(ft3));
    >> subplot(326)
    >> ezplot(abs(Fw3),[-10*pi 10*pi]),grid on
    >> axis([-10*pi 10*pi -0.2 2.2])

    这里写图片描述

    7.FT性质-频移特性

    >> close all
    >> clear all
    >> ft1=sym('4*heaviside(t+1/4)-heaviside(t-1/4)');
    >> Fw1=simplify(fourier(ft1));
    >> subplot(121)
    >> ezplot(abs(Fw1),[-24*pi 24*pi]),grid on
    >> axis([-24*pi 24*pi -0.2 2.2]),title('矩形信号频谱')
    >> ft2=sym('4*cos(2*pi*6*t)*(heaviside(t+1/4)-heaviside(t-1/4))');
    >> Fw2=simplify(fourier(ft2));
    >> subplot(122)
    >> ezplot(abs(Fw2),[-24*pi 24*pi]),grid on,title('矩形调制信号频谱'

    这里写图片描述

    展开全文
  • 使用matlab二元傅里叶变换全息图,字符“E”的MATLAB模拟计算全息图,字符“E”的MATLAB模拟计算全息图的再现图像
  • 基于Matlab傅里叶变换 绘制图形

    千次阅读 多人点赞 2019-08-15 12:25:10
    从对傅里叶变换一窍不通,到反复学习推导过程,以及自己边做边发现问题,加上自己的思考和参考视频中的讲解,终于对傅里叶变换有了一个比较深刻的理解。 原理 对于一个波,对其进行傅里叶变换之后可以得到若干...
  • 离散傅里叶变换的应用,用傅里叶变换对图像去噪的matlab实现
  • 快速傅里叶变换代码,输入时域信号有限离散序列,得到相应的离散傅里叶变换
  • 对现有的音频文件进行傅里叶分析,多个程序,MATLAB编程
  • 对采集到或自己生成的变形条纹进行处理,通过FFT得到频谱,通过汉宁窗滤取基频然后移到中心位置,得到包裹相位,滤出背景光,进行解包裹
  • fs=10000; %采样频率 N=10000;... %出FFT转化频率 g = 3*sin(6*t); f = g.*cos(60*t); g0 = f.*cos(60*t); %进行FFT变换 g1 = fft(g,NFFT)/N; f1 = fft(f,NFFT)/N; g01 = fft(g0,NFFT)/N; subp
  • 傅立叶变换性质的matlab实现 一 傅立叶变换的时移性质 若则 结论: 延时或超前后其对应的幅度谱保持不变但相位谱中一切频率分量的相位均滞后或超前 例1 1用matlab画及频谱幅度谱及相位谱 2用matlab画及频谱幅度谱及...
  • 附 页 班级 信工142 学号 22 姓名 何岩 ...信号的离散时间傅立叶变换并分析其周期性和对称性 给定正弦信号x(t)=2*cos(2*pi*10*t,fs=100HZ,其DTFT (a)代码 f=10;T=1/f;w=-10:0.2:10; t1=0:0.0001:1;t2=0:0.01:1; n
  • MATLAB傅里叶变换中的应用.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,978
精华内容 3,991
关键字:

matlab求傅里叶变换

matlab 订阅