实验三MATLAB求Fourier变换及逆变换
信号与系统Matlab实验2012版
附
sconv.m函数的程序
function [f,k]=sconv(f1,f2,k1,k2,p) %计算连续信号卷积积分 f(t)=f1(t)*f2(t) % f: 卷积积分 f(t)对应的非零样值向量 % k:f(t)的对应时间向量 % f1: f1(t)非零样值向量 % f2: f2(t)的非零样值向量 % k1: f1(t)的对应时间向量 % k2: f2(t)的对应时间向量 % p:取样时间间隔 f=conv(f1,f2); %计算序列 f1 与 f2 的卷积和 f f=f*p;
二、实验内容
1、连续时间系统的冲击响应、阶跃响应 a. 利用impulse函数画出教材P44例2-15: LTI系统
波形。
dy (t ) 3 y (t ) 2 x(t ) 的冲击响应的 dt 1 x '(t ) 2 x(t ) 的阶 2
b. 利用step函数画出教材P45例2-17: LTI系统 y ''(t ) 3 y '(t ) 2 y (t )
7
的正弦序列(-7≤n≤14) 。
。 5)画出复指数序列 x[n] e j n /6 和 x[n] e j 3n 的实部和虚部(-50≤n≤50)
3、信号的自变量变换
.1.
实验指导书(Matlab 版)
信号与系统
1)编写程序(函数),画出教材 P10 图 1-13(a)即 f(t)的波形(-6<t<6);
数字图像处理及MATLAB实现实验三——图像基本运算
数字图像处理及MATLAB实现实验三——图像基本运算1.图像的点运算
1.内容:
对⼀灰度图像,通过选择不同的灰度变换函数s=T(r)实现图像的灰度变换范围线性扩展和⾮线性扩展,以及图像的灰度倒置和⼆值化
2.实验⽅法:
1.选择⼀幅图像lena.jpg,设置输⼊输出变换的灰度级范围,a=0.3,b=0.6,c=0.1,d=0.9。
2.设置⾮线性扩展函数的参数c=2。
3.采⽤灰度倒置变换函数s=255-r进⾏图像变换。
4.设置⼆值化图像的阈值,分别为level=0.4,level=0.7参考程序如下。
%1.图像的点运算
%内容:对⼀灰度图像,通过选择不同的灰度变换函数s=T(r)实现图像的灰度变换范围线性扩展和⾮线性扩展,以及图像的灰度倒置和⼆值化
%实验⽅法:
% 1.选择⼀幅图像lena.jpg,设置输⼊输出变换的灰度级范围,a=0.3,b=0.6,c=0.1,d=0.9。
% 2.设置⾮线性扩展函数的参数c=2。
% 3.采⽤灰度倒置变换函数s=255-r进⾏图像变换。
% 4.设置⼆值化图像的阈值,分别为level=0.4,level=0.7参考程序如下。
I=imread('lena.jpg');
figure;
subplot(1,3,1);
imshow(I);
title('原图');
J=imadjust(I,[0.3;0.6],[0.1;0.9]);%设置灰度变换的范围
subplot(1,3,2);
imshow(J);
title('线性扩展');
I1=double(I);%将图像转换为double类型
信号与系统实验(MATLAB版) (1)
《信号与系统MATLAB实现》实验指导书
电气信息工程学院
2014年2月
长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。
MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。
MATLAB究竟有那些特点呢?
1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;
2.完备的图形处理功能,实现计算结果和编程的可视化;
3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;
4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;
MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。
信号与系统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');
实验三 连续信号与系统的频域分析
x1=Heaviside(t)-Heaviside(t-1);
x2=t.*(Heaviside(t)-2*Heaviside(t-1)+Heaviside(t-2));
x=x1+x2.*cos(50*t)
plot(t,x);
xlabel('t');
ylabel('x(t)');
Y=y*exp(-j*n'*W)*dt;%y(t)的傅里叶变换Y(jw)
Y=abs(Y);
F1=F.*F;%F(w)×F(w)
subplot(223)
plot(W,F);
xlabel('\omega');
title('F(\omega)的幅度频谱');
subplot(224);
plot(W,F1);
郑慧乐
学号
0174280
同组人:无
实验项目
实验三连续信号与系统的频域分析
☑必修□选修
□演示性实验☑验证性实验□操作性实验□综合性实验
实验地点
H113
实验仪器台号
F0
指导教师
蒋娜
实验日期及节次
week14->2-12
一、实验目的及要求:
1、目的
1.掌握非周期信号的傅里叶变换:fourier函数和ifourier函数;
信号与系统实验傅里叶变换
信号与系统实验
10.1利用fourier 函数求下列信号的傅里叶变换F(jw),并用ezplot 函数绘出其幅度频谱|F(jw)|和相位频谱d (w )。 <1>f 1(t)=(sin(2*pi*t)/(2*pi*t))2 syms t phase im re f=sin(2*pi*t)/(2*pi*t); F=fourier(f); subplot(3,1,1) ezplot(f); title('Ô-ͼ')
axis([-pi pi -0.3 1.1]) subplot(3,1,2) ezplot(abs(F)) title('·ù¶Èͼ') axis([-3*pi 3*pi 0.3 0.6]) im=imag(F);
re=real(F);
phase=atan(im/re);
subplot(3,1,3) ezplot(phase) title('Ïàλͼ')
axis([-3*pi 3*pi -0.5 0.5])
<2>f 2(t)=sin(2*pi*(t-2))/(2*pi*(t-2)) syms t phase im re
f=sin(2*pi*(t-2))/(2*pi*(t-2)); F=fourier(f); subplot(3,1,1) ezplot(f); title('Ô-ͼ')
axis([-pi 2*pi -0.3 1.1]) subplot(3,1,2) ezplot(abs(F)) title('·ù¶ÈÆ×')
axis([-3*pi 3*pi 0.3 0.6]) im=imag(F); re=real(F); phase=atan(im/re); subplot(3,1,3) ezplot(phase) title('ÏàλÆ×')
数字图像处理实验程序3傅里叶变换,小波变换
数字图像处理实验报告
班级:11研信息1班
**: ***
学号:***********
实验三图像的傅立叶变换
一、实验目的
1.了解图像变换的意义和手段;
2.熟悉傅里叶变换的基本性质;
3.熟练掌握FFT的方法及应用;
4.通过实验了解二维频谱的分布特点;
5.通过本实验掌握编程实现数字图像的傅立叶变换。
二、实验原理
1.应用傅立叶变换进行图像处理
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2.傅立叶(Fourier)变换的定义
对于二维信号,二维连续Fourier变换定义为:
二维离散傅立叶变换为:
图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅
立叶变换的芯片,可以实时实现傅立叶变换。三,实验内容
1.根据二维离散Fourier变换的定义编写程序
2.实现图象的变换
3.画出图象的频谱图。实验图像:任选
四,实验要求
1、实验之前要预习
2、独立完成程序的编写
3、写出实验报告。
4、实验每组1人
五,实验程序及实验结果分析
1.数字图像处理的傅里叶变换
实验的程序代码:
clear all
close all
A=imread('xingyueye.jpg');
%读入并且显示出一个图像文件
subplot(1,2,1);
信号与系统实验报告3实验3傅里叶变换及其性质
信息工程学院实验报告
课程名称:
实验项目名称:实验3 傅里叶变换及其性质 实验时间:2015/11/17 班级:通信141 : 学号:5
一、实 验 目 的:
学会运用MATLAB 求连续时间信号的傅里叶(Fourier )变换;学会运用MATLAB 求连续时间信号的频谱图;学会运用MATLAB 分析连续时间信号的傅里叶变换的性质。
二、实 验 设 备 与 器 件 软件:Matlab 2008 三、实 验 原 理 3.1傅里叶变换的实现
信号()f t 的傅里叶变换定义为: ()[()]()j t F F f t f t e dt ωω∞
--∞
==⎰
,
傅里叶反变换定义为:1
1()[()]()2j t f t F F f e d ωωωωπ
∞
--∞
==
⎰
。
信号的傅里叶变换主要包括MATLAB 符号运算和MATLAB 数值分析两种方法,下面分别加以探讨。同时,学习连续时间信号的频谱图。 3.1.1 MATLAB 符号运算求解法
MATLAB 符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函数fourier( )和ifourier( )。Fourier 变换的语句格式分为三种。
(1)F=fourier(f):它是符号函数f 的Fourier 变换,默认返回是关于ω的函数。
(2)F=fourier(f,v):它返回函数F 是关于符号对象v 的函数,而不是默认的
ω,即
()()jvt F v f t e dt ∞
--∞
=⎰。
(3)F=fourier(f,u,v):是对关于u 的函数f 进行变换,返回函数F 是关于v 的函数,即
fourier变换及逆变换
fourier变换及逆变换
Fourier变换是一种常用于信号和图像处理的数学工具,它将一个信号在时域中的表示转换为在频域中的表示。Fourier变换能够将信号分解成一系列正弦和余弦函数的组合,从而分析信号的频谱特性。
在数学上,Fourier变换定义为:
F(ω) = ∫f(t)e^(-iωt)dt
其中,F(ω)表示在频域中的信号表示,f(t)表示在时域中的信号表示,e^(-iωt)表示复指数函数,ω表示角频率。
Fourier逆变换是Fourier变换的逆操作,它将在频域中的信号表示转换回时域中的信号表示。逆变换定义为:
f(t) = (1/2π)∫F(ω)e^(iωt)dω
其中,f(t)表示在时域中的信号表示,F(ω)表示在频域中的信号表示,e^(iωt)表示复指数函数,ω表示角频率。
通过Fourier变换和逆变换,我们可以在信号的时域和频域之间进行转换,并分析信号的频谱特性,包括频率分量、幅度和相位。这对于信号处理、滤波、图像处理等应用非常重要。
[经验]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 )是计算离散傅里叶变换及其逆变换的快速算法。)。
信号与系统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');
matlab 离散傅里叶逆变换
标题:探究Matlab中离散傅里叶逆变换的原理与应用
在Matlab中,离散傅里叶变换(Discrete Fourier Transform,DFT)和离散傅里叶逆变换(Inverse Discrete Fourier Transform,IDFT)是信号处理中极为重要的概念和工具。它们在数字信号处理、通信系统、图像处理等领域有着广泛的应用。在本文中,我们将探讨Matlab 中离散傅里叶逆变换的原理与应用,从简单到复杂地解释这一概念,
以便读者更深入地理解和运用。
1. 离散傅里叶变换(DFT)和离散傅里叶逆变换(IDFT)的基本概念
在信号处理中,DFT和IDFT是将信号从时域转换到频域或者从频域转换到时域的重要数学工具。DFT将离散的时域信号转换成相应的频率谱,而IDFT则是将频域信号还原回时域信号。在Matlab中,我们可以使用fft和ifft函数来进行DFT和IDFT的计算,其中ifft即代表离
散傅里叶逆变换。
2. Matlab中离散傅里叶逆变换的实现
在Matlab中,我们可以使用ifft函数来进行离散傅里叶逆变换的计算。ifft函数的基本语法为:
```matlab
x = ifft(X)
```
其中X为输入的频域信号,x为输出的时域信号。在实际应用中,我
们可以通过ifft函数将频域信号恢复为原始的时域信号,以便进行进一步的分析和处理。
3. 离散傅里叶逆变换在信号重构中的应用
离散傅里叶逆变换在信号重构中起着重要作用。通过DFT将信号转换到频域,对频域信号进行处理后,可以利用IDFT将处理后的频域信号还原为时域信号,实现信号的重构和恢复。在通信系统中,信号的调制、解调等过程中也会涉及到离散傅里叶逆变换的应用。
信号与系统Matlab实验作业
实验一典型连续时间信号和离散时间信号
一、实验目的
掌握利用Matlab画图函数和符号函数显示典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的自变量变换。
二、实验内容
1、典型连续信号的波形表示(单边指数信号、复指数信号、抽样信号、单位阶
跃信号、单位冲击信号)
1)画出教材P28习题1-1(3) ()[(63)(63)]
t
=----的波形图。
f t e u t u t
2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0<t<10)时的实部和虚部的
波形图。
t=0:0.01:10;
f1='exp(0.4*t)*cos(8*t)';
f2='exp(0.4*t)*sin(8*t)';
figure(1)
ezplot(f1,t);
grid on;
figure(2)
ezplot(f2,t);
grid on;
3)画出教材P16图1-18,即抽样信号Sa(t)的波形(-20<t<20)。t=-10:0.01:10;
f='sin(t)/t';
ezplot(f,t);
grid on;
4)用符号函数sign画出单位阶跃信号u(t-3)的波形(0<t<10)。t=0:0.01:10;
f='(sign(t-3)+1)/2';
ezplot(f,t);
grid on;
5)单位冲击信号可看作是宽度为∆,幅度为1/∆的矩形脉冲,即t=t 1处的冲
击信号为
11111 ()()0 t t t x t t t other
δ∆⎧<<+∆⎪=-=∆⎨⎪⎩
Matlab在复变函数中的应用实验课(0903)
Matlab在复变函数中应用运城学院应用数学系
1
MATLAB 在复变函数中的应用
复变函数的运算是实变函数运算的一种延伸,但由于其自身的一些特殊的性质而显得不同,特别是当它引进了“留数”的概念,且在引入了Taylor 级数展开Laplace 变换和Fourier 变换之后而使其显得更为重要了。
使用MATLAB 来进行复变函数的各种运算;介绍留数的概念及MAT –LAB 的实现;介绍在复变函数中有重要应用的Taylor 展开(Laurent 展开Laplace 变换和Fourier 变换)。 1 复数和复矩阵的生成
在MATLAB 中,复数单位为)1(-==sqrt j i ,其值在工作空间中
都显示为i 0000.10+。 1.1 复数的生成
复数可由i b a z *+=语句生成,也可简写成bi a z +=。 另一种生成复数的语句是
)
exp(theta i r z **=,也可简写成
)exp(i theta r z *=,其中
theta 为复数辐角的弧度值,r 为复数的模。
1.2 创建复矩阵
创建复矩阵的方法。
如同一般的矩阵一样以前面介绍的几种方式输入矩阵
例如:)]33exp(23),6exp(9,32,53[i i i i A ***+-*+= 2 复数的运算
1.复数的实部和虚部
复数的实部和虚部的提取可由函数real 和imag 实现。 调用形式 )(x real
返回复数x 的实部
)(x imag
返回复数x 的虚部
2.共轭复数
复数的共轭可由函数conj 实现。 调用形式
)(x conj
实验三、DFT和DCT及频域滤波
一. 实验名称:数字信号的 DFT/DCT 及频域滤波 二. 实验目的
1. 熟练掌握数字信号(1D )及数字图像(2D)离散傅立叶变换(DFT )及离散余弦变换(DCT )方法、基本原理及实现流程。熟悉两种变换的性质,并能对 DFT 及 DCT 的结果进行必要解释。
2. 深入理解离散信号采样频率、奈奎斯特频率及频率分辨率等基本概念,弄清它们之间的相互关系。了解离散傅里叶变换(DFT )中频率泄露的原因,以及如何尽量减少频率泄露影响的途径。
3. 熟悉和掌握利用 MATLAB 工具进行 1D/2D FFT 及 DCT 的基本步骤、MATLAB 函数使用及对具体变换的处理流程。
4. 能熟练应用 MATLAB 工具对数字图像进行 FFT 及 DCT 处理,并能根据需要进行必要的频谱分析和可视化显示。
三. 实验原理 1、 傅立叶变换
● 傅立叶变换:非周期函数表示为正弦和/或余弦乘以加权函数的积分。 ● 一维连续Fourier 变换
对函数f (x )进行傅立叶变换得到F (u )
()()2j xu F u f x e dx π+∞
--∞
=⎰
(1)
逆变换,即将F (u)变换到f (x )为
()()2j xu f x F u e du π+∞
-∞
=⎰
(2)
● 一维离散Fourier 变换
正变换(DFT)
()1
2/0
(),0,1,,1N j xu N x F u f x e u N π--===-∑L
(3)
逆变换(IDFT)
()1
2/0
1
(),0,1,,1N j xu N
u f x F u e
x N N
信号与系统 matlab 综合 实验 第四章 傅里叶变换
1.如图4.4所示锯齿波信号,分别取一个周期的抽样数据X1(t),0<=t<=1和五个周期的数据X(t),0<=t<5,计算其傅立叶变换X1(w)和X(w),比较有和不同并解释原因。
图4.4 练习题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; %傅里叶逆变换还原时域函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 MATLAB求Fourier变换及逆变换
(一) 实验类型:综合性 (二) 实验类别:基础实验 (三) 实验学时数:2学时
.
基本命令
1、fourier 指令的使用 F = fourier(f,u,v) 其中f是需要变换的表达式;u是变量; v是算子 就是最后的表达式是z或者v的函数
例1 求
例3 求函数f t 1的Fourier变换
t
【Matlab源程序】 syms t W
fourier(1/t) %结果为:
ans = i*pi*(1-2*heaviside(w))
求Fourier变换还可用方法:fourier, simple 指令 的配合使用
例4 求函数f eb2x2 (b 0)的Fourier变换
例6 写出下列【Matlab源程序】的结果
syms t w; syms beta positive;%定义符号参量beta
g=sym('Heaviside(t)');
f=t*exp(-beta*t)*g;
Leabharlann BaiduF=fourier(f) %结果为: F=
1/(beta+i*w)^2
例7 求 FW We 3wuw 的Fourier逆变换.
F2=simple(fourier(ft)) % 误把 x 当作时间变量
F3=simple(fourier(ft,t))
% 误把 x 当作时间变量,又误把 t 当作频率变量
F1 = 1/exp(i*x*w)/(1+i*w)
F2 =i*exp(-i*t*w)/(i+w)
F3 =i*exp(-t*(2+i*t))/(i+t)
simple(‘s’),s是字符串, 如果是对某个字符函数,如
y=(2+x)/x 化简,直接用simple(y)就得到2/x+1; 有
时表达式比较复杂,一次化简结果不太理想,就再
次化简,可以用simple(simple(y)) simplify和simple是Matlab符号数学工具箱提供 的两个简化函数,区别如下: simplify的调用格 式为:simplify(S);对表达式S进行化简。Simple 是通过对表达式尝试多种不同的方法(包括simplify) 进行化简,以寻求符号表达式S的最简形式
例5 求函数 f cosat, g sinat的Fourier 变换
解:【Matlab源程序】 syms t w a; syms a positive;%定义符号参量a f=cos(a*t); g=sin(a*t); F=simple(fourier(f)) G=simple(fourier(g)) F= %结果为: pi*(dirac(-w+a)+dirac(w+a)) G= i*pi*(-dirac(-w+a)+dirac(w+a))
3、ifourier(Yw,w,t)逆变换命令的使用
对上述例1 求 Fourier 逆变换进行验算 解 syms t w; UT = pi*Dirac(w)-i/w; Ut=ifourier(UT,w,t) % 结果与原函数相等 Ut =heaviside(t)
或解1 syms t w; Yw = pi*Dirac(w)-i/w; ifourier(Yw,w,t) ans =heaviside(t)
对上述例1 求 Fourier 变换 syms t w;ut=sym('Heaviside(t)'); % 定义 0 时刻起跳的单位阶跃函数 <1> UT=fourier(ut) % 实施 Fourier 变换,给出与理论一致的结果 UTC=maple('convert',UT,'piecewise','w') % 计算结果起指示作用 <3> UTS=simple(UT) % 在此是 5.3 版的运算结果,简化导致漏项! UT = pi*Dirac(w)-i/w UTC = PIECEWISE([undefined, w = 0],[0, otherwise]) UTS = pi*Dirac(w)-i/w
解: 【Matlab源程序】 syms t u w ifourier(w*exp(-3*w)*sym('Heaviside(w)')) %结果为: ans =1/2/(-3+i*x)^2/pi
例8 矩形脉冲信号的傅氏变换
编写信号 M=8; tend=1; T=10; N=2^M; dt=T/N; n=0:N-1; t=n*dt; w=zeros(size(t,2),1); Tow=find((tend-t)>0); w(Tow,1)=ones(length(Tow),1);
注释:
(1)sym的意思是symbol,就是后面括号里面是个 代数式,要进行符号运算,不加意思就完全变了 (2)Dirac-----δ函数
(3)Heaviside----一般表示为阶跃函数 function f=heaviside(t) f=(t>0);小于0的都为0;大于0的为1;就是阶跃函数.
解:【Matlab源程序】 syms x w; syms b positive ;%定义符号参量b f=exp(-b^2*x^2); F=simple(fourier(f)) %结果为: F =1/b*pi^(1/2)*exp(-1/4*w^2/b^2)
求多个函数的Fourier 变换【Matlab源程序】
Fourier 变换
解 syms t w; ut=sym('Heaviside(t)'); % 定义 0 时刻起跳的单位阶跃函数 UT=fourier(ut) % 实施 Fourier 变换,给出与理论一致的结果 UT = pi*Dirac(w)-i/w
2、simple 指令 matlab中simple函数的用法
4、fourier 的缺省调用格式的使用
例2 求
的 Fourier 变换.
演示: fourier 的缺省调用格式的使用要十分谨慎.
syms t x w;ft=exp(-(t-x))*sym('Heaviside(t-x)');
F1=simple(fourier(ft,t,w))
% 给出以 w 为频率变量的正确结果