信号与系统实验报告
信号与系统软件实验实验报告

信号与系统软件实验实验报告一、实验目的本次信号与系统软件实验的主要目的是通过使用相关软件工具,深入理解和掌握信号与系统的基本概念、原理和分析方法,并通过实际操作和实验结果的观察与分析,提高对信号处理和系统性能的认识和应用能力。
二、实验环境本次实验使用的软件工具为_____,运行环境为_____操作系统。
计算机配置为_____处理器,_____内存,_____硬盘。
三、实验内容1、信号的表示与运算生成常见的连续时间信号,如正弦信号、余弦信号、方波信号、锯齿波信号等,并观察其波形和特征参数。
对生成的信号进行加、减、乘、除等运算,分析运算结果的波形和频谱变化。
2、系统的时域分析构建简单的线性时不变系统,如一阶惯性系统、二阶振荡系统等。
输入不同类型的信号,如阶跃信号、冲激信号等,观察系统的输出响应,并分析系统的稳定性、瞬态性能和稳态性能。
3、系统的频域分析对给定的系统进行频率响应分析,计算系统的幅频特性和相频特性。
通过改变系统的参数,观察频率响应的变化规律,并分析系统对不同频率信号的滤波特性。
4、信号的采样与重构对连续时间信号进行采样,研究采样频率对信号重构的影响。
采用不同的重构方法,如零阶保持重构、一阶线性重构等,比较重构信号与原始信号的误差。
四、实验步骤1、打开实验软件,熟悉软件的操作界面和功能菜单。
2、按照实验内容的要求,依次进行各项实验操作。
在信号表示与运算实验中,通过软件提供的函数生成所需的信号,并使用绘图功能显示信号的波形。
然后,利用软件的计算功能进行信号运算,并观察运算结果的波形。
对于系统时域分析实验,首先在软件中构建指定的系统模型,然后输入相应的激励信号,使用仿真功能获取系统的输出响应。
通过观察输出响应的波形,分析系统的性能指标,如上升时间、调节时间、超调量等。
在系统频域分析实验中,利用软件的频率响应分析工具,计算系统的幅频特性和相频特性曲线。
通过调整系统的参数,如增益、时间常数等,观察频率响应曲线的变化情况,并总结规律。
MATLAB信号与系统实验报告19472[五篇范文]
![MATLAB信号与系统实验报告19472[五篇范文]](https://img.taocdn.com/s3/m/a72999dee109581b6bd97f19227916888486b9f2.png)
MATLAB信号与系统实验报告19472[五篇范文]第一篇:MATLAB信号与系统实验报告19472信号与系统实验陈诉(5)MATLAB 综合实验项目二连续系统的频域阐发目的:周期信号输入连续系统的响应可用傅里叶级数阐发。
由于盘算历程啰嗦,最适适用MATLAB 盘算。
通过编程实现对输入信号、输出信号的频谱和时域响应的盘算,认识盘算机在系统阐发中的作用。
任务:线性连续系统的系统函数为11)(+=ωωjj H,输入信号为周期矩形波如图 1 所示,用MATLAB 阐发系统的输入频谱、输出频谱以及系统的时域响应。
-3-2-1 0 1 2 300.511.52Time(sec)图 1要领:1、确定周期信号 f(t)的频谱nF&。
基波频率Ω。
2、确定系统函数 )(Ω jn H。
3、盘算输出信号的频谱n nF jn H Y&&)(Ω=4、系统的时域响应∑∞-∞=Ω=nt jnn eY t y&)(MATLAB 盘算为y=Y_n*exp(j*w0*n“*t);要求(画出 3 幅图):1、在一幅图中画输入信号f(t)和输入信号幅度频谱|F(jω)|。
用两个子图画出。
2、画出系统函数的幅度频谱|H(jω)|。
3、在一幅图中画输出信号y(t)和输出信号幅度频谱|Y(jω)|。
用两个子图画出。
解:(1)阐发盘算:输入信号的频谱为(n)输入信号最小周期为=2,脉冲宽度,基波频率Ω=2π/ =π,所以(n)系统函数为因此输出信号的频谱为系统响应为(2)步伐:t=linspace(-3,3,300);tau_T=1/4;%n0=-20;n1=20;n=n0:n1;%盘算谐波次数20F_n=tau_T*Sa(tau_T*pi*n);f=2*(rectpuls(t+1.75,0.5)+rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5));figure(1),subplot(2,1,1),line(t,f,”linewidth“,2);%输入信号的波形 axis([-3,3,-0.1,2.1]);grid onxlabel(”Time(sec)“,”fontsize“,8),title(”输入信号“,”fontweight“,”bold“)%设定字体巨细,文本字符的粗细text(-0.4,0.8,”f(t)“)subplot(2,1,2),stem(n,abs(F_n),”.“);%输入信号的幅度频谱xlabel(”n“,”fontsize“,8),title(”输入信号的幅度频谱“,”fontweight“,”bold“)text(-4.0,0.2,”|Fn|“)H_n=1./(i*n*pi+1);figure(2),stem(n,abs(H_n),”.“);%系统函数的幅度频谱xlabel(”n“,”fontsize“,8),title(”系统函数的幅度频谱“,”fontweight“,”bold“)text(-2.5,0.5,”|Hn|“)Y_n=H_n.*F_n;y=Y_n*exp(i*pi*n”*t);figure(3),subplot(2,1,1),line(t,y,“linewidth”,2);%输出信号的波形 axis([-3,3,0,0.5]);grid onxlabel(“Time(sec)”,“fontsize”,8),title(“输出信号”,“fontweight”,“bold”)text(-0.4,0.3,“y(t)”)subplot(2,1,2),stem(n,abs(Y_n),“.”);%输出信号的幅度频谱xlabel(“n”,“fontsize”,8),title(“输出信号的幅度频谱”,“fontweight”,“bold”)text(-4.0,0.2,“|Yn|”)(3)波形:-3-2-1 0 1 2 300.511.52Time(sec)输入信号f(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输入信号的幅度频谱|Fn|-20-15-10-5 0 5 10 15 2000.10.20.30.40.50.60.70.80.91n系统函数的幅度频谱|Hn|-3-2-1 0 1 2 300.10.20.30.4Time(sec)输出信号y(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输出信号的幅度频谱|Yn| 项目三连续系统的复频域阐发目的:周期信号输入连续系统的响应也可用拉氏变更阐发。
信号与系统实验实验报告

信号与系统实验实验报告一、实验目的本次信号与系统实验的主要目的是通过实际操作和观察,深入理解信号与系统的基本概念、原理和分析方法。
具体而言,包括以下几个方面:1、掌握常见信号的产生和表示方法,如正弦信号、方波信号、脉冲信号等。
2、熟悉线性时不变系统的特性,如叠加性、时不变性等,并通过实验进行验证。
3、学会使用基本的信号处理工具和仪器,如示波器、信号发生器等,进行信号的观测和分析。
4、理解卷积运算在信号处理中的作用,并通过实验计算和观察卷积结果。
二、实验设备1、信号发生器:用于产生各种类型的信号,如正弦波、方波、脉冲等。
2、示波器:用于观测输入和输出信号的波形、幅度、频率等参数。
3、计算机及相关软件:用于进行数据处理和分析。
三、实验原理1、信号的分类信号可以分为连续时间信号和离散时间信号。
连续时间信号在时间上是连续的,其数学表示通常为函数形式;离散时间信号在时间上是离散的,通常用序列来表示。
常见的信号类型包括正弦信号、方波信号、脉冲信号等。
2、线性时不变系统线性时不变系统具有叠加性和时不变性。
叠加性意味着多个输入信号的线性组合产生的输出等于各个输入单独作用产生的输出的线性组合;时不变性表示系统的特性不随时间变化,即输入信号的时移对应输出信号的相同时移。
3、卷积运算卷积是信号处理中一种重要的运算,用于描述线性时不变系统对输入信号的作用。
对于两个信号 f(t) 和 g(t),它们的卷积定义为:\(f g)(t) =\int_{\infty}^{\infty} f(\tau) g(t \tau) d\tau \在离散时间情况下,卷积运算为:\(f g)n =\sum_{m =\infty}^{\infty} fm gn m \四、实验内容及步骤实验一:常见信号的产生与观测1、连接信号发生器和示波器。
2、设置信号发生器分别产生正弦波、方波和脉冲信号,调整频率、幅度和占空比等参数。
3、在示波器上观察并记录不同信号的波形、频率和幅度。
信号与系统实验报告

信号与系统实验报告一、实验目的(1) 理解周期信号的傅里叶分解,掌握傅里叶系数的计算方法;(2)深刻理解和掌握非周期信号的傅里叶变换及其计算方法;(3) 熟悉傅里叶变换的性质,并能应用其性质实现信号的幅度调制;(4) 理解连续时间系统的频域分析原理和方法,掌握连续系统的频率响应求解方法,并画出相应的幅频、相频响应曲线。
二、实验原理、原理图及电路图(1) 周期信号的傅里叶分解设有连续时间周期信号()f t ,它的周期为T ,角频率22fT,且满足狄里赫利条件,则该周期信号可以展开成傅里叶级数,即可表示为一系列不同频率的正弦或复指数信号之和。
傅里叶级数有三角形式和指数形式两种。
1)三角形式的傅里叶级数:01212011()cos()cos(2)sin()sin(2)2cos()sin()2n n n n a f t a t a t b t b t a a n t b n t 式中系数n a ,n b 称为傅里叶系数,可由下式求得:222222()cos(),()sin()T T T T nna f t n t dtb f t n t dtTT2)指数形式的傅里叶级数:()jn tn nf t F e式中系数n F 称为傅里叶复系数,可由下式求得:221()T jn tT nF f t edtT周期信号的傅里叶分解用Matlab进行计算时,本质上是对信号进行数值积分运算。
Matlab中进行数值积分运算的函数有quad函数和int函数。
其中int函数主要用于符号运算,而quad函数(包括quad8,quadl)可以直接对信号进行积分运算。
因此利用Matlab进行周期信号的傅里叶分解可以直接对信号进行运算,也可以采用符号运算方法。
quadl函数(quad系)的调用形式为:y=quadl(‘func’,a,b)或y=quadl(@myfun,a,b)。
其中func是一个字符串,表示被积函数的.m文件名(函数名);a、b分别表示定积分的下限和上限。
信号与系统实验报告

