实验四、周期信号的傅里叶级数和频谱分析

实验四、周期信号的傅里叶级数和频谱分析
实验四、周期信号的傅里叶级数和频谱分析

实验四、周期信号的傅里叶级数和频谱分析

1实验目的

1)学会利用MATLAB 分析傅里叶级数展开,并理解傅里叶级数的物理含义; 2)学会利用MATLAB 分析周期信号的频谱特性。

2实验原理及实例分析

2.1 周期信号的傅里叶级数

(基本原理请参阅教材第四章的4.1节和4.2节。)

例1:周期方波信号)(t f 如图1所示,试求出该信号的傅里叶级数,利用MATLAB 编程实现其各次谐波的叠加,并验证Gibbs 现象。

f(t)

t(sec)

图1 周期方波信号)(t f 的波形图

解:从理论分析可知,周期方波信号)(t f 的傅里叶级数展开式为

)9sin 9

1

7sin 715sin 513sin 31(sin 4

)(00000 +++++

=

t t t t t t f ωωωωωπ

其中,ππ

ω220==

T

。则可分别求出1、3、5、9、19、39、79、159项傅里叶级数求和的结果,其MATLAB 程序如下,产生的图形如图2所示。

close all;clear all; clc

t = -2:0.0001:2; omega = 2 * pi;

y = square(2 * pi * t,50); n_max = [1 3 5 9 19 39 79 159]; N = length(n_max); for k = 1:N

fk = zeros(1,length(t)); for n = 1:2:n_max(k) bn = 4 / (pi * n);

fk = fk + bn * sin(n * omega * t); end

figure; plot(t,y,t,fk,'Linewidth',2); xlabel('t(sec)');ylabel('部分和的波形'); String = ['最大谐波数=',num2str(n_max(k))];

axis([-2 2 -3 3]);grid; title(String);

disp([String,'时,在信号跳变点附近的过冲幅度(%)']);

f_max = (max(fk) - max(y)) / (max(y) - min(y)) * 100 end

t(sec)

部分和的波形

最大谐波数=1

t(sec)

部分和的波形

最大谐波数=3

t(sec)

部分和的波形

最大谐波数=5

t(sec)

部分和的波形

最大谐波数=9

t(sec)

部分和的波形

最大谐波数=19

t(sec)

部分和的波形

最大谐波数=39

t(sec)

部分和的波形

最大谐波数=79

t(sec)

部分和的波形

最大谐波数=159

图2 例1程序产生的图形

程序输出的用于验证Gibbs 现象的数值分别为:

13.6620 10.0211 9.4178 9.1164 8.9907 8.9594 8.9484 8.9464

2.2周期信号的频谱分析

(基本原理请参阅教材第四章的4.3节。)

例2:已知周期矩形脉冲信号)(t f 的脉冲幅度为1=A ,宽度为τ,重复周期为T (角频率T

π

ω20=

)。将其展开为复指数形式的傅里叶级数,研究周期矩形脉冲的宽度τ和周期T 变化时,对其频谱的影响。

解:根据傅里叶级数理论可知,周期矩形脉冲信号的傅里叶系数为

??

?

??=???

??=??? ??=??? ??Ω=T

n A T

n Sa A T n Sa A n Sa A F n τ

τπτ

ττπτττsinc 222 各谱线之间的间隔为T

π

2=

Ω。图3画出了1=τ、10=T ,1=τ、5=T 和2=τ、

T三种情况下的傅里叶系数。MATLAB程序如下。

=

10

close all

clear all

clc

tau = 1; T = 10;

w1 = (-8 * pi) : (2 * pi / T) : (8 * pi);

fn = tau * sinc(w1 / pi * tau / 2);

subplot(311);stem(w1, fn);grid;

title('\tau = 1,T = 10');

axis([-25 25 -0.5 2]);

tau = 1; T = 5;

w2 = (-8 * pi) : (2 * pi / T) : (8 * pi);

fn = tau * sinc(w2 / pi * tau / 2);

subplot(312);stem(w2,fn);grid;

title('\tau = 1, T = 5');

axis([-25 25 -0.5 2]);

tau = 2; T = 10;

w3 = (-8 * pi) : (2 * pi / T) : (8 * pi);

fn = tau * sinc(w3 / pi * tau / 2);

subplot(313);stem(w3,fn);grid;

title('\tau = 2, T = 10');

axis([-25 25 -0.5 2]);

τ = 1,T = 10

τ = 1, T = 5

图3 例2程序产生的波形图

3实验报告与要求

在实验报告中,请简要说明对信号进行傅里叶级数展开的原理及其物理意义,简要说明Gibbs现象,并解释周期信号频谱与脉冲宽度τ和周期T之间的关系。

快速傅里叶变更fft的Matlab实现 实验报告

一、实验目的 1在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2熟悉并掌握按时间抽取FFT算法的程序; 3了解应用FFT进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT。 二、实验内容 1仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT 进行信号分析的C语言(或MATLAB 语言)程序; 用MATLAB语言编写的FFT源程序如下: %% 输入数据f、N、T及是否补零 clc; clear; f=input('输入信号频率f:'); N=input('输入采样点数N:'); T=input('输入采样间隔T:'); C=input('信号是否补零(补零输入1,不补零输入0):'); %补零则输入1,不补则输入0 if(C==0) t=0:T:(N-1)*T; x=sin(2*pi*f*t); b=0; e lse b=input('输入补零的个数:'); while(log2(N+b)~=fix(log2(N+b))) b=input('输入错误,请重新输入补零的个数:'); end t=0:T:(N+b-1)*T; x=sin(2*pi*f*t).*(t<=(N-1)*T); end %% fft算法的实现 A=bitrevorder(x); % 将序列按二进制倒序 N=N+b; M=log2(N); % M为蝶形算法的层数 W=exp(-j*2*pi/N); for L=1:1:M %第L层蝶形算法 B=2^L/2; % B为每层蝶形算法进行加减运算的两个数的间隔 K=N/(2^L); % K为每层蝶形算法中独立模块的个数 for k=0:1:K-1 for J=0:1:B-1

傅里叶分析报告教程(完整版)

傅里叶分析之掐死教程(完整版)更新于2014.06.06 Heinrich · 6 个月前 作者:韩昊知乎:Heinrich 微博:@花生油工人知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。 转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。 我保证这篇文章和你以前看过的所有文章都不同,这是12年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者…… 这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生

上来就懵圈并从此对它深恶痛绝。老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了。(您把教材写得好玩一点会死吗?会死吗?)所以我一直想写一个有意思的文章来解释傅里叶分析,有可能的话高中生都能看懂的那种。所以,不管读到这里的您从事何种工作,我保证您都能看懂,并且一定将体会到通过傅里叶分析看到世界另一个样子时的快感。至于对于已经有一定基础的朋友,也希望不要看到会的地方就急忙往后翻,仔细读一定会有新的发现。 ——————————————以上是定场诗—————————————— 下面进入正题: 抱歉,还是要啰嗦一句:其实学习本来就不是易事,我写这篇文章的初衷也是希望大家学习起来更加轻松,充满乐趣。但是千万!千万不要把这篇文章收藏起来,或是存下地址,心里想着:以后有时间再看。这样的例子太多了,也许几年后你都没有再打开这个页面。无论如何,耐下心,读下去。这篇文章要比读课本要轻松、开心得多…… p.s.本文无论是cos还是sin,都统一用“正弦波”(Sine Wave)一词来代表简谐波。 一、什么是频域 从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会静止下来。但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。 先举一个公式上并非很恰当,但意义上再贴切不过的例子: 在你的理解中,一段音乐是什么呢?

实验一 离散时间信号与系统的傅里叶分析

电子信息工程系实验报告 课程名称: 数字信号处理 实验项目名称:实验1 离散时间信号与系统的傅里叶分析 时间: 2012-3-17 班级:电信092 姓名:XXX 学号:910706201 实 验 目 的: 用傅里叶变换对离散时间信号和系统进行频域分析。 实 验 环 境: 计算机、MATLAB 软件 实 验 原 理: 对信号进行频域分析即对信号进行傅里叶变换。对系统进行频域分析即对其单位脉冲响应进行傅里叶变 换,得到系统的传输函数;也可由差分方程经过傅里叶变换直接求其传输函数,传输函数代表的就是频率响应特性。而传输函数是w 的连续函数,计算机只能计算出有限个离散频率点的传输函数值,故可在0~2∏之间取许多点,计算这些点的传输函数的值,并取它们的包络,所得包络即所需的频率特性。 实 验 内 容 和 步 骤: 1、已知系统用下面差分方程描述:y (n )=x (n )+ay (n -1),试在a =0.95和a =0.5 两种情况下用傅立叶变换分析系统的频率特性。要求写出系统的传输函数,并打印|H (e j ω)|~ω曲线。 解:B=1;A=[1,-0.95]; [H,w]=freqz(B,A,'whole'); subplot(1,3,1);plot(w/pi,abs(H),'linewidth',2);grid on; xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性'); axis([0,2,0,2.5]); B=1;A=[1,-0.5];[H,w]=freqz(B,A,'whole'); subplot(1,3,3);plot(w/pi,abs(H),'linewidth',2);grid on; xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性'); axis([0,2,0,2.5]); 图形如下图1、2所示: 图1 a=0.95时的幅频响应特性 图2 a=0.5时的幅频响应特性 2、已知两系统分别用下面差分方程描述: y 1(n )=x (n )+x (n -1) y 2(n )=x (n )-x (n -1) 试分别写出它们的传输函数,并分别打印|H (e j ω)| ~ω曲线。 解:B=[1,1];A=1;[H,w]=freqz(B,A,'whole'); subplot(1,2,1);plot(w/pi,abs(H),'linewidth',2);grid on; 成 绩: 指导教师(签名):

