信号与系统——MATLAB基本实验

合集下载

信号与系统实验指导书信号与系统matlab实验

信号与系统实验指导书信号与系统matlab实验

信号与系统实验指导书信号与系统matlab实验信号与系统实验指导书一、实验目的1、掌握用Matlab绘制波形图的方法,学会常见波形图的绘制。

2、掌握用Matlab编写函数的方法3、通过对周期信号和非周期信号的观察,加深对周期信号的理解。

二、实验内容1、实验原理与计算实例1.1 绘制波图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。

它不仅有强大的计算功能,还有各种各样的画图功能。

这里主要介绍信号与系统分析中常见的几个Matlab函数,包括Matlab提供的内部函数和自定义函数。

我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文,供以后执行;或是生成一个函数,在命令窗口中执行。

下面介绍几个基本函数。

(1)单位阶跃函数 M文名:u.m%单位阶跃函数(连续或离散)%调用格式 y=u(t)产生单位阶跃函数 function y=u(t) y=(t>=0)(2)门函数 M文名:rectplus.m,是Matlab的内部函数。

调用格式 y=rectplus(t)产生高度为1,宽度为1的门函数调用格式y=rectplus(t,W) 产生高度为1,宽度为W的门函数(3)三角脉冲函数 M文名:tripuls.m,是Matlab的内部函数。

调用格式 y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数调用格式 y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数调用格式 y=tripuls(t,w,s)产生高度为1,宽度为w的三角脉冲函数,-1<s<1。

当s=0时,为对称三角形;当S=-1时,为三角形顶点左边。

(4)抽样函数 M文名:Sa.m %抽样函数(连续或者离散)% 高度为1 % 调用格式 y=Sa(t),产生高度为1,第一个过零点为π function f=Sa(t)f=sinc(t./pi) %sinc(t)=sin(πt)/(πt)是MATLAB函数(5)符号函数 M文名:sign.m是Matlab的内部函数。

信号与系统matlab实验报告

信号与系统matlab实验报告

信号与系统MATLAB实验报告实验目的本实验旨在通过MATLAB软件进行信号与系统的相关实验,探究信号与系统的特性与应用。

实验步骤1. 准备工作在正式进行实验之前,我们需要做一些准备工作。

首先,确保已经安装好MATLAB软件,并且熟悉基本的操作方法。

其次,准备好实验所需的信号与系统数据,可以是已知的标准信号,也可以是自己采集的实际信号。

2. 信号的生成与显示使用MATLAB编写代码,生成不同类型的信号。

例如,可以生成正弦信号、方波信号、三角波信号等。

通过绘制信号波形图,观察不同信号的特点和变化。

t = 0:0.1:10; % 时间范围f = 1; % 信号频率s = sin(2*pi*f*t); % 正弦信号plot(t, s); % 绘制信号波形图3. 系统的建模与分析根据实验需求,建立相应的系统模型。

可以是线性时不变系统,也可以是非线性时变系统。

通过MATLAB进行模型的建立和分析,包括系统的时域特性、频域特性、稳定性等。

sys = tf([1, 2], [1, 3, 2]); % 系统传递函数模型step(sys); % 绘制系统的阶跃响应图4. 信号与系统的运算对于给定的信号和系统,进行信号与系统的运算。

例如,进行信号的卷积运算、系统的响应计算等。

通过MATLAB实现运算,并分析结果的意义与应用。

x = [1, 2, 3]; % 输入信号h = [4, 5, 6]; % 系统响应y = conv(x, h); % 信号的卷积运算plot(y); % 绘制卷积结果的波形图5. 实验结果分析根据实验数据和分析结果,对实验进行结果总结与分析。

可以从信号的特性、系统的特性、运算结果等方面进行综合性的讨论和分析。

实验总结通过本次实验,我们学习了如何在MATLAB中进行信号与系统的实验。