信号与系统实验报告
实验名称:信号与系统实验
一、实验目的:
1.了解信号与系统的基本概念
2.掌握信号的时域和频域表示方法
3.熟悉常见信号的特性及其对系统的影响
二、实验内容:
1.利用函数发生器产生不同频率的正弦信号,并通过示波器观察其时域和频域表示。
2.通过软件工具绘制不同信号的时域和频域图像。
3.利用滤波器对正弦信号进行滤波操作,并通过示波器观察滤波前后信号的变化。
三、实验结果分析:
1.通过实验仪器观察正弦信号的时域表示,可以看出信号的振幅、频率和相位信息。
2.通过实验仪器观察正弦信号的频域表示,可以看出信号的频率成分和幅度。
3.利用软件工具绘制信号的时域和频域图像,可以更直观地分析信号的特性。
4.经过滤波器处理的信号,可以通过示波器观察到滤波前后的信号波形和频谱的差异。
四、实验总结:
通过本次实验,我对信号与系统的概念有了更深入的理解,掌
握了信号的时域和频域表示方法。
通过观察实验仪器和绘制图像,我能够分析信号的特性及其对系统的影响。
此外,通过滤波器的处理,我也了解了滤波对信号的影响。
通过实验,我对信号与系统的理论知识有了更加直观的了解和应用。
信号与系统实验报告

