MATLAB实验二傅里叶分析及应用

合集下载

matlab 二维傅里叶变换

matlab 二维傅里叶变换

matlab 二维傅里叶变换一、概述二维傅里叶变换是一种将二维函数转换为频域表示的数学工具。

在Matlab中,可以使用fft2函数进行二维傅里叶变换。

二、基本语法fft2函数的基本语法如下:Y = fft2(X)其中,X为待转换的二维数组,Y为转换后得到的频域表示。

三、实例演示下面通过一个实例来演示如何使用Matlab进行二维傅里叶变换。

1.生成测试图像首先,我们需要生成一个测试图像。

这里使用Matlab自带的peppers图像作为测试图像。

代码如下:img = imread('peppers.png');imshow(img);运行上述代码后,会显示出peppers图像。

2.将测试图像转换为灰度图像由于傅里叶变换只能处理灰度图像,因此需要将测试图像转换为灰度图像。

代码如下:gray_img = rgb2gray(img);imshow(gray_img);运行上述代码后,会显示出灰度化后的peppers图像。

3.对灰度化后的测试图像进行二维傅里叶变换接下来,我们对灰度化后的测试图像进行二维傅里叶变换。

代码如下:f = fft2(double(gray_img));fshift = fftshift(f);magnitude_spectrum = log(1+abs(fshift));imshow(magnitude_spectrum,[]);运行上述代码后,会显示出测试图像的频域表示。

由于频域表示通常是复数,因此我们需要使用abs函数计算其幅度,并使用log函数进行缩放。

四、实现原理二维傅里叶变换是将二维函数f(x,y)转换为频域表示F(u,v)的过程。

具体来说,它将一个二维函数分解为一系列正弦和余弦函数的叠加。

在Matlab中,可以使用fft2函数进行二维傅里叶变换。

该函数将输入的数组视为一个二维离散信号,并对其进行快速傅里叶变换(FFT)。

输出结果是一个与输入数组大小相同的复数矩阵,其中每个元素都代表了对应频率的振幅和相位信息。

实验二 用matlab实现傅立叶变换

实验二 用matlab实现傅立叶变换

实验二用matlab实现傅立叶变换Step 1: 生成信号我们首先来生成一个信号,作为傅立叶变换的输入。

```matlab% 生成信号t = 0:0.001:1; % 时间范围f1 = 10; % 第一个频率f2 = 50; % 第二个频率y = sin(2*pi*f1*t) + sin(2*pi*f2*t); % 两个频率的正弦信号相加plot(t,y)title('信号')xlabel('时间 (秒)')```这段代码生成了一个时间范围为0到1秒的信号。

信号由两个频率分别为10Hz和50Hz的正弦波相加组成。

Step 2: 进行傅立叶变换接下来,我们可以使用Matlab中的fft函数来对信号进行傅立叶变换。

fft函数将信号从时域(时间)上转换到频域上。

```matlab% 进行傅立叶变换Y = fft(y);L = length(y); % 信号长度P2 = abs(Y/L); % 双边频谱P1 = P2(1:L/2+1); % 单边频谱P1(2:end-1) = 2*P1(2:end-1);% 绘制频域图figure()f = 1000*(0:(L/2))/L;plot(f,P1)title('单边频谱')xlabel('频率 (Hz)')```这段代码计算了信号的傅立叶变换,并绘制了信号的单边频谱。

Step 3: 解释结果在绘图结果中,我们可以看到两个明显的峰值。

这两个峰值对应着信号中两个正弦波的频率,也就是10Hz和50Hz。

傅立叶变换将信号从时域上转换到了频域上,这就使我们能够分析信号中不同频率的组成。

这在信号处理和分析中极为常见,傅立叶变换可以将信号转换到更加恰当的域中,使得我们能够更好地对信号进行分析和处理。

matlab径向电磁力的二维傅里叶变换

matlab径向电磁力的二维傅里叶变换

一、概述二维傅里叶变换在电磁学领域中具有重要的应用。

其中,径向电磁力的二维傅里叶变换在研究电磁力作用下的物体行为和特性方面起着关键作用。

Matlab作为一种强大的数学分析和仿真工具,在二维傅里叶变换的研究中发挥着重要作用。

本文将重点探讨Matlab在径向电磁力的二维傅里叶变换中的应用。

二、二维傅里叶变换的基本原理为了更好地理解Matlab在径向电磁力的二维傅里叶变换中的应用,我们首先回顾一下二维傅里叶变换的基本原理。

二维傅里叶变换是信号与图像处理中常用的一种频域分析方法,通过将二维空间中的函数表示为频率的叠加,从而进行频域的分析。

在电磁学中,二维傅里叶变换被用于分析和处理不同频率的电磁场分布,有助于理解电磁场的空间特性和频谱分布。

三、Matlab在二维傅里叶变换中的应用1. Matlab中的二维傅里叶变换函数Matlab提供了强大的信号处理工具箱,其中包括了丰富的二维傅里叶变换函数。

在进行二维傅里叶变换时,可以使用fft2函数进行实现。

该函数可以对输入的二维矩阵进行傅里叶变换,并返回对应的频谱图像。

2. 二维傅里叶变换的参数设置在进行二维傅里叶变换时,需要注意一些参数的设置,包括变换的大小、采样频率等。

通过合理设置这些参数,可以更准确地进行频域分析。

在Matlab中,可以通过设置不同的参数值来灵活地调整二维傅里叶变换的过程。

3. 基于Matlab的径向电磁力的二维傅里叶变换在电磁学中,径向电磁力指的是在径向方向上的电磁场力的作用。

利用Matlab进行径向电磁力的二维傅里叶变换,可以帮助研究人员更好地分析电磁场的频谱分布和空间特性。

通过对电磁场的二维傅里叶变换,可以得到不同频率下的电磁场分布情况,为电磁场的特性分析提供重要依据。

四、案例分析为了更直观地理解Matlab在径向电磁力的二维傅里叶变换中的应用,我们可以通过一个具体的案例进行分析。

可以选取某一电磁场分布的二维图像作为输入数据,然后利用Matlab进行二维傅里叶变换,并观察得到的频谱分布。

matlab二维快速傅里叶变换

matlab二维快速傅里叶变换