通过生成信号、建立系统模型、进行运算分析等步骤,我们深入理解了信号与系统的基本原理和应用方法。

通过实验数据和结果分析,我们对信号与系统有了更深刻的认识,并掌握了MATLAB在信号与系统实验中的应用技巧。

matlab信号与系统实验报告

matlab信号与系统实验报告

实验一 基本信号的产生与运算一、 实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。

二、 实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。

这些信号是信号处理的基础。

1、 利用MATLAB 产生下列连续信号并作图。

(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、>> t=-1:0.02:5; >> x=(t>1);>> plot(t,-2*x);>> axis([-1,5,-3,1]);>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。

信号与系统matlab实验及答案

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ⎛⎫= ⎪⎝⎭, 010n ≤≤,并画出其波形图。

n=0:10;x=sin(pi/4*n).*0.8.^n;stem(n,x);xlabel( 'n' );ylabel( 'x(n)' );用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。

观察并分析a 和0t 的变化对波形的影响。

t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=2;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1s f T=表示抽样频率,即单位时间内抽取样值的个数。

抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。

请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。

可能用到的函数为plot, stem, hold on 。

fs = 40;t = 0 : 1/fs : 1 ;% ƵÂÊ·Ö±ðΪ5Hz,10Hz,20Hz,30Hz f1=5;xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;plot(t, xa) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('t(s)') ;ylabel('Xa(t)') ;line([0, max(t)],[0,0]) ; subplot(1, 2, 2) ;stem(t, xa, '.') ;line([0, max(t)], [0, 0]) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('n') ;ylabel('X(n)') ;频率越高,图像更加密集。

matlab信号与系统实验报告

matlab信号与系统实验报告

matlab信号与系统实验报告Matlab信号与系统实验报告引言:信号与系统是电子工程、通信工程等领域中的重要基础课程,对于理解和应用各种信号处理技术具有重要意义。

本实验报告旨在通过使用Matlab软件,对信号与系统的基本概念和实验进行探讨和分析。

实验一:信号的基本特性分析在信号与系统的研究中,我们首先需要了解信号的基本特性。

通过Matlab软件,我们可以方便地对不同类型的信号进行分析和处理。

在本实验中,我们选择了常见的正弦信号和方波信号进行分析。

首先,我们生成了一个频率为1kHz,幅度为2V的正弦信号,并绘制了其时域波形图和频谱图。

通过观察时域波形图,我们可以看到正弦信号具有周期性和连续性的特点。

而通过频谱图,我们可以看到正弦信号在频域上只有一个峰值,说明其是单频信号。

接下来,我们生成了一个频率为1kHz,幅度为2V,占空比为50%的方波信号,并绘制了其时域波形图和频谱图。

与正弦信号不同,方波信号具有分段常值的特点。

通过频谱图,我们可以看到方波信号在频域上存在多个谐波分量,说明其是由多个频率的正弦信号叠加而成。

实验二:系统的时域响应分析在信号与系统中,系统的时域响应是描述系统对输入信号进行处理的重要指标。

通过Matlab软件,我们可以方便地分析和绘制系统的时域响应。

在本实验中,我们选择了一个一阶低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。

通过绘制输入信号和输出信号的时域波形图,我们可以观察到系统对输入信号进行了滤波处理,输出信号的幅度和相位发生了变化。

此外,我们还可以通过改变系统的参数,如截止频率和阶数,来观察系统的时域响应的变化。

通过对比不同参数下的输出信号波形图,我们可以得出不同参数对系统响应的影响。

实验三:系统的频域响应分析除了时域响应,频域响应也是描述系统特性的重要指标。

通过Matlab软件,我们可以方便地进行系统的频域响应分析。

在本实验中,我们选择了一个二阶巴特沃斯低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。

信号与系统MATLAB实验-实验二 Matlab中信号的运算

信号与系统MATLAB实验-实验二 Matlab中信号的运算

1、运用funtool对f(x)=sin(x)/x分别进行信号的尺度变换f(2x)、f(0.5x)和信号的移位运算f(x+1)、f(x-1)操作以及f(0.5x+1),分别记录相应波形。

f(x)=sin(x)/x f(x+1)f(2x) f(x-1)f(0.5x) f(0.5x+1)2、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。

(设定取样时间间隔为dt )【实验思考】:通过不断改变dt 的取值并对比所得到的实验效果,观察当取样时间dt 为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?3、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式;2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。

(设定取样时间间隔为dt)【实验思考】:不断改变dt的取值并对比实验效果,当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?clear alldt = 0.01;t1 = -3:dt:3;f1 = 2*(u(t1+1) - u(t1-1));figure;stairs(t1,f1);hold allgrid ont2 = -3:dt:3;f2 = u(t2+2)-u(t2-2);stairs(t2,f2)[fn, tn] = conv_cs(f1, t1, f2, t2, dt);plot(tn, fn)grid onlegend('f1', 'f2', 'f1*f2')。

信号与系统-MATLAB综合实验课程设计

信号与系统-MATLAB综合实验课程设计

信号与系统-MATLAB综合实验课程设计一、课程设计的目的和意义在信号与系统学习中,MATLAB是非常重要的工具。

本课程设计主要目的是让学生通过实验,掌握使用MATLAB进行信号与系统分析和处理的方法和技巧。

同时,课程设计还能够加深学生对信号与系统理论知识的理解和掌握,提高其综合运用能力。

二、课程设计的内容和要求1. 实验一:信号的生成和绘制本实验主要包括以下内容:•生成几种基本信号(如正弦信号、方波信号、三角波信号等)。

•通过MATLAB绘制生成的信号,并加上合适的标注。

要求学生能够掌握信号的生成方法和MATLAB的绘图函数的使用。

2. 实验二:信号的运算与变换本实验主要包括以下内容:•对已有信号进行运算(如加、减、乘、除等)。

•对信号进行卷积、相关等线性变换操作。

•对信号进行傅里叶变换,并绘制幅度谱、相位谱等图形。

要求学生能够掌握信号的运算、变换方法和MATLAB的相应函数的使用。

3. 实验三:系统的分析和建立本实验主要包括以下内容:•对系统进行零极点分析,并绘制零极点图。

•对已有系统进行时域和频域分析(如阶跃响应、冲击响应、幅频响应等)。

要求学生能够掌握系统的分析方法和MATLAB的相应函数的使用。

4. 实验四:信号的滤波和降噪本实验主要包括以下内容:•对信号进行数字滤波(如低通滤波、高通滤波、带通滤波、带阻滤波等)。

•对信号进行去噪处理(如中值滤波、小波变换去噪等)。

要求学生能够掌握信号滤波、降噪方法和MATLAB的相应函数的使用。

三、课程设计的实施流程1.分组。

依据班级人数以及教学设备的数量,安排学生分为若干个小组,每个小组3-4人。

2.模拟分配实验。

询问小组成员们的意见,模拟分配每个小组所要完成的课程设计任务。

3.实验操作。

每个小组根据分配到的实验课程设计,使用MATLAB进行模拟操作。

4.结果展示。

每个小组进行结果展示,介绍自己的设计思路,并展示实验结果。

其他小组成员以及教师进行现场互相交流和讨论。

信号与系统实验__matlab

信号与系统实验__matlab

信号与系统部分01.分别用MATLAB 表示并绘出下列连续时间信号的波形:2()(2)()t f t e u t -=-02.分别用MATLAB 表示并绘出下列连续时间信号的波形:[]()cos()()(4)2tf t u t u t π=--03.分别用MATLAB 表示并绘出下列离散时间信号的波形:()12()()kf k u k =-04.分别用MATLAB 表示并绘出下列离散时间信号的波形:[]()()(8)f t k u k u k =--05.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。

()f t -06.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。

()f ata =0.507.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。

()f at ,a =208.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。

(0.51)f t +09.已知两信号1()(1)()f t u t u t =+-,2()()(1)f t u t u t =--,求卷积积分12()()()g t f t f t =*。

10.已知两信号1()()f t tu t =,20()()0t tt te u t f t t e-≥⎧=⎨<⎩,求卷积积分12()()()g t f t f t =*。

11.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和。

12.已知描述系统的微分方程如下,试用理论分析并计算系统的单位冲激响应h(t),并用MATLAB 绘出系统单位冲激响应的波形,验证结果是否相同。

''()4'()4()'()3()y t y t y t f t f t ++=+13.已知描述系统的微分方程如下,试用解析方法求系统的单位冲激响应h(t),并用MATLAB 绘出系统单位冲激响应的波形,验证结果是否相同。

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

《信号与系统MATLAB实践》第一次上机作业实验一、熟悉MATLAB基本操作三、基本序列运算1.数组的加减乘除和乘方运算A=[1 2 3];B=[4 5 6];C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(2,4,1);stem(A)subplot(2,4,2);stem(B)subplot(2,4,3);stem(C)subplot(2,4,4);stem(D)subplot(2,4,5);stem(E)subplot(2,4,6);stem(F)subplot(2,4,7);stem(G)2.绘制函数波形(1)t=0:0.001:10x=3-exp(-t);plot(t,x)ylabel('f(t)');xlabel('t');title('(1)');(2)t=0:0.001:10x=5*exp(-t)+3*exp(-2*t);plot(t,x)ylabel('f(t)');xlabel('t');title('(2)');(3)t=0:0.001:3x=exp(-t).*sin(2*pi*t); plot(t,x)ylabel('f(t)');xlabel('t');title('(3)');(4)t=0:0.001:3x=sin(3*t)./(3*t);plot(t,x) ylabel('f(t)'); xlabel('t'); title('(4)');(5)k=1:1:6 x=(-2).^(-k); stem(k) xlabel('k'); ylabel('f(k)'); title('(5)');(6)k=0:1:4 x=exp(k); stem(k) xlabel('k'); ylabel('f(k)'); title('(6)');(7)k=1:1:99 x=k;stem(k)ylabel('f(k)');title('(7)');四、利用MATLAB求解线性方程组。

1. a=[2 3 1;1 1 1;3 -1 -1];b=[11 6 -2]';x=inv(a)*bx =1.00002.00003.00002. a=[1 1 1;1 -2 1;1 2 3];b=[2 -1 -1]';x=inv(a)*bx =3.00001.0000-2.00003. a=[1 1 0;0 1 1;1 0 1];b=[27 33 30]';x=inv(a)*bx =1518实验二、信号的运算二、编写实现下列离散信号运算函数的程序,并画出波形。

1. k=0:100x=sin(k);stem(x)xlabel('k');ylabel('f(k)');title('2');2. k=0:100x=sin(k)+sin(pi*k);stem(x)xlabel('k');ylabel('f(k)');title('2');3. k=3:103 x=k.*sin(k); stem(x) xlabel('k'); ylabel('f(k)'); title('3');4. function f=fun(k)for i=1:100k(i)=i-50;if k(i)<0f(i)=(-1).^k(i);else f(i)=(-1).^k(i)+0.5.^k(i);endendstem(k,f)xlabel('k');ylabel('f(k)');title('4');七、编写一个计算两个离散序列的卷积和的程序,并用其计算下列卷积的和。

1. f1=[1 1 1 1];f2=[1 0.5 0.25 0.125 0.0625];conv(f1,f2)ans =1.0000 1.5000 1.7500 1.8750 0.9375 0.4375 0.1875 0.06252. f1=[1 1 1 1];f2=[3 2 1];conv(f1,f2)ans =3 5 6 6 3 1实验三、信号的谱分析二、1. clc; clear all;x=[1,2,3,4,5,6,6,5,4,3,2,1]; dtft=zeros(70); for i=1:70w(i)=(i-35)/10; for k=1:12dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i)); end endsubplot(1,2,1);plot(w,abs(dtft));xlabel('w');ylabel('DTFT');title('幅频特性'); subplot(1,2,2);plot(w,angle(dtft));xlabel('w');ylabel('DTFT');title('相频特性');-4-2024051015202530354045wD T F T幅频特性-4-2024-4-3-2-101234wD T F T相频特性2. clc; clear all; for i=1:120 if i==10 x(i)=1; elseif i==20x(i)=2;elseif i==30x(i)=3;elseif i==40x(i)=4;elseif i==50x(i)=5;elseif i==60x(i)=6;elseif i==70x(i)=6;elseif i==80x(i)=5;elseif i==90x(i)=4;elseif i==100x(i)=3;elseif i==110x(i)=2;elseif i==120x(i)=1;else x(i)=0;endend% x=[1,2,3,4,5,6,6,5,4,3,2,1];%dtft=zeros(150);for i=1:120w(i)=(i-40)/10;endG=fft(x);subplot(1,2,1);plot(w(1:80),abs(G(1:80)));xlabel('w');ylabel('DFT');title('幅频特性'); subplot(1,2,2);plot(w(1:80),angle(G(1:80)));xlabel('w');ylabel('DFT');title('相频特性');-4-20240510********354045wD F T幅频特性-4-2024-4-3-2-101234wD F T相频特性3. %DTFTclc;clear all;x=[1,2,3,4,5,6,6,5,4,3,2,1]; dtft=zeros(70); for i=1:70w(i)=(i-35)/10; for k=1:12dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i)); end endfigure;plot(w,abs(dtft),'b');xlabel('w');ylabel('DTFT or DFT');title('幅频特性'); hold on%DFT clc;clear all; for i=1:120 if i==10 x(i)=1; elseif i==20 x(i)=2; elseif i==30x(i)=3;elseif i==40x(i)=4;elseif i==50x(i)=5;elseif i==60x(i)=6;elseif i==70x(i)=6;elseif i==80x(i)=5;elseif i==90x(i)=4;elseif i==100x(i)=3;elseif i==110x(i)=2;elseif i==120x(i)=1;else x(i)=0;endendfor i=1:120w(i)=(i-40)/10;endG=fft(x);hold on;plot(w(1:80),abs(G(1:80)),'r');xlabel('w');ylabel('DTFT or DFT');title('幅频特性');-4-3-2-101234051015202530354045wD T F T o r D F T幅频特性三、分别用数值计算法和DFT 法,计算下列信号的频谱,并画出其幅度频谱和相位频谱。