信号与系统实验报告实验一连续时间信号1.1表示信号的基本MATLAB函数1.2连续时间负指数信号1、对下面信号创建符号表达式x(t)=sin(2πt/T)cos(2πt/T)。
对于T=6,8和16,利用ezplot 画出0<=t<=32内的信号。
什么是x(t)的基波周期?x1=sym('sin(2*pi*t/T)');x2=sym('cos(2*pi*t/T)');x=x1*x2x4=subs(x,4,'T');ezplot(x4,[0,32]);x8=subs(x,8,'T');ezplot(x8,[0,32]);x16=subs(x,16,'T');ezplot(x16,[0,32]);T=4 T=8T=162、对下面信号创建一个符号表达式x(t)=exp(-at)cos(2πt)。
对于a=1/2,1/4,1/8,利用ezplot确定td,td为|x(t)|最后跨过0.1的时间,将td定义为该信号消失的时间。
利用ezplot对每一个a值确定在该信号消失之前,有多少个完整的余弦周期出现,周期数目是否正比于品质因素Q=(2π/T)/2a?x1=sym('exp(-a*t)');x2=sym('cos(2*pi*t)');x=x1*x2;xa1=subs(x,1/2,'a');ezplot(xa1);xa2=subs(x,1/4,'a');ezplot(xa2);xa3=subs(x,1/8,'a');ezplot(xa3);a=1/2 a=1/4a=1/83、将信号x(t)=exp(j2πt/16)+exp(j2πt/8)的符号表达式存入x中。
函数ezplot不能直接画出x(t),因为x*(t)是一个复数信号,实部和虚部分量必须要提取出来,然后分别画出他们。
信号与系统实验报告