周期信号的傅里叶级数和频谱分析

实验报告 课程名称信号与线性系统分析 实验名称周期信号的傅里叶级数和频谱分析实验类型验证(验证、综合、设计、创新) 3日实验四、周期信号的傅里叶级数和频谱分析1实验目的 1)学会利用MATLAB分析傅里叶级数展开,并理解傅里叶级数的物理含义; 2)学会利用MATLAB分析周期信号的频谱特性。 2实验原理及实例分析 周期信号可以再函数的区间里展成在完备正交信号空间中的无穷级数。如果完备的正交函数集是三角函数集或指数函数集,那么,周期信号所展开的无穷级数就分别成为“三角型傅里叶级数”或“指数型傅里叶级数”,统称为傅里叶级数。

2.1周期信号的傅里叶级数 (基本原理请参阅教材第四章的4.1节和4.2节。) 例1:周期方波信号)(t f 如图1所示,试求出该信号的傅里叶级数,利用MATLAB 编程实现其各次谐波的叠加,并验证Gibbs 现象。 图1 周期方波信号)(t f 的波形图 解:从理论分析可知,周期方波信号)(t f 的傅里叶级数展开式为 )9sin 9 17sin 715sin 513sin 31(sin 4)(00000 +++++=t t t t t t f ωωωωωπ 其中,ππω220== T 。则可分别求出1、3、5、9、19、39、79、159项傅里叶级数求和的结果,其MATLAB 程序如下,产生的图形如图2所示。 close all;clear all; clc t = -2:0.0001:2; omega = 2 * pi; y = square(2 * pi * t,50); n_max = [1 3 5 9 19 39 79 159]; N = length(n_max); for k = 1:N fk = zeros(1,length(t)); for n = 1:2:n_max(k) bn = 4 / (pi * n); fk = fk + bn * sin(n * omega * t); end figure;plot(t,y,t,fk,'Linewidth',2); xlabel('t(sec)');ylabel('部分和的波形'); f(t) t(sec)

周期矩形信号的频谱分析

1.周期信号的频谱 周期信号在满足一定条件时,可以分解为无数三角信号或指数之和。这就是周期信号的傅里叶级数展开。在三角形式傅里叶级数中,各谐波分量的形式为()1cos n n A n t ω?+;在指数形式傅里叶级数中,分量的形式必定为1j n t n F e ω 与1-j -n t n F e ω 成对出现。为了把周期信号所具有的各 次谐波分量以及各谐波分量的特征(如模、相角等)形象地表示出来,通常直接画出各次谐波的组成情况,因而它属于信号的频域描述。 以周期矩形脉冲信号为lifenxi 周期信号频谱的特点。周期矩形信号在一个周期(-T/2,T/2)内的时域表达式为 ,2 0,>2 ()A t T t f t ττ ≤?=?? (2-6) 其傅里叶复数系数为 12 n n A F Sa T ωττ?? = ??? (2-7) 由于傅里叶复系数为实数,因而各谐波分量的相位为零(n F 为正)或为π±(n F 为负),因此不需要分别画出幅度频谱n F 与相位频谱n φ。可以直接画出傅里叶系数n F 的分布图。 如图2.4.1所示。该图显示了周期性矩形脉冲信号()T f t 频谱的一些性质,实际上那个也是周期性信号频谱的普遍特性: ① 离散状频谱。即谱线只画出现在1ω的整数倍频率上,两条谱线的间隔为1ω(等于2π/t )。 ② 谱线宽度的包络线按采样函数()1/2a S n ωτ的规律变化。如图2.4.2所示。但1ω 为 2π τ 时,即( )2m π ωτ =(m=1,2,……)时,包络线经过零点。在两相邻 零点之间,包络线有极值点,极值的大小分别为-0.212()2A T τ,

MATLAB实验傅里叶分析

MATLAB实验傅里叶分析

实验七 傅里叶变换 一、实验目的 傅里叶变换是通信系统、图像处理、数字信号处理以及物理学等领域内的一种重要的数学分析工具。通过傅里叶变换技术可以将时域上的波形分 布变换为频域上的分布,从而获得信号的频谱特性。MATLAB 提供了专门的函数fft 、ifft 、fft2(即2维快速傅里叶变换)、ifft2以及fftshift 用于实现对信号的傅里叶变换。本次实验的目的就是练习使用fft 、ifft 以及fftshift 函数,对一些简单的信号处理问题能够获取其频谱特性(包括幅频和相频特性)。 二、实验预备知识 1. 离散傅里叶变换(DFT)以及快速傅里叶变换(FFT)简介 设x (t )是给定的时域上的一个波形,则其傅里叶变换为 2()() (1)j ft X f x t e dt π∞--∞=? 显然X ( f )代表频域上的一种分布(波形),一般来说X ( f )是复数。而傅里叶逆变换定义为: 2()() (2)j ft x t X f e df π∞-∞ =?

因此傅里叶变换将时域上的波形变换为频域上的波形,反之,傅里叶逆变换则将频域上的波形变换为时域上的波形。 由于傅里叶变换的广泛应用,人们自然希望能够使用计算机实现傅里叶变换,这就需要对傅里叶变换(即(1)式)做离散化处理,使 之符合电脑计算的特征。另外,当 把傅里叶变换应用于实验数据的分 析和处理时,由于处理的对象具有 离散性,因此也需要对傅里叶变换 进行离散化处理。而要想将傅里叶 变换离散化,首先要对时域上的波 形x (t )进行离散化处理。采用一个 时域上的采样脉冲序列: δ (t -nT ), n = 0, 1, 2, …, N -1; 可以实现上述目的,如图所示。其中N 为采样点数,T 为采样周期;f s = 1/T 是采样频率。注意采样时,采样频率f s 必须大于两倍的信号频率(实际是截止频率),才能避免混迭效应。 接下来对离散后的时域波形()()()(x t x t t n T x n T δ= -=的傅里叶变换()X f 进行离散处理。与上述做法类 似,采用频域上的δ脉冲序列: x (t δ x (t )δ t t t

信号与系统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 ++= 的傅里叶反变换,并绘出其时域信号图。

实验:典型信号频谱分析报告

实验3.2 典型信号频谱分析 一、 实验目的 1. 在理论学习的基础上,通过本实验熟悉典型信号的波形和频谱特征,并 能够从信号频谱中读取所需的信息。 2. 了解信号频谱分析的基本方法及仪器设备。 二、 实验原理 1. 典型信号及其频谱分析的作用 正弦波、方波、三角波和白噪声信号是实际工程测试中常见的典型信号,这些信号时域、频域之间的关系很明确,并且都具有一定的特性,通过对这些典型信号的频谱进行分析,对掌握信号的特性,熟悉信号的分析方法大有益处,并且这些典型信号也可以作为实际工程信号分析时的参照资料。本次实验利用DRVI 快速可重组虚拟仪器平台可以很方便的对上述典型信号作频谱分析。 2. 频谱分析的方法及设备 信号的频谱可分为幅值谱、相位谱、功率谱、对数谱等等。对信号作频谱分析的设备主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时—频关系转换分析。 傅立叶变换是信号频谱分析中常用的一个工具,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。 信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。时域信号x(t)的傅氏变换为: 式中X(f)为信号的频域表示,x(t)为信号的时域表示,f 为频率。 3. 周期信号的频谱分析 周期信号是经过一定时间可以重复出现的信号,满足条件: dt e t x f X ft j ?+∞ ∞--=π2)()(

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)-heavisi de(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]); 数值运算法

【免费下载】matlab实现傅里叶变换

一、傅立叶变化的原理; (1)原理 正交级数的展开是其理论基础!将一个在时域收敛的函数展开成一系列不同频率谐波的叠加,从而达到解决周期函数问题的目的。在此基础上进行推广,从而可以对一个非周期函数进行时频变换。 从分析的角度看,他是用简单的函数去逼近(或代替)复杂函数,从几何的角度看,它是以一族正交函数为基向量,将函数空间进行正交分解,相应的系数即为坐标。从变幻的角度的看,他建立了周期函数与序列之间的对应关系;而从物理意义上看,他将信号分解为一些列的简谐波的复合,从而建立了频谱理论。 当然Fourier积分建立在傅氏积分基础上,一个函数除了要满足狄氏条件外, 一般来说还要在积分域上绝对可积,才有古典意义下的傅氏变换。引入衰减因子e^(-st),从而有了Laplace变换。(好像走远了)。 (2)计算方法 连续傅里叶变换将平方可积的函数f(t)表示成复指数函数的积分或级数形式。 这是将频率域的函数F(ω)表示为时间域的函数f(t)的积分形式。 为 连续傅里叶变换的逆变换 (inverse Fourier transform) 即将时间域的函数f(t)表示为频率域的函数F(ω)的积分。 一般可称函数f(t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅里叶变换对(transform pair)。 二、傅立叶变换的应用; DFT在诸多多领域中有着重要应用,下面仅是颉取的几个例子。需要指出 的是,所有DFT的实际应用都依赖于计算离散傅里叶变换及其逆变换的快速算

法,即快速傅里叶变换(快速傅里叶变换(即FFT )是计算离散傅里叶变换及其逆变换的快速算法。)。(1)、频谱分析DFT 是连续傅里叶变换的近似。因此可以对连续信号x(t)均匀采样并截断以得到有限长的离散序列,对这一序列作离散傅里叶变换,可以分析连续信号x(t)频谱的性质。前面还提到DFT 应用于频谱分析需要注意的两个问题:即采样可能导致信号混叠和截断信号引起的频谱泄漏。可以通过选择适当的采样频率(见奈奎斯特频率)消减混叠。选择适当的序列长度并加窗可以抑制频谱泄漏。(2)、数据压缩由于人类感官的分辨能力存在极限,因此很多有损压缩算法利用这一点将语音、音频、图像、视频等信号的高频部分除去。高频信号对应于信号的细节,滤除高频信号可以在人类感官可以接受的范围内获得很高的压缩比。这一去除高频分量的处理就是通过离散傅里叶变换完成的。将时域或空域的信号转换到频域,仅储存或传输较低频率上的系数,在解压缩端采用逆变换即可重建信号。(3)、OFDM OFDM (正交频分复用)在宽带无线通信中有重要的应用。这种技术将带宽为N 个等间隔的子载波,可以证明这些子载波相互正交。尤其重要的是,OFDM 调制可以由IDFT 实现,而解调可以由DFT 实现。OFDM 还利用DFT 的移位性质,在每个帧头部加上循环前缀(Cyclic Prefix ),使得只要信道延时小于循环前缀的长度,就能消除信道延时对传输的影响。三、傅里叶变换的本质; 傅里叶变换的公式为dt e t f F t j ?+∞∞--=ωω)()(可以把傅里叶变换也成另外一种形式: t j e t f F ωπ ω),(21)(=可以看出,傅里叶变换的本质是内积,三角函数是完备的正交函数集,不同频率的三 角函数的之间的内积为0,只有频率相等的三角函数做内积时,才不为0。)(2,21)(2121Ω-Ω==?Ω-ΩΩΩπδdt e e e t j t j t j

傅里叶分析实验报告

班级: 姓名: 学号: 实验日期: 一、实验名称脉搏、语音及图像信号的傅里叶分析 二、实验目的 1、了解常用周期信号的傅里叶级数表示。 2、了解周期脉搏信号、语音信号及图像信号的傅里叶分析过程 3、理解体会傅里叶分析的理论及现实意义 三、实验仪器 脉搏语音实验仪器,数字信号发生器,示波器 四、实验原理 1、周期信号傅里叶分析的数学基础 任意一个周期为T 的函数f(t)都可以表示为傅里叶级数: 0001 0000000001()(cos sin )21()()1()cos()() 1()sin()()n n n n n f t a a n t b n t a f t d t a f t n t d t b f t n t d t ππ πππ πωωωωπωωωπωωωπ∞=---=++== =∑??? 其中0ω为角频率,称为基频,0a 为常数,n a 和n b 称为第n 次谐波的幅 值。任何周期性非简谐交变信号均可用上述傅里叶级数进行展开,即分解为一系列不同次谐波的叠加。 对于如图1所示的方波,一个周期内的函数表达式为: (0t<)2() (-t 0)2h f t h ππ?≤??=??-≤

其傅里叶级数展开为: 0100041()()sin(21)21411(sin sin 3 sin 5)35n h f t n t n h t t t ωπωωωπ∞==--=+++∑L 同理:对于如图2所示的三角波,函数表达式为: 4t (-t<)44()232(1) (t )44h T T f t t T T h T π?≤??=??-≤

实验三 周期信号的傅里叶级数分析及MATLAB实现

实验三周期信号的傅里叶级数分析及MATLAB实现 一、实验目的: 1.利用MATLAB实现周期信号的分解与合成,并图示仿真结果; 2.用MATLAB实现周期信号的频谱,画图观察和分析周期信号的频谱; 3.通过MATLAB对周期信号频谱的仿真,进一步加深对周期信号频谱理论知识的理解。 二、实验内容 9.1(a):程序: display('Please input the value of m(傅里叶级数展开项数)'); m=input('m='); t=-3*pi:0.01:3*pi; n=round(length(t)/4); f=cos(t).*(heaviside(t+2.5*pi)-heaviside(t+1.5*pi)+heaviside(t+0.5*pi)-heaviside(t-0.5 *pi)+heaviside(t-1.5*pi)-heaviside(t-2.5*pi)); y=zeros(m+1,max(size(t))); y(m+1,:)=f'; figure(1); plot(t/pi,y(m+1,:)); grid; axis([-3 3 -1 1.5]); title('半波余弦'); xlabel('单位:pi','Fontsize',8); x=zeros(size(t)); kk='1'; syms tx n T=2*pi; fx=sym('cos(tx)'); Nn=30; An=zeros(m+1,1); Bn=zeros(m+1,1); a0=2*int(fx,tx,-T/4,T/4)/T an=2*int(fx*cos(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T bn=2*int(fx*sin(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T An(1)=double(vpa(a0,Nn)); An(2)=0.5; for k=2:m An(k+1)=double(vpa(subs(an,n,k),Nn)); Bn(k+1)=double(vpa(subs(bn,n,k),Nn));

周期信号的频谱分析

信号与系统 实验报告 实验三周期信号的频谱分析 实验报告评分:_______ 实验三周期信号的频谱分析 实验目的: 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;

3、掌握各种典型的连续时间非周期信号的频谱特征。 实验内容: (1)Q3-1 编写程序Q3_1,绘制下面的信号的波形图: 其中,0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos( 0t)、cos(3 0t)、cos(5 0t)和x(t) 的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。 程序如下: clear,%Clear all variables close all,%Close all figure windows dt = 0.00001; %Specify the step of time variable t = -2:dt:4; %Specify the interval of time w0=0.5*pi; x1=cos(w0.*t); x2=cos(3*w0.*t); x3=cos(5*w0.*t); N=input('Type in the number of the harmonic components N='); x=0; for q=1:N; x=x+(sin(q*(pi/2)).*cos(q*w0*t))/q; end subplot(221) plot(t,x1)%Plot x1 axis([-2 4 -2 2]); grid on, title('signal cos(w0.*t)') subplot(222) plot(t,x2)%Plot x2 axis([-2 4 -2 2]); grid on, title('signal cos(3*w0.*t))') subplot(223) plot(t,x3)%Plot x3 axis([-2 4 -2 2])

(完整word版)信号系统方波与三角波的傅里叶的分解与合成

实验<编号> 学号姓名分工 11350023 韦能龙编写代码 11350024 熊栗问题分析1.问题描述 实验二信号的合成与分解

2. 问题分析 此次主要是考察傅里叶的合成与分解,运用分解公式求出系数,运用合成公式合成函数,三角波和矩形波是很典型的连个列子,这个大作业只要分解出系数还有用合成公式,基本上就解决了问题了。 3. 实验代码与实验结果 (1)周期性矩形波的系数表示 ,.....7,5,3,1),2 sin(2==n npi kpi a k 代码: t = -3:0.001:3; M = 1;%M =1,7,29,99 T = 2; W = 2*pi/T; f1 = 0*ones(1,length(t)); for n= -M:2:M a = 2/(n*pi)*sin(n*pi/2); f1 = f1+a*exp(j*n*W*t); end plot(t,f1) xlabel('t') ylabel('f(t)') title('M=1,7,29,99时的方波') ylim([-1.5 1.5]); hold on plot(t , zeros(1,length(t))) hold off 图像: M =1时:

M= 7: M = 29

M = 99 (2)三角波的系数表示:

??--==101)()(1dt e t x dt e t x T a jkwt T jkwt k )2 (sin 42 1 2 2 20npi pi n a a n == 代码: t = -3:0.001:3; M = 1;%M =1,7,29,99 T = 1; W = 2*pi/T; G1= 0*ones(1,length(t)); for n= -M:M if n==0 a =1/2; else a = 4/(n^2*pi^2)*(sin(n*pi/2)^2) ; end G1 = G1+a*exp(j*n*W*t); end G1 = G1-0.5; plot(t,G1) xlabel('t') ylabel('G(t)') title('M=1时的三角波') ylim([-1.5 1.5]); hold on plot(t , zeros(1,length(t))) hold off M=1 时

MATLAB实验傅里叶分析

实验七 傅里叶变换 一、实验目的 傅里叶变换是通信系统、图像处理、数字信号处理以及物理学等领域内的一种重要的数学分析工具。通过傅里叶变换技术可以将时域上的波形分 布变换为频域上的分布,从而获得信号的频谱特性。MA TLAB 提供了专门的函数fft 、ifft 、fft2(即2维快速傅里叶变换)、ifft2以及fftshift 用于实现对信号的傅里叶变换。本次实验的目的就是练习使用fft 、ifft 以及fftshift 函数,对一些简单的信号处理问题能够获取其频谱特性(包括幅频和相频特性)。 二、实验预备知识 1. 离散傅里叶变换(DFT)以及快速傅里叶变换(FFT)简介 设x (t )是给定的时域上的一个波形,则其傅里叶变换为 2()() (1)j ft X f x t e dt π∞ --∞ =? 显然X ( f )代表频域上的一种分布(波形),一般来说X ( f )是复数。而傅里叶逆变换定义为: 2()() (2)j ft x t X f e df π∞ -∞ =? 因此傅里叶变换将时域上的波形变换为频域上的波形,反之,傅里叶逆变换则将频域上的波形变换为时域上的波形。 由于傅里叶变换的广泛应用,人们自然希望能够使用计算机实现傅里叶变换,这就需要对傅里叶变换(即(1)式)做离散化处理,使之符合电脑计算的特征。另外,当把傅里叶变换应用于实验数据的分析和处理时,由于处理的对象具有离散性,因此也需要对傅里叶变换进行离散化处理。而要想将傅里叶变换离散化,首先要对时域上的波形x (t )进行离散化处理。采用一个时域上的采样脉冲序列: δ (t -nT ), n = 0, 1, 2, …, N -1; 可以实现上述目的,如图所示。其中N 为采样点数,T 为采样周期;f s = 1/T 是采样频率。注意采样时,采样频率f s 必须大于两倍的信号频率(实际是截止频率),才能避免混迭效应。 接下来对离散后的时域波形()()()()x t x t t nT x nT δ=-=的傅里叶变换()X f 进行离散处理。与上述做法类似,采用频域上的δ脉冲序列: δ ( f -n/T 0), n = 0, 1, 2, …, N -1;T 0= NT 为总采样时间 可以实现傅里叶变换()X f 的离散化,如下图示。不难看出,离散后的傅里叶变换其频率间隔(频率轴上离散点的间隔,即频域分辨率) x (t ) δ 脉冲序列 x (t )δ (t -nT ) t t t

傅里叶变换分析信号的缺点

傅里叶变换分析信号的缺点 基于傅里叶(Fourier)变换的信号频域表示,揭示了时间函数和频谱函数之间的内在联系,在传统的平稳信号分析和处理中发挥了极其重要的作用,很多理论研究和应用研究都把傅里叶变换当作最基本的经典工具来使用.但是傅里叶变换存在着严重的缺点:用傅里叶变换的方法提取信号频谱时,需要利用信号的全部时域信息,这是一种整体变换,缺少时域定位功能,因此必须对其加以改进. 傅里叶变换的特点及其局限性 设函数f(t)在(-,+)内有定义,且使广义积分 都收敛,则称(1)式定义的广义积分为函数f(t)的傅里叶变换,记为F{f(t)},(2)式定义的广义积分为逆傅里叶变换,记为{F()}。傅里叶变换可以完成从时域到频域的转换(正变换),也可以完成从频域到时域的转换(逆变换),但不能同时具有时域和频域信息。其核函数是,由于三角函数具有填满整个空间的特性,其在物理空间中是双向无限延伸的正弦波,在积分变换中体现为积分范围从+到-。因此,傅里叶变换是先天的非局限性,它对信号f(t)中体现任何局部信息处理都是相同的。而事实上,工程技术中的许多信号,如:语音信号、地震信号、心电图和各种电脉冲,他们的信号值只出现在一个短暂的时间间隔t内,以后快速减为零,t以外是未知的,可能为零,也可能是背景噪音,如果

用(1)式从信号中提取谱信号F(),就要取无限的时间量,使用过去的及将来的信号只为计算单个频谱,不能反映出随时间变化的频率,实际上我们需要的是确定的某个时间间隔内的频谱。这就使人们想到改进傅里叶变换使其能用来处理某个确定时间范围内的信号。Gabor提出的窗口傅里叶变换就是一个有效的方法。 另外,傅里叶变换之所得到广泛应用与透镜能实现傅里叶变换是分不开的。由公式 其中物平面为(,),焦平面为(),d0为物距,d1为象平面。要使=F{(,)},即准确实现傅里叶光学变换,只有在==f 时才能实现,否则将出现位相弯曲。并且,只有正透镜才能实现傅里叶变换,这些限制给工程技术中无疑增加了困难。这使得人们不得不寻求新得的方法,分数傅立叶变换不要求严频谱面,可根据需要在既包含空域信息也包括空频域信息的平面上进行处理,这使光学信息处理更具灵活性。 1傅里叶变换缺乏时间和频率的定位功能 傅里叶变换及其逆变换表示如下

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,并画出其频

谱图(包括幅度谱和相位谱)

Code: ft = sym( ' (t+2)*(heaviside(t+2)-heavisi de(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)); gridon ; 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]); 数值运算法amp spectrum -6-4 -2 0 2 4 6 w x10 phase spectrurri -6 -4 -2 0 2 4 6 w

用FFT对信号作频谱分析

实验三:用FFT 对信号作频谱分析 一、实验原理与方法 1、用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N π2,因此要求D N ≤π2。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2、周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。 3、对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期长度,经过采样后形成周期序列,按照周期序列的谱分析进行。 二、实验内容 1、对以下序列进行FFT 谱分析: )()(41n R n x = ?????≤≤-≤≤+=n n n n n n x 其他0 7483 01 )(2 ?????≤≤-≤≤-=n n n n n n x 其他0 7433 04)(3 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析。程序见附录3.1、实验结果见图3.1。 2、对以下周期序列进行谱分析: n n x 4cos )(4π = n n n x 8cos 4cos )(5π π+= 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。程序见附录3.2、实验结果见图3.2。 3、对模拟周期信号进行频谱分析: t t t t x πππ20cos 16cos 8cos )(6++= 选择采样频率Fs=64Hz ,FFT 的变换区间N 为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。程序见附录3.3、实验结果见图3.3。

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)]。

符号运算法 数值运算法

t (20 π ex p(-3 t) heaviside(t) - 8 π ex p(-5 t) heaviside(t))/(2 π) 2、试用Matlab 命令求ω ω ωj 54 -j 310)F(j ++= 的傅里叶反变换,并绘出其时域信号图。 两个单边指数脉冲的叠加 3、已知门函数自身卷积为三角波信号,试用Matlab 命令验证FT 的时域卷积定理。

4、设有两个不同频率的余弦信号,频率分别为Hz f 1001=,Hz f 38002=;现在使用抽样频率Hz f s 4000=对这三个信号进行抽样,使用MATLAB 命令画出各抽样信号的波形和频谱,并分析其频率混叠现象 > > > > > > > > > >

相关文档
最新文档