1.数值计算 %fun111.mfunction y=fun111(t) [M,N]=size(t); for i=1:Nif((t(i)>-pi)&&(t(i)<0)) y(i)=pi+t(i);elseif ((t(i)>0)&&(t(i)<pi)) y(i)=pi-t(i); elsey(i)=0 end end%new111.m clear all clcfor i=1:1000w(i)=(i-1)/25;F= @(t) fun111(t).*exp(-j*w(i).*t);G(i)=quad(F,0,1); endsubplot(1,2,1);plot(w,abs(G));xlabel('w');ylabel('G');title('数值计算幅度频谱'); subplot(1,2,2);plot(w,angle(G));xlabel('w');ylabel('Fi');title('数值计算相位频谱');0102030400.511.522.53wG数值计算幅度频谱010203040-2.5-2-1.5-1-0.5wF i数值计算相位频谱DFT 法 %fun1.mfunction y=fun1(x) if((-pi<x) && (x<0)) y=pi+x;elseif ((0<x) && (x<pi)) y=pi-x; elsey=0 end%new.m clear all clcfor i=1:1000g(i)=fun1(2/1000*i-1); w(i)=(i-1)*0.2*pi;for i=1001:10000 g(i)=0;w(i)=(i-1)*0.2*pi; endG=fft(g)/1000; subplot(1,2,1);plot(w(1:50),abs(G(1:50)));xlabel('w');ylabel('G');title('DFT 幅度频谱'); subplot(1,2,2);plot(w(1:50),angle(G(1:50)))xlabel('w');ylabel('Fi');title('DFT 相位频谱');0102030400.511.522.53wGDFT 幅度频谱010203040-3.5-3-2.5-2-1.5-1-0.5wF iDFT 相位频谱2.数值计算 %fun222.mfunction y=fun222(t) [M,N]=size(t); for i=1:Nif (t(i)<1) && (t(i)>-1) y(i)=cos(pi*(t(i))/2); elsey(i)=0; end%new222.m clear all clcfor i=1:1000w(i)=(i-1)/25;F= @(t) fun222(t).*exp(-j*w(i).*t); G(i)=quad(F,0,1); endsubplot(1,2,1);plot(w,abs(G));xlabel('w');ylabel('G');title('数值计算幅度频谱'); subplot(1,2,2);plot(w,angle(G));xlabel('w');ylabel('Fi');title('数值计算相位频谱');1020304000.10.20.30.40.50.60.7wG数值计算幅度频谱10203040-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20wF i数值计算相位频谱DFT 法 %fun2.mfunction y=fun2(x) if x<1 && x>-1 y=cos(pi*x/2); elsey=0; end%new2.m for i=1:1000g(i)=fun2(2/1000*i-1); w(i)=(i-1)*0.2*pi; endfor i=1001:10000 g(i)=0;w(i)=(i-1)*0.2*pi; endG=fft(g)/1000; subplot(1,2,1);plot(w(1:50),abs(G(1:50)));xlabel('w');ylabel('G');title('幅度频谱'); subplot(1,2,2);plot(w(1:50),angle(G(1:50)))xlabel('w');ylabel('Fi');title('相位频谱');0102030400.10.20.30.40.50.60.7wGDFT 幅度频谱010203040-4-3-2-1123wF iDFT 相位频谱3.数值计算 %fun333.mfunction y=fun333(t) [M,N]=size(t); for i=1:Nif (t(i)<0) && (t(i)>-1) y(i)=1;elseif t(i)>0 && t(i)<1 y(i)=-1; elsey(i)=0; end end end%new333.m clear all clcfor i=1:1000w(i)=(i-1)/25;F= @(t) fun333(t).*exp(-j*w(i).*t); G(i)=quad(F,0,5); endsubplot(1,2,1);plot(w,abs(G));xlabel('w');ylabel('G');title('数值计算幅度频谱'); subplot(1,2,2);plot(w,angle(G));xlabel('w');ylabel('Fi');title('数值计算相位频谱');1020304000.10.20.30.40.50.60.70.80.91wG数值计算幅度频谱1020304000.511.522.533.5wF i数值计算相位频谱DFT法%fun3.mfunction y=fun3(x)if x<0 && x>-1y=1;elseif x>0 && x<1y=-1;elsey=0end%new.mfor i=1:1000g(i)=fun3(2/1000*i-1);w(i)=(i-1)*0.2*pi;endfor i=1001:10000g(i)=0;w(i)=(i-1)*0.2*pi;endG=fft(g)/1000;subplot(1,2,1);plot(w(1:50),abs(G(1:50)));xlabel('w');ylabel('G');title('DFT幅度频谱'); subplot(1,2,2);plot(w(1:50),angle(G(1:50)))xlabel('w');ylabel('Fi');title('DFT相位频谱');01020304000.10.20.30.40.50.60.70.8w G DFT 幅度频谱010203040-4-3-2-10123w F i DFT 相位频谱。

相关文档
最新文档