信号与系统实验报告目录1. 内容概要 (2)1.1 研究背景 (3)1.2 研究目的 (4)1.3 研究意义 (4)2. 实验原理 (5)2.1 信号与系统基本概念 (7)2.2 信号的分类与表示 (8)2.3 系统的分类与表示 (9)2.4 信号与系统的运算法则 (11)3. 实验内容及步骤 (12)3.1 实验一 (13)3.1.1 实验目的 (14)3.1.2 实验仪器和设备 (15)3.1.4 实验数据记录与分析 (16)3.2 实验二 (16)3.2.1 实验目的 (17)3.2.2 实验仪器和设备 (18)3.2.3 实验步骤 (19)3.2.4 实验数据记录与分析 (19)3.3 实验三 (20)3.3.1 实验目的 (21)3.3.2 实验仪器和设备 (22)3.3.3 实验步骤 (23)3.3.4 实验数据记录与分析 (24)3.4 实验四 (26)3.4.1 实验目的 (27)3.4.2 实验仪器和设备 (27)3.4.4 实验数据记录与分析 (29)4. 结果与讨论 (29)4.1 实验结果汇总 (31)4.2 结果分析与讨论 (32)4.3 结果与理论知识的对比与验证 (33)1. 内容概要本实验报告旨在总结和回顾在信号与系统课程中所进行的实验内容,通过实践操作加深对理论知识的理解和应用能力。
实验涵盖了信号分析、信号处理方法以及系统响应等多个方面。
实验一:信号的基本特性与运算。
学生掌握了信号的表示方法,包括连续时间信号和离散时间信号,以及信号的基本运算规则,如加法、减法、乘法和除法。
实验二:信号的时间域分析。
在本实验中,学生学习了信号的波形变换、信号的卷积以及信号的频谱分析等基本概念和方法,利用MATLAB工具进行了实际的信号处理。
实验三:系统的时域分析。
学生了解了线性时不变系统的动态响应特性,包括零状态响应、阶跃响应以及脉冲响应,并学会了利用MATLAB进行系统响应的计算和分析。
信号与系统实验报告