matlab二维快速傅里叶变换二维快速傅里叶变换(2D FFT)是数字信号处理中一种重要的算法,它在图像处理、图像压缩、声音处理、视频编码等领域得到广泛应用。

本文将对二维快速傅里叶变换进行详细介绍,并重点讨论其在图像处理中的应用。

我们来了解一下什么是傅里叶变换。

傅里叶变换是一种将信号从时域转换到频域的方法,通过分解信号的频谱信息,可以得到信号的频率成分。

在一维傅里叶变换中,我们将信号分解为不同频率的正弦和余弦函数的叠加。

而在二维傅里叶变换中,我们将信号分解为不同频率的二维正弦和余弦函数的叠加。

二维快速傅里叶变换是对二维信号进行频域分析的一种方法。

它利用了快速傅里叶变换(FFT)算法的优势,将计算复杂度从O(N^2)降低到O(NlogN),使得计算速度大大提高。

在图像处理中,我们常常需要对图像进行频域滤波、图像增强、图像压缩等操作,而二维快速傅里叶变换正是实现这些操作的关键。

在二维快速傅里叶变换中,我们将二维图像看作是一个二维数组,其中每个元素表示图像的一个像素点的亮度值。

首先,我们对图像的每一行进行一维傅里叶变换,然后对变换结果的每一列再进行一维傅里叶变换。

这样,我们就得到了图像的二维傅里叶变换结果。

通过对这个结果进行逆变换,我们就可以将图像恢复到原来的状态。

二维快速傅里叶变换在图像处理中有着广泛的应用。

其中之一是频域滤波。

由于二维快速傅里叶变换可以将图像转换到频域,我们可以通过在频域对图像进行滤波来实现图像的模糊、锐化、边缘检测等操作。

例如,如果我们想要对图像进行低通滤波,可以将频域中高频部分设置为0,从而去除图像中的高频细节,使图像变得模糊。

同样地,如果我们想要对图像进行高通滤波,可以将频域中低频部分设置为0,从而去除图像中的低频背景,使图像的边缘更加清晰。

另一个应用是图像增强。

通过对图像的二维快速傅里叶变换,我们可以对图像进行频域增强,使得图像在某些特定频率上的细节更加突出。

例如,我们可以通过增强图像中的高频细节来使图像的纹理更加清晰,或者通过增强图像中的低频部分来使图像的整体亮度更加均匀。

MATLAB实验二 傅里叶分析及应用复习课程

MATLAB实验二  傅里叶分析及应用复习课程