信号与系统实验报告一、信号的时域基本运算1.连续时间信号的时域基本运算两实验之一实验分析:输出信号值就等于两输入信号相加(乘)。
由于b=2,故平移量为2时,实际是右移1,符合平移性质。
两实验之二心得体会:时域中的基本运算具有连续性,当输入信号为连续时,输出信号也为连续。
平移,伸缩变化都会导致输出结果相对应的平移伸缩。
2.离散时间信号的时域基本运算两实验之一实验分析:输出信号的值是对应输入信号在每个n值所对应的运算值,当进行拉伸变化后,n值数量不会变,但范围会拉伸所输入的拉伸系数。
两实验之二心得体会:离散时间信号可以看做对连续时间信号的采样,而得到的输出信号值,也可以看成是连续信号所得之后的采样值。
二、连续信号卷积与系统的时域分析1.连续信号卷积积分两实验之一实验分析:当两相互卷积函数为冲激函数时,所卷积得到的也是一个冲激函数,且该函数的冲激t值为函数x,函数y冲激t值之和。
两实验之二心得体会:连续卷积函数每个t值所对应的卷积和可以看成其中一个在k值取得的函数与另外一个函数相乘得到的一个分量函数,并一直移动k值直至最后,最后累和出来的最终函数便是所得到的卷积函数。
3.RC电路时域积分两实验之一实验分析:全响应结果正好等于零状态响应与零输入响应之和。
两实验之二心得体会:具体学习了零状态,零输入,全响应过程的状态及变化,与之前所学的电路知识联系在一起了。
三、离散信号卷积与系统的时域分析1.离散信号卷积求和两实验之一实验分析:输出结果的n值是输入结果的k号与另一个n-k的累和两实验之二心得体会:直观地观察到卷积和的产生,可以看成连续卷积的采样形式,从这个方面去想,更能深入地理解卷积以及采样的知识。
2.离散差分方程求解两实验之一实验分析:其零状态响应序列为0 0 4 5 7.5,零输入响应序列为2 4 5 5.5 5.75,全状态响应序列为2 4 9 10.5 13.25,即全状态=零输入+零状态。
两实验之二心得体会:求差分方程时,可以根据全状态响应是由零输入输入以及零状态相加所得,分开来求,同时也加深了自己对差分方程的求解问题的理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学信号与系统试验报告姓名:学号:专业班级:自动化实验一 基本信号的生成1.实验目的● 学会使用MATLAB 产生各种常见的连续时间信号与离散时间信号; ● 通过MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的理解;● 熟悉MATLAB 的基本操作,以及一些基本函数的使用,为以后的实验奠定基础。
2.实验内容⑴ 运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形的变化。
⑵ 在 k [10:10]=- 范围内产生并画出以下信号:a) 1f [k][k]δ=; b) 2f [k][k+2]δ=; c) 3f [k][k-4]δ=;d) 4f [k]2[k+2][k-4]δδ=-。
源程序:k=-10:10;f1k=[zeros(1,10),1,zeros(1,10)]; subplot(2,2,1) stem(k,f1k) title('f1[k]')f2k=[zeros(1,8),1,zeros(1,12)]; subplot(2,2,2) stem(k,f2k) title('f2[k]')f3k=[zeros(1,14),1,zeros(1,6)]; subplot(2,2,3) stem(k,f3k) title('f3[k]') f4k=2*f2k-f3k; subplot(2,2,4) stem(k,f4k) title('f4[k]')⑶ 在 k [0:31]=范围内产生并画出以下信号:a) ()()k k 144f [k]sin cos ππ=; b) ()2k 24f [k]cos π=; c) ()()k k 348f [k]sin cos ππ=。
请问这三个信号的基波周期分别是多少?源程序:k=0:31;f1k=sin(pi/4*k).*cos(pi/4*k);subplot(3,1,1)stem(k,f1k)title('f1[k]')f2k=(cos(pi/4*k)).^2;subplot(3,1,2)stem(k,f2k)title('f2[k]')f3k=sin(pi/4*k).*cos(pi/8*k);subplot(3,1,3)stem(k,f3k)title('f3[k]')其中f1[k]的基波周期是4, f2[k]的基波周期是4, f3[k]的基波周期是16。
实验二信号的基本运算1.实验目的学会使用MATLAB完成信号的一些基本运算;● 了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差分、求和、微分及积分等运算来表达的方法;● 进一步熟悉MATLAB 的基本操作与编程,掌握其在信号分析中的运用特点与使用方式。
2.实验内容⑴ 运行以上三个例题程序,掌握信号基本运算的MATLAB 实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。
⑵ 已知信号()f t 如下图所示:a) 用MATLAB 编程复现上图; %作业题2 a : t=-6:0.001:6; ft1=tripuls(t,6,0.5); subplot(2,1,1) plot(t,ft1) title('f(t)')tf (t )给定信号f(t)b)画出(22)的波形;f t%bt=-6:0.001:6;ft1=tripuls(2*(1-t),6,0.5); %subplot(1,1,1)plot(t,ft1)title('f(2*(1-t)')的波形;c)画出df(t)dt%ch=0.001;t=-6:h:6;yt=tripuls(t,6,0.5);y1=diff(yt)*1/h;plot(t(1:length(t)-1),y1)title('df(t)/dt')d) 画出tf ()d ττ-∞⎰的波形。
%d t=-6:0.1:6; for x=1:length(t)y2(x)=quad('tripuls(t,6,0.5)',-3,t(x)); end plot(t,y2)title('integral of f(t)')实验三系统的时域分析1.实验目的●学习并掌握连续时间系统的零状态响应、冲激响应和阶跃响应的MATLAB求解方法;●学习并掌握离散时间系统的零状态响应、冲激响应和阶跃响应的MATLAB求解方法;●进一步深刻理解连续时间系统和离散时间系统的系统函数零极点对系统特性的影响;学习并掌握卷积的MATLAB计算方法。
2.实验内容⑴运行以上五个例题程序,掌握求解系统响应的MATLAB分析方法;改变模型参数,考察系统响应的变化特点与规律。
⑵设离散系统可由下列差分方程表示:=y[k]-y[k-1]+0.9y[k-2]f[k]计算[20:100]k=-时的系统冲激响应。
源程序:k=-20:100;a=[1 -1 0.9];b=[1];h=impz(b,a,k);stem(k,h);xlabel('Time(sec)')ylabel('y(t)')⑶ 设[](0.9)()k h k u k =,输入[][][10]f k u k u k =--,求系统输出[][][]y k f k h k =*。
(取[10:50]k =-)源程序:k=-10:50;uk=[zeros(1,10),ones(1,51)]; u1k=[zeros(1,20),ones(1,41)]; hk=0.9.^k.*uk; fk=uk-u1k;yk=conv(hk,fk);stem(0:length(yk)-1,yk);⑷ 已知滤波器的传递函数:10.22()10.8H z z-=- 输入信号为()2sin(0.05)(),()f t t t t πωω=+为随机信号。
试绘出滤波器的输出信号波形。
(取[0:100]t )源程序:R=101;d=rand(1,R)-0.5;t=0:100;s=2*sin(0.05*pi*t);f=s+d;subplot(2,1,1);plot(t,d,'g-.',t,s,'b--',t,f,'r-');xlabel('Time index t');legend('d[t]','s[t]','f[t]');title('处理前的波形')b=[0.22 0];a=[1 -0.8];y=filter(b,a,f);subplot(2,1,2);plot(t,s,'b--',t,y,'r-');xlabel('Time index t');legend('s[t]','y[t]');title('滤波器输出波形')实验四周期信号的频域分析1.实验目的●掌握周期信号傅立叶级数分解与合成的计算公式●掌握利用MATLAB实现周期信号傅立叶级数分解与综合方法●理解并掌握周期信号频谱特点2.实验内容1、仿照例程,实现下述周期信号的傅立叶级数分解与合成:要求:(a )首先,推导出求解0a ,n a ,n b 的公式,计算出前10次系数;(b )利用MATLAB 求解0a ,n a ,n b 的值,其中n a ,n b 求解前10次系数,并给出利用这些系数合成的信号波形。
(a )设周期信号)(t f 的周期为1T ,角频率11122T f ππω==,且满足狄里赫利条件,则该周期信号可以展开成傅立叶级数。
(1)三角形式傅立叶级数dtt n t f T b dt t n t f T a dt t f T a t n b t n a a t b t a t b t a t b t a a t f T T n T T n T T n n n n n n n n ⎰⎰⎰∑∑---∞=∞====++=++++++++=22112211221011110222211110111111sin )(2cos )(2)(1)sin()cos(...sin cos ...sin cos sin cos )(ωωωωωωωωωω(2)指数形式傅立叶级数∑+∞-∞=±±±==n t jn n n eF t f ,3,2,1,0,)(1ω dt et f T F T T tjn n ⎰--=212111)(1ω(b )求解0a ,n a ,n b 及合成信号波形所用程序:function [A_sym,B_sym]=CTFShchsym% 采用符号计算求一个周期内连续时间函数f 的三角级数展开系数,再用这些% 展开系数合成连续时间函数f.傅立叶级数% 函数的输入输出都是数值量% Nf=6 谐波的阶数% Nn 输出数据的准确位数% A_sym 第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数% B_sym 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数% tao=1 tao/T=0.2syms t n k xT=4;tao=T/4;a=-1.5;if nargin<4Nf=10;endif nargin<5Nn=32;endx=time_fun_x(t);A0=int(x,t,a,T+a)/T; %求出三角函数展开系数A0As=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a); %求出三角函数展开系数AsBs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a); %求出三角函数展开系数BsA_sym(1)=double(vpa(A0,Nn)); %获取串数组A0所对应的ASC2码数值数组for k=1:NfA_sym(k+1)=double(vpa(subs(As,n,k),Nn)); %获取串数组A所对应的ASC2码数值数组B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); %获取串数组B所对应的ASC2码数值数组end ;if nargout==0c=A_sym;disp(c); %输出c为三角级数展开系数:第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数d=B_sym;disp(d); %输出d为三角级数展开系数: 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数t=-3*T:0.01:3*T;f0=c(1); %直流f1=c(2).*cos(2*pi*1*t/T)+d(2).*sin(2*pi*1*t/T); % 基波f2=c(3).*cos(2*pi*2*t/T)+d(3).*sin(2*pi*2*t/T); % 2次谐波f3=c(4).*cos(2*pi*3*t/T)+d(4).*sin(2*pi*3*t/T); % 3次谐波f4=c(5).*cos(2*pi*4*t/T)+d(5).*sin(2*pi*4*t/T); % 4次谐波f5=c(6).*cos(2*pi*5*t/T)+d(6).*sin(2*pi*5*t/T); % 5次谐波f6=c(7).*cos(2*pi*6*t/T)+d(7).*sin(2*pi*6*t/T); % 6次谐波f7=c(8).*cos(2*pi*7*t/T)+d(8).*sin(2*pi*7*t/T); % 7次谐波f8=c(9).*cos(2*pi*8*t/T)+d(9).*sin(2*pi*8*t/T); % 8次谐波f9=c(10).*cos(2*pi*9*t/T)+d(10).*sin(2*pi*9*t/T); % 9次谐波f10=c(11).*cos(2*pi*10*t/T)+d(11).*sin(2*pi*10*t/T); % 10次谐波f11=f0+f1+f2; % 直流+基波+2次谐波f12=f11+f3; % 直流+基波+2次谐波+3次谐波f13=f12+f4+f5+f6; % 直流+基波+2次谐波+3次谐波+4次谐波+5次谐波+6次谐波f14=f13+f7+f8+f9+f10; %0~10次subplot(2,2,1)plot(t,f0+f1),hold ony=time_fun_e(t); %调用连续时间函数-周期矩形脉冲plot(t,y,'r:')title('直流+基波')axis([-8,8,-0.5,1.5])subplot(2,2,2)plot(t,f12),hold ony=time_fun_e(t);plot(t,y,'r:')title('1-3次谐波+直流')axis([-8,8,-0.5,1.5])subplot(2,2,3)plot(t,f13),hold ony=time_fun_e(t);plot(t,y,'r:')title('1-6次谐波+直流')axis([-8,8,-0.5,1.5])subplot(2,2,4)plot(t,f14),hold ony=time_fun_e(t);plot(t,y,'r:')title('1-10次谐波+直流')axis([-8,8,-0.5,1.5])hold offendfunction y=time_fun_e(t)% 该函数是CTFShchsym.m的子函它由符号函数和表达式写成a=1.5;T=4;h=1;tao=T/4;t=-3*T:0.01:3*T;e1=1/2+1/2.*sign(t-0.5+tao/2);e2=1/2+1/2.*sign(t-0.5-tao/2);y=h.*(e1-e2); %连续时间函数-周期矩形脉冲function x=time_fun_x(t)% 该函数是CTFShchsym.m 的子函数。