M A T L A B实验二傅里叶分析及应用实验二傅里叶分析及应用一、实验目的(一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义2、学会使用Matlab分析周期信号的频谱特性(二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质1、学会运用Matlab求连续时间信号的傅里叶变换2、学会运用Matlab求连续时间信号的频谱图3、学会运用Matlab分析连续时间信号的傅里叶变换的性质(三)掌握使用Matlab完成信号抽样并验证抽样定理1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化3、学会运用MATLAB对抽样后的信号进行重建二、实验条件Win7系统,MATLAB R2015a三、实验内容1、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

Code:ft = sym('(t+2)*(heaviside(t+2)-heaviside(t+1))+(heaviside(t+1)-heaviside(t-1))+(2-t)*(heaviside(t-1)-heaviside(t-2))');fw = simplify(fourier(ft));subplot(2, 1, 1);ezplot(abs(fw)); grid on;title('amp spectrum');phi = atan(imag(fw) /real(fw));subplot(2, 1, 2);ezplot(phi); grid on;符号运算法Code:dt = 0.01;t = -2: dt: 2;ft = (t+2).*(uCT(t+2)-uCT(t+1))+(uCT(t+1)-uCT(t-1))+(2-t).*(uCT(t-1)-uCT(t-2));N = 2000;k = -N: N;w = pi * k / (N*dt);fw = dt*ft*exp(-i*t'*w);fw = abs(fw);plot(w, fw), grid on;axis([-2*pi 2*pi -1 3.5]);t(20 π ex p(-3 t) heaviside(t) - 8 π ex p(-5 t) heaviside(t))/(2 π)数值运算法2、试用Matlab 命令求ωωωj 54-j 310)F(j ++=的傅里叶反变换,并绘出其时域信号图。

matlab二维傅里叶变换

matlab二维傅里叶变换

matlab二维傅里叶变换
1.首先,傅里叶变换有什么用呢?我们用两个生动的例子阐释傅
里叶变换的作用:
【例子一】:现在一家餐厅研究了一个特殊的美食,作为美食家的你,想知道这个菜里面到底都有什么配料。

那么,如果我们输入这个美食(这个美食就是我们的“时域信号”),通过傅里叶变换,就可以得到这份美食的配方(这个配方就是我们的“频域信号”)如果我们输入的是这个美食的配方,就可以通过傅里叶反变换得到这份美食
【例子二】:下面请读者和我一起做一件事情:我将给出
sin(3x)+sin(5x)sin(3x)+sin(5x)的曲线(你只知道这个曲线的样子,并不知道这个曲线的方程),那么应该如何去掉sin(5x)sin(5x)的
成分呢?
想在时域中完成这个简直难于上青天,可以在频域中却很简单。

2.傅里叶变换的应用
傅立叶变换在图像处理中有非常非常的作用。

因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法,比如离散余弦变换,与小波在图像处理中也有重要的分量。

印象中,傅立叶变换在图像处理以下几个话题都有重要作用:
a.图像增强与图像去噪
绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声;边缘也是图像的高频分量,可以通过添加高频分量来增强
原始图像的边缘;
b.图像分割之边缘检测
提取图像高频分量。

c.图像特征提取:
形状特征:傅里叶描述子。

纹理特征:直接通过傅里叶系数来计算纹理特征。

其他特征:将提取的特征值进行傅里叶变换来使特征具有平移、伸缩、旋转不变性。

d.图像压缩
可以直接通过傅里叶系数来压缩数据;常用的离散余弦变换是傅立叶变换的实变换;。

2维傅里叶快速变化matlab

2维傅里叶快速变化matlab

1. 2维傅里叶快速变换(2D FFT)是信号处理和图像处理中常用的计算方法之一,它可以将空间域中的信号或图像转换到频率域中,为我们提供了更多的信息和分析手段。

2. 在MATLAB中,2D FFT的计算非常简单,只需要调用fft2函数即可完成。

这使得我们能够方便地对图像或信号进行频域分析和处理。

3. 2D FFT的应用非常广泛,例如在图像处理中,可以通过2D FFT对图像进行滤波、去噪或者提取图像特征;在通信领域,可以利用2D FFT进行信号调制解调、信道估计和频谱分析等。

4. 2D FFT的计算原理和算法比较复杂,涉及到离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等数学和算法知识。

但是在MATLAB中,我们无需深入理解这些复杂的数学原理,只需要调用相应的函数即可完成计算。

5. 通过2D FFT,我们可以观察到图像或信号的频谱分布、频率成分和能量分布等信息,这有助于我们对信号或图像进行更深入的分析,并进行相应的处理和改进。

6. 在使用2D FFT时,需要注意频域信息的解释和理解,以及频域处理对空域信息的影响。

还需要注意计算结果的精度和准确性,避免由于采样频率、信噪比等因素导致的误差。

7. 作为一种功能强大的工具,2D FFT需要结合实际问题和应用场景进行灵活使用,这需要我们对其原理和方法有深入的理解和把握。

8. 2维傅里叶快速变换(2D FFT)在MATLAB中的应用具有重要意义,它为我们提供了便捷而强大的工具,有助于我们进行信号处理和图像处理,并为实际问题的解决提供了重要的支持和帮助。

个人观点及理解:在我看来,2维傅里叶快速变换(2D FFT)是一种非常有用的工具,它能够帮助我们更好地理解和分析信号和图像,在进行频域处理时,能够展现出更多的信息和特征。

在MATLAB中,我们可以方便地调用相应的函数进行计算和分析,这为我们的工作提供了很大的便利。

然而,我们也需要深入理解2D FFT的原理和方法,以及在实际应用中需要注意的一些问题,这样才能更好地利用这一工具解决实际问题。

快速傅立叶变换FFT及其应用实验报告

快速傅立叶变换FFT及其应用实验报告

实验一 离散时间系统的时域分析一、实验目的1. 运用MA TLAB 仿真一些简单的离散时间系统,并研究它们的时域特性。

2. 运用MA TLAB 中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:∑=∑=-=-M k k N k k k n x p k n y d 00][][当输入信号为冲激信号时,系统的输出记为系统单位冲激响应 ][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][ 当h[n]是有限长度的(n :[0,M])时,称系统为FIR 系统;反之,称系统为IIR 系统。

在MA TLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。

例1clf;n=0:40;a=1;b=2;x1= 0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=[1, 0.5,3];den=[2 -3 0.1];ic=[0 0]; %设置零初始条件y1=filter(num,den,x1,ic); %计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic); %计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic); %计算输入为x (n)时的输出y(n)yt= a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y);ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘加权输出a*y1+b*y2’);(一)、线性和非线性系统对线性离散时间系统,若)(1n y 和)(2n y 分别是输入序列)(1n x 和)(2n x 的响应,则输入)()()(21n bx n ax n x +=的输出响应为)()()(21n by n ay n y +=,即符合叠加性,其中对任意常量a 和b 以及任意输入)(1n x 和)(2n x 都成立,否则为非线性系统。

大学matlab课程设计图像的傅里叶变换及其应用

大学matlab课程设计图像的傅里叶变换及其应用

课程名称: MATLAB及在电子信息课程中的应用实验名称:图像的傅里叶变换及其应用设计四图像的傅里叶变换及其应用一、设计目的通过该设计,掌握傅里叶变换的定义及含义。

二、设计内容及主要的MATLAB 函数1、图像的离散傅里叶变换假设),(n m f 是一个离散空间中的二维函数,则该函数的二维傅里叶变换定义为nj m j e e n m f f 21),()2,1(ωωωω--∞∞-∞∞-∑∑=其中21ωω和是频域变量,单位是弧度/采样单元。

函数),(21ωωf 为函数),(n m f 的频谱。

二维傅里叶反变换的定义为21212121),(),(ωωωωωωππωππωd d e e f n m f n j m j ⎰⎰-=-==因此,函数),(n m f 可以用无数个不同频率的复指数信号的和表示,在频率),(21ωω处复指数信号的幅度和相位为),(21ωωfMATLAB 提供的快速傅里叶变换函数1)fft2:用于计算二维快速傅里叶变换,其语法格式为b=fft2(I),返回图像I 的二维傅里叶变换矩阵,输入图像I 和输出图像B 大小相同;b=fft2(I,m,n),通过对图像I 剪切或补零,按用户指定的点数计算二维傅里叶变换,返回矩阵B 的大小为m ⨯n 。

很多MATLAB 图像显示函数无法显示复数图像,为了观察图像傅里叶变换后的结果,应对变换后的结果求模,方法是对变换结果使用abs 函数。

2)fftn :用于计算n 维快速傅里叶变换,其语法格式为b=fftn(I),计算图像的n 维傅里叶变换,输出图像B 和输入图像I 大小相同; b=fftn(I, size),通过对图像I 剪切或补零,按size 指定的点数计算n 维傅里叶变换,返回矩阵B 的大小为size 。

3) fftshift :用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为b=fftshift(I),将变换后的图像频谱中心从矩阵的原点移到矩阵的中心。

信号与系统matlab实验傅里叶分析及应用报告答案

信号与系统matlab实验傅里叶分析及应用报告答案

实验二傅里叶分析及应用姓名学号班级一、实验目的(一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义2、学会使用Matlab分析周期信号的频谱特性(二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质1、学会运用Matlab求连续时间信号的傅里叶变换2、学会运用Matlab求连续时间信号的频谱图3、学会运用Matlab分析连续时间信号的傅里叶变换的性质(三)掌握使用Matlab完成信号抽样并验证抽样定理1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化3、学会运用MATLAB对抽样后的信号进行重建二、实验条件需要一台PC机和一定的matlab编程能力三、实验内容2、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

符号运算法: Ft=sym('t*(Heaviside(t+2)-Heaviside(t+1))+Heaviside(t+1)-Heaviside(t-1)+(-t)*(Heavi side(t-1)-Heaviside(t-2))'); Fw = fourier(Ft); ezplot(abs(Fw)),grid on; phase = atan(imag(Fw)/real(Fw)); ezplot(phase);grid on; title('|F|'); title('phase');3、试用Matlab 命令求ωωωj 54-j 310)F(j ++=的傅里叶反变换,并绘出其时域信号图。

[注意:(1)写代码时j i]syms tFw = sym('10/(3+iw)-4/(5+iw)');ft = ifourier(Fw,t);F = abs(ft);ezplot(F,[-3,3]),grid on;4、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。

熟悉MATLAB环境,快速傅里叶变换(FFT)及其应用,IIR数字滤波器的设计,FIR数字滤波器的设计实验报告

熟悉MATLAB环境,快速傅里叶变换(FFT)及其应用,IIR数字滤波器的设计,FIR数字滤波器的设计实验报告

南京邮电大学实验报告实验名称实验一熟悉MATLAB环境实验二快速傅里叶变换(FFT)及其应用实验三IIR数字滤波器的设计实验四FIR数字滤波器的设计课程名称数字信号处理A班级学号__________________姓名______ _______________开课时间 2010 /2011 学年,第 2学期实验一熟悉MATLAB环境一、实验目的(1)熟悉MA TLAB的主要操作命令。

(2)学会简单的矩阵输入和数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容注:每个实验内容包括题目、实验过程与结果(含实验程序、运行的数据结果和图形);(1) 数组的加、减、乘、除和乘方运算。

输入A=[1 2 3 4],B=[3,4,5,6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B 。

并用stem语句画出A、B、C、D、E、F、G。

输入代码如下:A=[1 2 3 4];B=[3,4,5,6];C=A+B;stem(C)C运行图片:输入代码如下:A=[1 2 3 4];B=[3,4,5,6];D=A-Bstem(D)D运行图片:输入代码如下:A=[1 2 3 4]; B=[3,4,5,6]; E=A.*Bstem(E)E运行图片:输入代码如下:A=[1 2 3 4]; B=[3,4,5,6]; F=A./Bstem(F)F运行图片:输入代码如下: A=[1 2 3 4]; B=[3,4,5,6]; G=A.^B stem(G) G 运行图片:(2) 用MATLAB 实现下列序列: a) 08(). 0n 15nx n =≤≤ 输入代码如下: n=0:1:15; x1=0.8.^n stem(x1) 运行图片:b) 023(.)() 0n 15j nx n e+=≤≤输入代码如下: a=(0.2+3*i)*n; x2=exp(a) stem(x2) 运行图片:c) 3012502202501()cos(..)sin(..)x n n n ππππ=+++ 0n 15≤≤ 输入代码如下:x3=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi) stem(x3) 运行图片:d) 将c)中的x(n)扩展为以16为周期的函数)16()(16+=n x n x ,绘出四个周期。

实验二 用matlab实现傅立叶变换

实验二 用matlab实现傅立叶变换

实验报告实验课程:信号与系统——MATLAB综合实验学生姓名:赖硕秋学号:6100208060专业班级:电子0812010年 4月 15日实验二用matlab实现傅立叶变换实验目的: 1.掌握傅立叶数值实现方法(矩阵算法)2.生成连续周期信号,掌握程序优化技巧3.对于自定义函数参数有效性的检查4.复习并巩固“信号与系统”相关知识内容,学习用matlab实现问题实验环境:运行于Matlab7.6环境实验内容:本次实验参照《信号与系统》——“Matlab综合实验”55页课后练习习题:1.如图4.4所示锯齿波信号,分别去一个周期的抽样数据X1(t),0<=t<=1和五个周期的数据X(t),0<=t<5,计算其傅立叶变换X1(w)和X(w),比较有和不同并解释原因。

编程如下:方法1:%计算单位锯齿波和五个周期波形的傅立叶变换%解法1:基本用循环实现数值的计算;对于5个周期锯齿波用内外循环来生成实现T1=1; %一个周期锯齿波N1=10000;t1=linspace(0,T1-T1/N1,N1)';f1=0*t1;f1=1-2*t1;OMG=32*pi; %频率抽样区间K1=100; %频率抽样点数omg=linspace(-OMG/2,OMG/2-OMG/K1,K1)';X1=0*omg;for k=1:K1 %求解五个周期函数的傅里叶变换系数for n=1:N1X1(k)=X1(k)+T1/N1*f1(n)*exp(-j*omg(k)*t1(n));endendfs1=0*t1;for n=1:N1 %通过傅里叶逆变换还原原函数for k=1:K1fs1(n)=fs1(n)+OMG/2/pi/K1*X1(k)*exp(j*omg(k)*t1(n));endendT2=5; %五个周期锯齿波N2=10000;t2=linspace(0,T2-T2/N2,N2)';f2=0*t2;t3=linspace(0,T2/5-T2/N2,N2/5)'; %先定义一个周期内的锯齿波变量抽样值f3=0*t3; %初始化一个周期的函数抽样值f3=1-2*t3; %表示出一个周期内函数抽样值for s=0:4 %将一个周期锯齿波平移到五个周期,通过循环控制for a=1:N2/5f2(2000*s+a)=f3(a);endend %将函数拓展表示为五个周期X2=0*omg;for k=1:K1 %求解五个周期函数的傅里叶变换系数for n=1:N2X2(k)=X2(k)+T2/N2*f2(n)*exp(-j*omg(k)*t2(n));endendfs2=0*t2;for n=1:N1 %通过傅里叶逆变换还原原函数for k=1:K1fs2(n)=fs2(n)+OMG/2/pi/K1*X2(k)*exp(j*omg(k)*t2(n));endendfigure;subplot(2,2,1);plot(omg,abs(X1),'r'); %以幅度频谱画图xlabel('Frequency'),ylabel('Amplitude');title('单个锯齿波的幅频曲线');subplot(2,2,2);plot(t1,fs1,'r');xlabel('Second(s)'),ylabel('Amplitude');title('由频域还原时域函数');subplot(2,2,3);plot(omg,abs(X2),'r');xlabel('Frequency'),ylabel('Amplitude');title('五个周期锯齿波的幅频曲线');subplot(2,2,4);plot(t2,fs2,'r');xlabel('Second(s)'),ylabel('Amplitude');title('由频域还原时域函数');相关曲线:方法2:%计算单位锯齿波和五个周期波形的傅立叶变换%解法2:数值算法用矩阵实现,大大加快了运行速度;并且直接调用“sawtooth”生成5个周期的锯齿波T1=1; %单个周期时域范围N1=10000; %时域抽样点数t1=linspace(0,T1-T1/N1,N1)'; %生成抽样时间点f1=1-2*t1; %生成抽样函数值OMG=32*pi; %频域范围K1=100; %频域抽样点数omg=linspace(-OMG/2,OMG/2-OMG/K1,K1)'; %生成抽样频率点X1=T1/N1*exp(-j*kron(omg,t1.'))*f1; %傅里叶正变换求解傅里叶系数fs1=OMG/2/pi/K1*exp(j*kron(t1,omg.'))*X1; %傅里叶逆变换还原时域函数T2=5; %五个周期时域范围N2=10000; %时域抽样点数t2=linspace(0,T2-T2/N2,N2)'; %生成抽样时间点fs2=0*t2;f2=sawtooth(t2*2*pi,0); %生成五个周期的锯齿波X2=T2/N2*exp(-j*kron(omg,t2.'))*f2; %傅里叶正变换求解傅里叶系数fs2=fs2+OMG/2/pi/K1*exp(j*kron(t2,omg.'))*X2; %傅里叶逆变换还原时域函数figure; %生成一个2*2矩阵子图subplot(2,2,1);plot(omg,abs(X1),'r'); %一个周期时的频谱图xlabel('Frequency'),ylabel('Amplitude')title('单个锯齿周期幅频特性曲线');subplot(2,2,2);plot(t1,fs1,'r'); %还原的时域函数xlabel('Time'),ylabel('Amplitude')title('Function after recovered');subplot(2,2,3);plot(omg,abs(X2),'r'); %五个周期时的频谱图xlabel('Frequency'),ylabel('Amplitude')title('五个锯齿周期幅频特性曲线');subplot(2,2,4);plot(t2,fs2,'r'); %还原的时域函数xlabel('Time'),ylabel('Function after recovered')title('Function after recovered');相关曲线:2.请编写函数F=fsana(t,f,,N),计算周期信号f的前N个指数形式的傅立叶级数系数,t表示f对应的抽样时间(均为一个周期);再编写函数f=fssyn(F,t),由傅立叶级数系数F合成抽样时间t对应的函数。

matlab二维快速傅里叶变换

matlab二维快速傅里叶变换

一、引言在信号处理、图像处理、通信系统等领域中,傅里叶变换是一种非常重要的数学工具,用于将时域信号转换为频域信号,从而方便进行频域分析和处理。

在实际应用中,对于二维信号(如图像)的频域分析同样具有重要意义。

Matlab作为一种功能强大的数学软件,提供了对二维信号进行快速傅里叶变换(FFT)的工具函数,为工程师和科研人员在二维信号处理中提供了便利。

二、快速傅里叶变换(FFT)简介1. 傅里叶变换傅里叶变换是将信号从时域(或空域)转换到频域的一种数学工具,可以通过计算信号的频谱来分析信号的频率成分。

傅里叶变换可以表达为积分形式或离散形式,其中离散形式的傅里叶变换又被称为离散傅里叶变换(DFT)。

2. 快速傅里叶变换(FFT)快速傅里叶变换是一种高效的计算离散傅里叶变换的算法,通过分治和逐级合并的方式将DFT的计算复杂度从O(N^2)降低到O(NlogN),大大加速了傅里叶变换的计算过程。

在二维信号处理中,二维快速傅里叶变换(2DFFT)同样具有重要的意义。

三、Matlab中的二维快速傅里叶变换1. 函数介绍在Matlab中,可以使用fft2函数对二维信号进行快速傅里叶变换。

fft2函数的语法为:```matlabY = fft2(X)```其中X为输入的二维数组,Y为X的二维快速傅里叶变换结果。

另外,Matlab还提供了ifft2函数用于计算二维逆傅里叶变换。

2. 使用方法对于一个MxN的二维数组X,可以通过调用fft2函数对其进行快速傅里叶变换。

例如:```matlab生成一个随机的二维数组X = randn(256,256);对X进行二维快速傅里叶变换Y = fft2(X);```通过调用fft2函数,可以得到输入数组X的二维快速傅里叶变换结果Y。

对于得到的频域信号Y,可以进行频域滤波、谱分析等操作,然后通过ifft2函数进行逆变换得到时域信号。

3. 示例下面以图像处理为例,演示在Matlab中如何使用二维快速傅里叶变换进行频域分析和滤波。

MAtlab-傅里叶变换-实验报告(最新-编写)

MAtlab-傅里叶变换-实验报告(最新-编写)

MAtlab-傅里叶变换-实验报告(最新-编写)一、实验目的1. 了解傅里叶变换的基本概念及其在信号处理中的应用;2. 掌握使用Matlab软件进行傅里叶变换的方法;3. 通过实验掌握傅里叶变换的计算与图像分析方法。

二、实验原理1. 傅里叶级数傅里叶级数是一类振幅、频率和相位相同的正弦(余弦)函数构成某一周期函数的和。

若函数f(t)可以表示为周期2π的函数,则有:f(t) = a0 + ∑[an*cos(nwt) + bn*sin(nwt)] (1)其中,a0、an、bn为常数,w=2π/T为角频率,T为周期。

傅里叶级数引入相位角,使得函数形态可以更加丰富,而且描述更加直观。

假设n=0时,a0是函数f(t)的常数项,且an、bn分别表示f(t)的奇、偶对称部分的振幅,即:a0 = (1/2π)∫[f(t)]dt,an = (1/π)∫[f(t)*cos(nwt)]dt,bn =(1/π)∫[f(t)*s in(nwt)]dt式中,*为乘积,∫为积分。

在时域中,傅里叶分析用来分析周期性信号的性质。

但是,在实际应用中,很少有真正的周期性信号,因此需要将傅里叶分析推广到非周期性信号上,即傅里叶变换。

原信号可以表示为一个函数f(t),其傅里叶变换可以表示为:F(w) = ∫[f(t)*e^(-jwt)]dt其中,j为虚数单位,w为角频率。

傅里叶变换将信号从时域变换到频域,通常使用复数表示幅值与相位。

同时,傅里叶变换也具有很高的线性性质。

即,若有两个函数f1(t)和f2(t),其傅里叶变换分别是F1(w)和F2(w),则下列变换同样成立:a1*f1(t) + a2*f2(t)的傅里叶变换为a1*F1(w) + a2*F2(w)其中,a1、a2为常数。

最后,傅里叶变换的性质包括线性、平移、频移、反褶和自相关性等,这些性质都对信号处理和分析具有实际意义。

三、实验内容本实验主要分为两个部分:1. 计算周期波形的傅里叶级数并绘制其频谱图和振幅谱图。

MATLAB试验二傅里叶分析及应用

MATLAB试验二傅里叶分析及应用

.实验二傅里叶分析及应用一、实验目的(一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义2、学会使用Matlab分析周期信号的频谱特性(二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质1、学会运用Matlab求连续时间信号的傅里叶变换2、学会运用Matlab求连续时间信号的频谱图3、学会运用Matlab分析连续时间信号的傅里叶变换的性质(三)掌握使用Matlab完成信号抽样并验证抽样定理1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化3、学会运用MATLAB对抽样后的信号进行重建二、实验条件Win7系统,MATLAB R2015a三、实验内容1、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

..Code:'ft =sym((t+2)*(heaviside(t+2)-heaviside(t+1))+(heaviside(t+1)-heaiside(t-1))+(2-t)*(heaviside)t-1)-heaviside(t-2))fw = simplify(fourier(ft));subplot(2, 1, 1)ezplot(abs(fw)); grid on);'amp spectrum'title(real(fw));phi / = atan(imag(fw)subplot(2, 1, 2);;on ezplot(phi); grid);title('phase spectrum'符号运算法Code:dt = 0.01;t = -2: dt: 2;=ft(t+2).*(uCT(t+2)-uCT(t+1))+(uCT(t+1)-uCT(t-1))+(2-t).*(uCT(t-1)-uCT(t-2)); N = 2000;k = -N: N;w = pi * k / (N*dt);fw = dt*ft*exp(-i*t'*w);fw = abs(fw);plot(w, fw), grid on;axis([-2*pi 2*pi -1 3.5]);数值运算法..104?的傅里叶反变换,并绘出其时域信号图。

傅里叶变换在matlab中的应用123

傅里叶变换在matlab中的应用123

傅里叶变换在matlab 中应用一、实验目的(1)了解并会熟练计算傅里叶变换; (2)学会在matlab 中运行傅里叶变换;(3)能熟练地绘出频谱图,与matlab 中的频谱图进行比较;二、实验原理1、傅里叶变换的定义非周期信号的频谱(即傅里叶变换)是周期信号的频谱(傅里叶级数)当∞→1T 时的极限。

设周期信号)(t f 展开成复指数形式的傅里叶级数为 tjnw n enw F t f 1)()(1∑∞-∞==⎰-=2211111)(1)(T T tjnw dt et f T nw F (两边同时乘以1T )得⎰-==221111111)()(2)(T T tjnw dt et f w nw f T nw F π当∞→1T 时,对上式两边求极限得⎰-∞→∞→=221111111)(lim )(2lim T T t jnw T T dt e t f w nw f π(2-38)上式左边,当∞→1T 时,如前所述,→11/)(w nw F 有限值,并且成为一个连续得频率函数,即频谱密度函数,用)(w F 表示为11)(2lim )(1w nw f w F T π∞→= 而式(2-38)右边,当∞→1T 时,01→w ,w nw →1,即原来离散频率1nw 趋于连续频率w ,故上式右边亦为w 得连续函数,故得⎰∞∞--=dt et f w F jwt)()( (2-40)式(2-40)为信号f (t )的傅里叶正变换,它的物理意义是单位频带上的频谱值,即频谱密度,简称为非周期信号频谱。

F (w )一般为复数,故又可写成复指数形式为)()()(w j e w F w F ϕ=式中:)(w F ---------幅度频谱,代表信号中各频率分量的相对大小; )(w ϕ---------相位频谱,代表信号各频率分量之间的相位关系。

2、傅里叶反变换由已知的非周期信号的傅里叶正变换F (w )求原信号f (t )的运算,称为傅里叶反变换。

实验二 傅里叶分析及应用

实验二 傅里叶分析及应用

fw = dt*ft*exp(-i*t'*w);
fw = abs(fw);
plot(w, fw), grid on;
axis([-2*pi 2*pi -1 3.5]);
数值运算法
2 / 11'.
.
2、试用 Matlab 命令求 F(j) 10 - 4 的傅里叶反变换,并绘出其时域信号图。 3 j 5 j
3 / 11'.
.
4、设有两个不同频率的余弦信号,频率分别为 f1 100 Hz , f2 3800 Hz ;现在使用 抽样频率 fs 4000 Hz 对这三个信号进行抽样,使用 MATLAB 命令画出各抽样信号的波形
和频谱,并分析其频率混叠现象
Code: f1 = 100; % f1 = 100 hz ts = 1/4000;% sample = 4000hz dt = 0.0001; t1 = -0.007:dt:0.007; ft = cos(2*f1*pi*t1); subplot(221); plot(t1, ft), grid on; axis([-0.006 0.006 -1.5 1.5]) xlabel('Time/s'),ylabel('f(t)') title('Cosine curve');
5
4
3
2
1
0
0
0.5
1
1.5
2
2.5
t
两个单边指数脉冲的叠加 3、已知门函数自身卷积为三角波信号,试用 Matlab 命令验证 FT 的时域卷积定理。
Code:
f = sym('heaviside(t+1) - heaviside(t-1)'); fw = simplify(fourier(f)); F = fw.*fw; subplot(211); ezplot(abs(F), [-9, 9]), grid on title('FW^2')

matlab中fft2计算傅里叶系数

matlab中fft2计算傅里叶系数

标题:探究Matlab中fft2计算傅里叶系数的原理与应用导语:傅里叶变换在信号处理、图像处理等多个领域都有着重要的应用,而Matlab作为一款常用的科学计算软件,其内置的fft2函数可以用来计算二维离散傅里叶变换,本文将深入探讨fft2函数的原理和用法,帮助读者更好地理解和应用这一功能。

一、傅里叶变换的基本原理傅里叶变换是将一个信号从时间或空间域转换到频率域的一种数学方法,它能够将一个信号分解成多个不同频率的正弦和余弦波,从而可以更清晰地观察信号的频域特性。

在实际的应用中,傅里叶变换有连续傅里叶变换和离散傅里叶变换两种形式,前者适用于连续信号,而后者适用于离散信号,通常在数字信号处理中使用。

二、Matlab中fft2函数的基本功能1. fft2函数是Matlab中用来计算二维离散傅里叶变换的函数,其语法为Y = fft2(X),其中X为输入的二维数组,Y为输出的变换结果。

2. 在Matlab中,二维离散傅里叶变换的计算可以分为两个步骤:首先对每一行使用一维离散傅里叶变换(一维DFT),然后对得到的结果再进行一维DFT,即可得到二维离散傅里叶变换的结果。

3. fft2函数计算得到的结果是一个与输入数组大小相同的数组,其中每个元素对应于输入数组中的一个频率分量。

三、fft2函数的用法和参数解析1. 输入参数X可以是各种类型的二维数组,包括灰度图像、彩色图像、复数数组等。

2. 输出参数Y的大小与输入参数X相同,它的各个元素表示输入数组中对应位置的频率分量的幅度和相位信息。

3. 在实际使用中,可以通过对Y进行逆变换得到输入数组X,实现信号的重新构造。

四、示例分析下面通过一个具体的示例来展示fft2函数的使用方法和效果。

假设有一幅灰度图像img,我们可以通过如下代码来计算其二维离散傅里叶变换的结果并进行可视化:```matlabf = imread('cameraman.tif'); % 读取灰度图像F = fft2(f); % 计算二维离散傅里叶变换F2 = fftshift(F); % 将低频分量移到中心S = abs(F2); % 计算幅度谱imshow(log(S+1),[]); % 显示对数幅度谱```上述代码中,我们首先读取了一幅灰度图像,并使用fft2函数进行二维离散傅里叶变换,然后通过fftshift函数将低频分量移到图像中心,最后计算了变换结果的幅度谱并进行了可视化。

实验2 傅里叶变换的MATLAB 实现

实验2  傅里叶变换的MATLAB 实现

实验2 傅里叶变换的MATLAB 实现一. 实验目的1. 傅里叶变换的matlab 实现。

2. 连续时间信号傅里叶变换的数值计算。

二. 实验原理1. Matlab 的Symbolic Math Toolbox 提供了能直接求解傅里叶变换和逆变换的函数fourier(_)和ifourier()。

使用上述函数有一个局限性。

尽管信号f(t)是连续的,但却不可能表示成符号表达式,而更多的实际测量现场获得的信号是多组离散的数值量f(n),此时也不可能应用fourier( )对f(n)进行处理,而只能应用傅里叶变换的数值计算方法。

2. 傅里叶变换的数值计算方法的理论依据如下:()()ττωτωτωn j n t i e n f dt e t f j F -∞-∞=→-∞∞-∑⎰==)(lim 0 (1)对于一大类信号,当取τ足够小时,上式的近似情况可以满足实际需要。

若信号f(t)是时限的,则(1)式的n 取值就是有限的,设为N ,有:()N k en f k F n j N n k ≤≤=--=∑0,)(10τωττ (2)上式是对(1)中的频率ω进行取样,通常:k N k τπω2= 采用matlab 实现(2)式时,其要点是要正确生成()t f 的N 个样本()τn f 的向量f 及向量 τωn j k e -,两向量的内积(即两矩阵的乘积)结果即完成式(2)的计算。

下面举例说明:例1.已知门信号()()⎪⎩⎪⎨⎧><==10112t t t g t f ,求其傅里叶变换()ωj F 。

解:实现该过程的matlab 命令程序如下:tau=0.02;t=-2:tau:2;f= [(t>-1 &t<1)];W1=2*pi*5; % the bandlimitN=500;k=0:N;W=k*W1/N;F=f*exp(-j*t'*W)*tau;F=real(F);W=[-fliplr(W),W(2:501)];F=[fliplr(F),F(2:501)];subplot(2,1,1);plot(t,f);xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');subplot(2,1,2);plot(W,F);xlabel('w');ylabel('F(w)');title('f(t)的付氏变换F(w)');程序执行出现图Fig3-1所示的曲线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二傅里叶分析及应用、实验目的(一)掌握使用Matlab 进行周期信号傅里叶级数展开和频谱分析1、学会使用Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义2、学会使用Matlab 分析周期信号的频谱特性二)掌握使用Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质1、学会运用Matlab 求连续时间信号的傅里叶变换2、学会运用Matlab 求连续时间信号的频谱图3、学会运用Matlab 分析连续时间信号的傅里叶变换的性质三)掌握使用Matlab 完成信号抽样并验证抽样定理1、学会运用MATLAB 完成信号抽样以及对抽样信号的频谱进行分析2、学会运用MATLAB 改变抽样时间间隔,观察抽样后信号的频谱变化3、学会运用MATLAB 对抽样后的信号进行重建、实验条件Win7系统,MATLAB R2015a三、实验内容1、分别利用Matlab 符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

Code:ft = sym( '(t+2)*(heaviside(t+2)-heaviside(t+1))+(heaviside(t+1)-heav iside(t-1))+(2-t)*(heaviside( t-1)-heaviside(t-2))' ); fw = simplify(fourier(ft));subplot(2, 1, 1); ezplot(abs(fw)); grid on;title( 'amp spectrum' ); phi =atan(imag(fw) / real(fw));subplot(2, 1, 2);ezplot(phi); grid on ;title( 'phase spectrum' );符号运算法Code:dt = 0.01;t = -2: dt: 2;ft(t+2).*(uCT(t+2)-uCT(t+1))+(u CT(t+1)-uCT(t-1))+(2-t).*(uCT (t-1)-uCT(t-2));N = 2000; k = -N: N;w = pi * k / (N*dt); fw =dt*ft*exp(-i*t'*w);fw = abs(fw); plot(w, fw),grid on;axis([-2*pi 2*pi -1 3.5]);数值运算法2、试用 Matlab 命令求 F(j ) 10- 4的傅里叶反变换,并绘出其时域信号图 3 j 5 j两个单边指数脉冲的叠加Code :f = sym( 'heaviside(t+1) - heaviside(t-1)' ); fw = simplify(fourier(f)); F = fw.*fw; subplot(211); ezplot(abs(F), [-9, 9]), grid on title( 'FW^2' ) tri =sym( '(t+2)*heaviside(t+2)-2*t*heaviside(t)+(t-2)*heaviside(t-2)' ); Ftri = fourier(tri); F = simplify(Ftri); subplot(212); ezplot(abs(F), [-9, 9]), grid o n ; title( 'tri FT' )Code : syms t ; fw =sym( '10/(3+i*w)-4/(5+i* w)' );ft = ifourier(fw, t); ezplot(ft), grid on;3、已知门函数自身卷积为三角波信号,试用 Matlab命令验证 FT 的时域卷积定理 (20 exp(-3 t) heaviside(t) - 8 exp(-5 t) heaviside(t))/( 2 )4、设有两个不同频率的余弦信号,频率分别为 f1 100Hz , f2 3800Hz ;现在使用抽样频率 f s 4000Hz 对这三个信号进行抽样,使用MATLAB命令画出各抽样信号的波形和频谱,并分析其频率混叠现象Cosine curveTime/s -3x 10432110-3x 10 Sample freq spectrum-3x 10 Cos freq spectrum-2Sample signalTime/s -3x 10wf sf1 =100Hz将代码中f1 设为3800即可↓Cosine curvex 10)40-2-3x 10 Cos freq spectrumSample signalx 10x 10x 10f2 =3800Hz5、结合抽样定理,利用 MATLAB 编程实现 Sa(t) 信号经过冲激脉冲抽样后得到的抽样信号 f s t 及其频谱[建议:冲激脉冲的周期分别取 4*pi/3 s 、pi s 、2*pi/3 s三种情况对比 ],并利用 f s t 构建Sa(t )信号** 改动第一行代码即可)t2 = -5: Ts: 5; fst = sinc(t2); subplot(2, 2, 3) plot(t1, ft, ':' ), hold on stem(t2, fst), grid on axis([-6 6 -0.5 1.2]) title( 'Sampling signal' ) Fsw = Ts*fst*exp(-1i*t2'*W); subplot(2, 2, 4) plot(W, abs(Fsw)), grid on axis([-50 50 -0.05 1.5]) title( 'spectrum of Sampling signal' )冲激脉冲的周期= 4*pi/3 sSa(t)Sa(t) freq spectrumSampling signal spectrum of Sampling signalTs = 4/3; % impulse period = 4*pi/3 t1 = -5:0.01:5;ft = sinc(t1); subplot(2, 2, 1) plot(t1, ft), gridonaxis([-6 6 -0.5 1.2]) title( 'Sa(t)' ) N = 500; k = -N: N; W = pi*k / (N*0.01);Fw = 0.01*ft*exp(-1i*t1'*W); subplot(2, 2, 2)plot(W, abs(Fw)), grid on axis([-30 30-0.05 1.5])title( 'Sa(t) freq spectrum')Sa(t) freq spectrum10.5 0 -20 0 20冲激脉冲的周期 = pi sSamplingsignal spectrum of Sampling signalSa(t)Sa(t) freqspectrumSampling signal spectrum of Sampling signal1.5Sa(t)冲激脉冲的周期= 2*pi/3 s1)试求出该信号的傅里叶级数[自己求或参见课本P112或P394],利用Matlab 编程实现其各次谐波[如1、3、5、13、49]的叠加,并验证其收敛性;1a0 =2nπ2sin2(n2π); b n = 0 谐波幅度收敛速度1n2原始波形:1 class H-wave3 class H-wave Originalwave1 10.8 0.80.6 0.60.4 0.40.2 0.20 0-4 -2 0 -2 0 20 -410.80.60.40.213 class H-wave49 class H-wav e10.80.60.40.2第k 阶谐波波形Code:figure(1);t = -2*pi: 0.001: 2*pi;f = abs(sawtooth(0.5*pi*t,0.5)); plot(t, f), grid on ; axis([-4, 4, -1, 2])title( 'Original wave' );nclass = [1, 3, 13, 49]; figure(2);N = 4;a0 = 1/2;for k = 1: Nn = nclass(k);an = 4./((n*pi).^2);ft = an*cos(pi*n'*t);ft = ft + a0;subplot(2, 2, k); plot(t, ft); axis([-4, 4, 0, 1])title([num2str(nclass(k)), class H-wave ' ]); endfigure(3);N = 4; a0 = 1/2;for k = 1: Nn = 1: 2: nclass(k);an = 4./((n*pi).^2);ft = an*cos(pi*n'*t);ft = ft + a0;subplot(2, 2, k); plot(t, ft);axis([-4, 4, 0, 1]) title([ 'The ' ,num2str(nclass(k)), 'times superpose' ]);endThe 1times superpose10.80.60.4The 13times superpose 0.20 -4 -2The 3times superpose0.80.60.40.2-2 2-4The 49times superpose0.80.60.40.2-2-4前K 次谐波的叠加(2)用 Matlab 分析该周期三角信号的频谱 [三角形式或指数形式均可 ]。

当周期三角信 号的周期( 如由 2ms 1ms 或由 2ms 4ms )和宽度( 如2ms 1ms )分别变化时,试观察 分析其频谱的变化。

dt=0.01; t=-4:dt:4;ft=(t>=-1&t<0).*(t+1)+(t>0&t <=1).*(1-t);%subplot(2,1,1)%plot(t,ft);grid on n=2000; k=-n:n; w=pi*k/(n*dt);f=dt*ft*exp(-i*t'*w); f=abs(f); %subplot(2,1,2) plot(w,f);axis([-20 20 0 1.1]),grid on;dt=0.01; t=-4:dt:4;ft=(t>=-0.5&t<0).*(t+1)+(t>0 &t<=0.5).*(1-t);%subplot(2,1,1)%plot(t,ft);grid on n=2000; k=-n:n; w=pi*k/(n*dt);f=dt*ft*exp(-i*t'*w); f=abs(f); %subplot(2,1,2)plot(w,f);axis([-20 20 0 1.1]),grid on;周期为 1ms周期为 2ms-15 -10 -5 10 15 20-020四、实验结论和讨论1、凡是等步长离散采样一定会产生频率混叠现象。

相关文档
最新文档