第一篇:信号与系统学习心得
学习信号与系统后的一些心得
经过一个学期对《信号与系统》的学习与认知,让我逐步的走进这充满神秘色彩的学科。这门课程是以《高等数学》为基础,但它又不是一门只拘泥于数学推导与数学运算的学科,它更侧重与数学与专业的有机融合与在创造,是一门应用性很强的学科。
大家都知道学习是一个把书看厚然后再看薄、理解和总结的过程。下面我就来和大家分享一下我在学习信号与系统中的一些学习心得。
所谓学习一门学科,首先要知道它有什么用,然后才能有学习的兴趣和动力。所以让我们先来整体认识一下信号与系统。这门课是电气专业的基础,对后面的数字信号处理,滤波器设计都是十分重要的。它也给了我们一个学习的思想:无论什么问题,都可以把问题看作一个系统,有了输入,那么就会得到输出。那么输入和输出有什么关系呢?就需要我们学习了这门课程来掌握理解不同的输入对应怎样的输出,是怎样对应过去的。
信号与系统主要用到的知识有傅里叶变换(离散和连续),拉普拉斯变换,z变换。其中,傅里叶变换是重中之重,学会了这个,另外两个就是一个举一反三的过程。
纵观一个系统的实现,其实就是:激励→零输入响应+零状态响应
用醒目的公式来说明就是:
接下来的问题就是咱们怎样由激励来求零输入、零状态响应。对于零输入响应,顾名思义,就是没有输入的响应,即在系统还没有激励的时候已经有响应了。这部分可由微分方程齐次解的一部分来求得,两者形式是一样的。其中的待定系数通过初始状态即可求的。
重点和难点在零状态响应。这门学科大部分就是通过探讨给出一些列简单的方法来求零状态响应。
首先咱们来想一下,既然零输入响应只是齐次解中的一部分,那么,齐次解中剩下的一部分将和特解一起组成系统的零状态响应。刚开始是通过卷积的方法来求得,虽然这种方法可行,但需要积分,计算难度明显很大。于是“懒人们”通过研究发现了更好的办法:傅里叶变换。
课本上给了一系列傅里叶变换,还有傅里叶变换的基本性质。以及后面的拉普拉斯变换、Z变换及性质都是相通的。公式与性质的记忆可以通过比较记忆,变换间形式都是一样的。只要掌握了傅里叶变换,后面两种很快就可学会,无非就是由频域变成了复频域,有连续变成了离散,由复频域变成了Z域。
所以说来说去,这本书就是只要认真去理解掌握傅里叶变换就可以了。由傅里叶变换求零状态响应非常简便,只需要激励的频域函数乘以系统函数(在零状态条件下响应与激励的比值,是系统的频率特征,是系统特征的频域描述,是一个与激励无关的函数)就可以了求的频域里面的响应了,然后再通过傅里叶反变换求的时域里的零状态响应即可。基本过程为:
1,对激励进行傅里叶变换x(t)↔ X(w);
2,由微分方程求的系统函数H(w);
3,由激励的傅里叶变换和系统函数求的频域响应Y(w)=X(w)H(w);4,通过傅里叶反变换求的系统的零状态响应Y(w)↔ y(t)
这就是我的一些心得,剩下的基础还是需要下功夫自己去记一下的,掌握一些规律。
第二篇:信号与系统学习心得
信号与系统学习心得
经过几个星期对《信号与系统》的学习与认知,让我逐步的走进这充满神秘色彩的学科。现在我对于这么学科已经有了一点浅浅的认识。下面我就谈谈我对这门学科的认识。
所谓系统,是由若干相互联系、相互作用的单元组成的具有一定功能的有机整体。根据系统处理的信号形式的不同,系统可分为三大类:连续时间系统、离散时间系统和混合系统。而系统按其工作性质来说,可分为线性系统与非线性系统、时变系统与时不变系统、因果系统与非因果系统。信号分析的内容十分广泛,分析方法也有多种。目前最常用、最基本的两种方法是时域法与频域法。时域法是研究信号的时域特性,如波形的参数、波形的变化、出现时间的先后、持续时间的长短、重复周期的大小和信号的时域分解与合成等、频域法,是将信号变换为另一种形式研究其频域特性。信号与系统总是相伴存在的,信号经由系统才能传输。
最近我们学到了傅里叶级数。由于上一学期在《高等数学》中对这一方面知识有了一定的学习,我对这一变换有了一点自己的感悟与认知。以下就是我对傅里叶级数的一点总结:
1.物理意义:付里叶级数是将信号在正交三角函数集上进行分解(投影),如果将指标系列类比为一个正交集,则指标上值的大小可类比为性能在这一指标集上的分解,或投影;分解的目的是为了更好地分析事物的特征,正交集中的每一元素代表一种成分,而分解后对应该元素的系数表征包含该成分的多少 2.三角函数形式:f(t)可以表示成:
f(t)a0a1cos(w1t)a2cos(2w1t)ancos(nw1t)b1sin(w1t)b2sin(2w1t)bnsin(nw1t)a0[an10ncos(nw1t)bnsin(nw1t)]
其中,a被称为直流分量
ancos(nw1t)bnsin(nw1t)被称为
n次谐波分量。
a0T1/2T1/2f(t)dt1T1K0T1/2T1/2f(t)dt
2T1anT1/2T1/2f(t)cos(nw1t)dtKanT1/2T1/2f(t)cos(nw1t)dt
f(t)sin(nw1t)dtbnT1/2T1/2f(t)sin(nw1t)dtKbn2T1T1/2T1/2
注:奇函数傅里叶级数中无余弦分量;当f(t)为偶函数时bn=0,不含正弦项,只含直流项和余弦项。
3.一般形式:
f(t)cn0ncos(nwtn)
或者:
f(t)dn0nsin(nwtn)
c0d0a0cndn
22anbn narctg(4.指数形式:
bnan),narctg(anbn)
f(t)1nFnejnw1t
f(t)ejnw1tFn
以上就是我目前对这门学科的认识。信号与系统作为一门专业课,其重要性不言而喻。在接下来学习中,我将继续深入的去学习这门学科。我希望能真正的掌握这门极其有用的学科,在不远的将来,把它运用于实践中去。
T1T1/2T1/2dt
第三篇:信号与系统
问题4:单侧可导与单侧连续、单侧极限的关系?单侧极限存在 并且极限值=函数值 可以推出单侧连续可导必连续,连续未必可导那么 单侧可导是否可以推出单侧连续?请证明;反之,单侧极限是否可以推出单侧可导?请证明或举反例。谢谢老师!
解答:单侧可导可以推出单侧连续,单侧连续可以推出单侧极限存在。
证:设函数f(x)在x0点的右侧导数存在,即右导数存在,根据右导数存在的定义,limxx0f(x)f(x0)xx0存在,由于xx0时,分母xx0趋于0,所以f(x)f(x0)也要趋于0,否则这个极限是不存在的。所以limf(x)f(x0)0,即limf(x)f(x0),亦即f(x)在x0点右连续。xx0xx0
再证明单侧连续可以推出单侧极限存在。
设函数f(x)在x0点右连续,即limf(x)f(x0),这说明函数在x0点的右极限存在。xx0
由于连续未必可导,所以单侧连续也是推不出单侧可导的,具体例子见同济六版课本P85,例9
第四篇:信号与系统实验报告,
实验三
常见信号得MATLAB 表示及运算 一、实验目得 1。熟悉常见信号得意义、特性及波形 2.学会使用 MATLAB 表示信号得方法并绘制信号波形 3、掌握使用MATLAB 进行信号基本运算得指令 4、熟悉用MATLAB 实现卷积积分得方法 二、实验原理 根据MATLAB 得数值计算功能与符号运算功能,在 MATLAB中,信号有两种表示方法,一种就是用向量来表示,另一种则就是用符号运算得方法。在采用适当得 MATLAB 语句表示出信号后,就可以利用 MATLAB中得绘图命令绘制出直观得信号波形了。
1、连续时间信号
从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB 中,就是用连续信号在等时间间隔点上得样值来近似表示得,当取样时间间隔足够小时,这些离散得样值就能较好地近似出连续信号。在 MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴
向量表示法 对于连续时间信号,可以用两个行向量 f 与 t 来表示,其中向量 t 就是用形如得命令定义得时间范围向量,其中,为信号起始时间,为终止时间,p 为时间间隔。向量 f 为连续信号在向量 t所定义得时间点上得样值. ⑵
符号运算表示法 如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍得符号函数专用绘图命令 ezplot()等函数来绘出信号得波形。
⑶
得 常见信号得 M ATLA B表示
单位阶跃信号 单位阶跃信号得定义为:
方法一:
调用 H eaviside(t)函数 首先定义函数 Heaviside(t)得m函数文件,该文件名应与函数名同名即Heaviside、m.%定义函数文件,函数名为 Heaviside,输入变量为 x,输出变量为y function y= Heaviside(t)
y=(t>0);
%定义函数体,即函数所执行指令 %此处定义t>0 时 y=1,t<=0 时y=0,注意与实际得阶跃信号定义得区别.方法二:数值计算法 在MATLAB 中,有一个专门用于表示单位阶跃信号得函数,即 s te pfun()函数,它就是用数值计算法表示得单位阶跃函数.其调用格式为: st epfun(t,t0)
其中,t 就是以向量形式表示得变量,t0 表示信号发生突变得时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣得就是它同时还可以表示单位阶跃序列,这只要将自变量以及
取样间隔设定为整数即可。
符号函数 符号函数得定义为:
在 MATLAB 中有专门用于表示符号函数得函数 s ign(),由于单位阶跃信号(t)与符号函数两者之间存在以下关系:,因此,利用这个函数就可以很容易地生成单位阶跃信号.2、离散时间信号 离散时间信号又叫离散时间序列,一般用 表示,其中变量 k 为整数,代表离散得采样时间点(采样次数)。
在 MATLAB中,离散信号得表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于 MATLAB 中元素得个数就是有限得,因此,MATLAB无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据得命令,即 stem(()函数,而不能用plot()函数。
单位序列
单位序列)得定义为
单位阶跃序列 单位阶跃序列得定义为 3、卷积积分 两个信号得卷积定义为:
MATLAB 中就是利用 conv 函数来实现卷积得.功能:实现两个函数与得卷积.格式:g=conv(f1,f2)
说明:f1=f 1(t),f2=f 2(t)
表示两个函数,g=g(t)表示两个函数得卷积结果。
三、实验内容 1、分别用 MATLAB得向量表示法与符号运算功能,表示并绘出下列连续时间信号得波形:
⑴
⑵
(1)
t=-1:0、01:10;t1=-1:0、01:-0、01;t2=0:0、01:10; f1=[zeros(1,length(t1)),ones(1,length(t2))];f=(2—exp(-2*t))、*f1; plot(t,f)axis([-1,10,0,2、1])
syms t;f=sym(’(2-exp(—2*t))*heaviside(t)“); ezplot(f,[-1,10]);
(2)t=—2:0、01:8; f=0、*(t<0)+cos(pi*t/2)、*(t>0&t〈4)+0、*(t〉4);plot(t,f)
syms t;f=sym(”cos(pi*t/2)*[heaviside(t)—heaviside(t—4)] “);ezplot(f,[-2,8]);
2、分别用 MATLAB 表示并绘出下列离散时间信号得波形:
⑵
⑶
(2)
t=0:8; t1=—10:15; f=[zeros(1,10),t,zeros(1,7)];stem(t1,f)axis([—10,15,0,10]);
(3)t=0:50;t1=—10:50; f=[zeros(1,10),sin(t*pi/4)];stem(t1,f)
axis([—10,50,—2,2])
3、已知两信号,求卷积积分,并与例题比较。
t1=—1:0、01:0; t2=0:0、01:1;t3=—1:0、01:1; f1=ones(size(t1));f2=ones(size(t2));g=conv(f1,f2); subplot(3,1,1),plot(t1,f1); subplot(3,1,2),plot(t2,f2);subplot(3,1,3),plot(t3,g);
与例题相比较,g(t)得定义域不同,最大值对应得横坐标也不同。
4、已知,求两序列得卷积与 .N=4;M=5; L=N+M—1; f1=[1,1,1,2]; f2=[1,2,3,4,5];g=conv(f1,f2); kf1=0:N-1; kf2=0:M-1;kg=0:L—1;subplot(1,3,1),stem(kf1,f1,’*k’);xlabel(”k“); ylabel(’f1(k)”);grid on subplot(1,3,2),stem(kf2,f2,’*k“);xlabel('k’);ylabel(”f2(k)’);grid on subplot(1,3,3);stem(kg,g,'*k’);xlabel('k“); ylabel(”g(k)');grid on
实验心得:第一次接触 Mutlab 这个绘图软件,觉得挺新奇得,同时 ,由于之前不太学信号与系统遇到一些不懂得问题,结合这些图对信号与系统有更好得了解。
实验四
连续时间信号得频域分析 一、实验目得 1。熟悉傅里叶变换得性质 2.熟悉常见信号得傅里叶变换 3。了解傅里叶变换得MATLAB 实现方法 二、实验原理 从已知信号求出相应得频谱函数得数学表示为:
傅里叶反变换得定义为:
在 MATLAB中实现傅里叶变换得方法有两种,一种就是利用 MATLAB 中得 Sy mbo lic Math Too lbox 提供得专用函数直接求解函数得傅里叶变换与傅里叶反变换,另一种就是傅里叶变换得数值计算实现法.1、直接调用专用函数法 ①在 MATLAB 中实现傅里叶变换得函数为:
F=fourier(f)
对f(t)进行傅里叶变换,其结果为 F(w)
F=fourier(f,v)
对 f(t)进行傅里叶变换,其结果为F(v)
F=fourier(f,u,v)
对f(u)进行傅里叶变换,其结果为 F(v)②傅里叶反变换
f=ifourier(F)
对 F(w)进行傅里叶反变换,其结果为 f(x)
f=ifourier(F,U)
对F(w)进行傅里叶反变换,其结果为f(u)
f=ifourier(F,v,u)
对F(v)进行傅里叶反变换,其结果为 f(u)
注意:
(1)在调用函数 fourier()及 ifourier()之前,要用 syms 命令对所有需要用到得变量(如 t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对fourier()中得 f 及ifourier()中得 F 也要用符号定义符 sym 将其说明为符号表达式。
(2)采用 fourier()及 fourier()得到得返回函数,仍然为符号表达式。在对其作图时要用 ezplot()函数,而不能用plot()函数.(3)fourier()及fourier()函数得应用有很多局限性,如果在返回函数中含有 δ(ω)等函数,则 ezplot()函数也无法作出图来。另外,在用 fourier()函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达得式子,则此时当然也就无法作图了。这就是fourier()函数得一个局限。另一个局限就是在很多场合,尽管原时间信号 f(t)就是连续得,但却不能表示成符号表达式,此时只能应用下面介绍得数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求得频谱函数只就是一种近似值。
2、傅里叶变换得数值计算实现法 严格说来,如果不使用 symbolic 工具箱,就是不能分析连续时间信号得。采用数值计算方法实现连续时间信号得傅里叶变换,实质上只就是借助于MATLAB 得强大数值计算功能,特别就是其强大得矩阵运算能力而进行得一种近似计算。傅里叶变换得数值计算实现法得原理如下: 对于连续时间信号 f(t),其傅里叶变换为:
其中 τ 为取样间隔,如果 f(t)就是时限信号,或者当|t|大于某个给定值时,f(t)得值已经衰减得很厉害,可以近似地瞧成就是时限信号,则上式中得n取值就就是有限得,假定为 N,有:
若对频率变量 ω 进行取样,得:
通常取:,其中就是要取得频率范围,或信号得频带宽度。采用 MATLAB 实现上式时,其要点就是要生成 f(t)得N个样本值得向量,以及向量,两向量得内积(即两矩阵得乘积),结果即完成上式得傅里叶变换得数值计算。
注意:时间取样间隔 τ 得确定,其依据就是 τ 必须小于奈奎斯特(Nyquist)取样间隔。如果 f(t)不就是严格得带限信号,则可以根据实际计算得精度要求来确定一个适当得频率为信号得带宽。
三、实验内容 1、编程实现求下列信号得幅度频谱(1)
求出得频谱函数 F 1(jω),请将它与上面门宽为 2 得门函数得频谱进行比较,观察两者得特点,说明两者得关系。
(2)三角脉冲
(3)单边指数信号
(4)
高斯信号
(1)
syms t w
Gt=sym(“Heaviside(2*t+1)—Heaviside(2*t-1)’);
Fw=fourier(Gt,t,w);
FFw=maple(’convert’,Fw,’piecewise”);
FFP=abs(FFw);
ezplot(FFP,[—10*pi 10*pi]);grid;
axis([-10*pi 10*pi 0 2、2])
与得频谱比较,得频谱函数 F 1(jω)最大值就是其得1/2.(2)syms t w;Gt=sym(“(1+t)*(Heaviside(t+1)—Heaviside(t))+(1-t)*(Heaviside(t)—Heaviside(t—1))”);Fw=fourier(Gt,t,w);
FFw=maple(“convert',Fw,’piecewise”);
FFP=abs(FFw);
ezplot(FFP,[—10*pi 10*pi]);grid;
axis([—10*pi 10*pi 0 2、2])
(3)syms t w
Gt=sym(’exp(-t)*Heaviside(t)’);
Fw=fourier(Gt,t,w);
FFw=maple(“convert”,Fw,’piecewise’);
FFP=abs(FFw);
ezplot(FFP,[—10*pi 10*pi]);grid;
axis([—10*pi 10*pi —1 2])
(4)syms t w
Gt=sym(’exp(-t^2)“);
Fw=fourier(Gt,t,w);
FFw=maple('convert’,Fw,’piecewise’);
ezplot(FFw,[-30 30]);grid;
axis([—30 30 —1 2])
2、利用 ifourier()函数求下列频谱函数得傅氏反变换(1)
(2)
(1)syms t w
Fw=sym(’-i*2*w/(16+w^2)’);
ft=ifourier(Fw,w,t);
ft 运行结果: ft = —exp(4*t)*heaviside(—t)+exp(—4*t)*heaviside(t)(2)
syms t w
Fw=sym(”((i*w)^2+5*i*w-8)/((i*w)^2+6*i*w+5)’);
ft=ifourier(Fw,w,t);
ft 运行结果: ft = dirac(t)+(-3*exp(-t)+2*exp(-5*t))*heaviside(t)实验 心得 matlab 不但具有数值计算能力,还能建模仿真,能帮助我们理解不同时间信号得频域分析。
实验五 连续时间系统得频域分析 一、实验目得 1.学习由系统函数确定系统频率特性得方法.2.学习与掌握连续时间系统得频率特性及其幅度特性、相位特性得物理意义.3.通过本实验了解低通、高通、带通、全通滤波器得性能及特点。
二、实验原理及方法 频域分析法与时域分析法得不同之处主要在于信号分解得单元函数不同。在频域分析法中,信号分解成一系列不同幅度、不同频率得等幅正弦函数,通过求取对每一单元激励产生得响应,并将响应叠加,再转换到时域以得到系统得总响应。所以说,频域分析法就是一种变域分析法.它把时域中求解响应得问题通过 Fourier 级数或 Fourier 变换转换成频域中得问题;在频域中求解后再转换回时域从而得到最终结果.在实际应用中,多使用另一种变域分析法:复频域分析法,即 Laplace 变换分析法。
所谓频率特性,也称频率响应特性,就是指系统在正弦信号激励下稳态响应随频率变化得情况,包括幅度随频率得响应与相位随频率得响应两个方面.利用系统函数也可以确定系统频率特性,公式如下:
幅度响应用表示,相位响应用表示。
本实验所研究得系统函数 H(s)就是有理函数形式,也就就是说,分子、分母分别就是 m、n 阶多项式。
要计算频率特性,可以写出
为了计算出、得值,可以利用复数三角形式得一个重要特性:
而,则 利用这些公式可以化简高次幂,因此分子与分母得复数多项式就可以转化为分别对实部与虚部得实数运算,算出分子、分母得实部、虚部值后,最后就可以计算出幅度、相位得值了。
三、实验内容 a),m 取值区间 [0,1],绘制一组曲线 m=0、1,0、3,0、5,0、7,0、9;b)绘制下列系统得幅频响应对数曲线与相频响应曲线,分析其频率特性.(1)
(2)
(3)
a)% design2、m
figure
alpha=[0、1,0、3,0、5,0、7,0、9];
colorn=['r’ ’g’ ’b“ ’y” “k'];
%
r g b y m c k(红,绿,蓝,黄,品红,青,黑)
for n=1:5
b=[0 alpha(n)];
% 分子系数向量
a=[alpha(n)-alpha(n)^2 1];
% 分母系数向量
printsys(b,a,”s“)
[Hz,w]=freqs(b,a);
w=w、/pi;
magh=abs(Hz);
zerosIndx=find(magh==0);
magh(zerosIndx)=1;
magh=20*log10(magh);
magh(zerosIndx)=-inf;
angh=angle(Hz);
angh=unwrap(angh)*180/pi;
subplot(1,2,1)
plot(w,magh,colorn(n));
hold on
subplot(1,2,2)
plot(w,angh,colorn(n));
hold on
end
subplot(1,2,1)
hold off
xlabel(”特征角频率(timespi rad/sample)“)
title('幅频特性曲线 |H(w)|(dB)”);
subplot(1,2,2)
hold off
xlabel(’特征角频率(timespi rad/sample)’)
title(“相频特性曲线 theta(w)(degrees)’);
b)(1)% design1、m b=[1,0];
% 分子系数向量 a=[1,1];
% 分母系数向量 printsys(b,a,”s’)[Hz,w]=freqs(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0); magh(zerosIndx)=1; magh=20*log10(magh);
% 以分贝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(’特征角频率(timespi rad/sample)')title(’幅频特性曲线 |H(w)|(dB)’); subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角频率(times\pi rad/sample)’)title(’相频特性曲线 \theta(w)
(degrees)’);
(2)
% design1、m b=[0,1,0];
% 分子系数向量 a=[1,3,2];
% 分母系数向量 printsys(b,a,’s’)[Hz,w]=freqs(b,a);w=w、/pi; magh=abs(Hz);zerosIndx=find(magh==0); magh(zerosIndx)=1; magh=20*log10(magh);
% 以分贝 magh(zerosIndx)=-inf; angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(“特征角频率(\times\pi rad/sample)')
title(’幅频特性曲线 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh); grid on xlabel(”特征角频率(\times\pi rad/sample)“)title(”相频特性曲线 theta(w)(degrees)’);
(3)
% design1、m b=[1,-1];
% 分子系数向量 a=[1,1];
% 分母系数向量 printsys(b,a,“s”)[Hz,w]=freqs(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分贝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度换算 figure subplot(1,2,1)
plot(w,magh); grid on xlabel(’特征角频率(timespi rad/sample)“)
title(”幅频特性曲线 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角频率(times\pi rad/sample)')title(’相频特性曲线 theta(w)
(degrees)“);
实验心得: :虽然之前用公式转换到频域上分析,但就是有时会觉得挺抽象得,不太好理解。根据这些图像结合起来更进一步对信号得了解。同时,这个在编程序时,虽然遇到一些问题,但就是总算解决了。
实验六
离散时间系统得 Z 域分析 一、实验目得 1.学习与掌握离散系统得频率特性及其幅度特性、相位特性得物理意义。
2.深入理解离散系统频率特性与对称性与周期性。
3.认识离散系统频率特性与系统参数之间得系统 4.通过阅读、修改并调试本实验所给源程序,加强计算机编程能力。
二、
实验原理及方法 对于离散时间系统,系统单位冲激响应序列得 Fourier 变换完全反映了系统自身得频率特性,称为离散系统得频率特性,可由系统函数求出,关系式如下:
(6 – 1)由于就是频率得周期函数,所以系统得频率特性也就是频率得周期函数,且周期为,因此研究系统频率特性只要在范围内就可以了. n n nj jn n h j n n h e n h e H)sin()()cos()()()(
(6 – 2)容易证明,其实部就是得偶函数,虚部就是得奇函数,其模得得偶函数,相位就是得奇函数。因此研究系统幅度特性、相位特性,只要在范围内讨论即可。
综上所述,系统频率特性具有周期性与对称性,深入理解这一点就是十分重要得。
当离散系统得系统结构一定,它得频率特性将随参数选择得不同而不同,这表明了系统结构、参数、特性三者之间得关系,即同一结构,参数不同其特性也不同。
例如,下图所示离散系统,其数学模型由线性常系数差分方程描述:
系统函数: 系统函数频率特性:
幅频特性: 相频特性:
容易分析出,当时系统呈低通特性,当时系统呈高通特性;当时系统呈全通特性.同时说明,在系统结构如图所示一定时,其频率特性随参数 a 得变化而变化.三、实验内容 a)。
b)c)a)% design1、m b=[1,0,-1];
% 分子系数向量 a=[1,0,—0、81];
% 分母系数向量 printsys(b,a,”z“)[Hz,w]=freqz(b,a);w=w、/pi;magh=abs(Hz);zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分贝 magh(zerosIndx)=-inf; angh=angle(Hz); angh=unwrap(angh)*180/pi;
% 角度换算 figure subplot(1,2,1)
plot(w,magh);grid on xlabel(’特征角频率(timespi rad/sample)')title(’幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on xlabel(“特征角频率(times\pi rad/sample)”)title('相频特性曲线 theta(w)(degrees)“);
带通
b)% design1、m b=[0、1,—0、3,0、3,-0、1];
% 分子系数向量 a=[1,0、6,0、4,0、1];
% 分母系数向量 printsys(b,a,’z”)[Hz,w]=freqz(b,a);w=w、/pi; magh=abs(Hz); zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分贝 magh(zerosIndx)=-inf;angh=angle(Hz);angh=unwrap(angh)*180/pi;
% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(’特征角频率(timespi rad/sample)’)
title(“幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on
xlabel(“特征角频率(\timespi rad/sample)’)title(”相频特性曲线 theta(w)
(degrees)’);
高通
c)% design1、m b=[1,—1,0];
% 分子系数向量 a=[1,0,0、81];
% 分母系数向量 printsys(b,a,“z’)[Hz,w]=freqz(b,a);w=w、/pi; magh=abs(Hz); zerosIndx=find(magh==0);magh(zerosIndx)=1;magh=20*log10(magh);
% 以分贝 magh(zerosIndx)=—inf;angh=angle(Hz); angh=unwrap(angh)*180/pi;
% 角度换算 figure subplot(1,2,1)plot(w,magh);grid on xlabel(”特征角频率(\times\pi rad/sample)')title(“幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)
plot(w,angh);
grid on xlabel(’特征角频率(\timespi rad/sample)")title(’相频特性曲线 theta(w)
(degrees)’);
带通
实验心得: :本来理论知识不就是很强得,虽然已经编出程序得到相关图形,但就是不会辨别相关通带,这让我深刻地反省。
第五篇:信号与系统实验报告
中南大学
信号与系统试验报告
姓名:
学号:
专业班级:自动化
实验一
基本信号得生成1.实验目得
学会使用 MATLAB 产生各种常见得连续时间信号与离散时间信号; 通过MATLAB 中得绘图工具对产生得信号进行观察,加深对常用信号得理解; 熟悉 MATLAB 得基本操作,以及一些基本函数得使用,为以后得实验奠定基础。2。
实验内容
⑴ 运行以上九个例子程序,掌握一些常用基本信号得特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形得变化.⑵ 在范围内产生并画出以下信号: a)
;b); c); d).源程序: k= — 10 0 :1 1 0;;
f1k=[ze r os(1,10), , 1 ,zer os(1 1,1 1 0)];;
subplot(2 2,2,1)
stem(k, , f 1k)
title(' f1[k ] ’)
f2k=[zer os s(1 ,8), 1,z z er r os s(1 1,12)];;
su b plot(2,2,2)
s te m(k k,f2k)
titl e(“f2 [k] ’)
f3k = [zeros(1 ,14), , 1,zer os s(1 1,6 6)];;
su bplot t(2 2,2 2,3)
st e m(k,f 3 k)
ti t le(”f3[k]“)
f 4k= 2*f2k k--f3 k;
su bpl ot(2,2 2,4)
s s t em(k,f4k)
t t i tle('f 4[k]”)
⑶ 在 范围内产生并画出以下信号: a);b);c)。
请问这三个信号得基波周期分别就是多少? 源程序: k= = 0:
;
f1 1 k= = sin(pi /4* k))、* cos(pi /4*k);;
subp lo t(3,1, 1))
st em(k,f1 1 k))
t itle(' f1[k ]“ ”)
f2 k=(cos(pi/4*k))、^ ^ 2;;
subp l ot(3, 1 ,2)
st t em m(k,f2 k))
ti i tl e('f2 [k ]“ ”)
f3 k =s in n(pi /4*k)、*cos s(p i/8 *k k);;
sub p lot(3,1 1,3)
st em m(k ,f3k)
tit le e(’f3 [k k ] ’)
其中f1[k]得基波周期就是4, f2[k]得基波周期就是4, f3[k]得基波周期就是 16. 实验 二
信号得基本运算1。
实验目得
学会使用MATLAB完成信号得一些基本运算; 了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差分、求与、微分及积分等运算来表达得方法; 进一步熟悉 MATLAB 得基本操作与编程,掌握其在信号分析中得运用特点与使用方式. 2。
实验内容
⑴ 运行以上三个例题程序,掌握信号基本运算得MATLAB实现方法;改变有关参数,考察相应信号运算结果得变化特点与规律。
⑵ 已知信号如下图所示:
a)用 MATLAB 编程复现上图;%作业题2
a: t=-6:0、001 :6;ft1=t rip uls(t, 6,0、5);sub plot(2,1,1)
plot(t,ft1)t tit le(’f(t)’)
b)画出得波形;%b t= -6:0、00 1:6;f ft 1= tripuls(2 *(1 —t),6,0、5); %s ubp lot(1,1,1)
pl ot(t,ft 1)t it le(’f(2*(1-t)“)-4-3-2-1 0 1 2 3 400.20.40.60.811.21.41.61.82tf(t)给 定 信 号 f(t)
c)画出得波形;
%c h=0、00 1;t= —6: h:6;yt= tri pu ls(t,6,0、5); y 1= diff(yt)*1/h;plot(t(1:lengt h(t)—1),y1)
tit le(’df(t)/ dt ’)
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分析方法;改变模型参数,考察系统响应得变化特点与规律。
⑵ 设离散系统可由下列差分方程表示:
计算时得系统冲激响应。
源程序:
k= — 20:100 ;
a= [1 1
--1 0、9] ;
b=[1];
h= i mpz(b b,a a,k k);;
stem(k, h);;
xla b el(’Ti me(sec)’)
y y lab el(’y(t)”)
⑶ 设,输入,求系统输出。
(取)
源程序: k=--1 1 0 :50 ;
u u k= = [z z e ro s(1,1 0), o nes(1, 51))];;
u 1k=[ z er o s(1,20),o o n es(1, , 41)];;
h k=0、9 9、^k、*uk;
fk=u k--u1k;
yk=co o nv v(hk,f k));
stem(0:length(yk)--1,yk);;
⑷ 已知滤波器得传递函数:
输入信号为为随机信号。试绘出滤波器得输出信号波形.(取)源程序: R=101 ;
d=rand(1 ,R)
—0 0、5;;
t=0:100 ;
s=2 * si n(0、05*pi*t);
f=s +d d ;
su bp lo t(2,1,1);
plot(t,d ,’ g--、',t t,s,’b--— “,t,f,”r--');
xl l ab b el l(“ ” Ti i m e in d ex t’);;
legend(“d [t t ] ”,“ s[ [ t]” “,”f[t ] ’);
tit t le e(“ ” 处理前得波形'))
b=[0、22 0 ];a=[ 1
-0 0、8];
y=fi lt er(b,a,f));
su bp p l ot(2 2,1,2);
pl ot t(t ,s,“b —--” “,t t,y,’r--’);
xl ab b e l(’ Ti i m e i nd ex t”);
leg e nd(“s [t t ] ’,’ y [t ]');;
title(” “ 滤波器输出波形’))
实验 四
周期信号得频域分析
1..实验目得
掌握周期信号傅立叶级数分解与合成得计算公式 掌握利用 MATLAB实现周期信号傅立叶级数分解与综合方法 理解并掌握周期信号频谱特点
2、实验内容 1、仿照例程,实现下述周期信号得傅立叶级数分解与合成:
要求:
(a)首先,推导出求解,,得公式,计算出前 10 次系数;
(b)利用MATLAB 求解,,得值,其中,求解前 10 次系数,并给出利用这些系数合成得信号波形。
(a)设周期信号得周期为,角频率,且满足狄里赫利条件,则该周期信号可以展开成傅立叶级数。
(1)三角形式傅立叶级数
dt t n t fTbdt t n t fTadt t fTat n b t n a at b t a t b t a t b t a a t fTT nTT nTTnnnnn n n n ***1 02 2 2 2 1 1 1 1 0111111sin)(2cos)(2)(1)sin()cos(...sin cos...sin cos sin cos)(
(2)指数形式傅立叶级数
(b)求解,及合成信号波形所用程序: function [A_sym,B_sym]=CTFShchsym % 采用符号计算求一个周期内连续时间函数 f 得三角级数展开系数,再用这些 %
展开系数合成连续时间函数f、傅立叶级数 % 量值数是就都出输入输得数函ﻩ%
数阶得波谐 6=fNﻩ% Nn
数位确准得据数出输ﻩ% 数系开展项 soc 波谐次、、、3,2,1是就次依素元后其,项流直是就素元 1 第ﻩmys_Aﻩ% B_sym 第 2,3,4,、、、元素依次就是 1,2,3、、、次谐波 sin项展开系数 %
tao=1
tao/T=0、2 syms t n k x
T=4;tao=T/4;a=-1、5;if nargin<4
Nf=10; end if nargin<5
Nn=32;end
1-3-4 5 4 1 O
x=time_fun_x(t);A0=int(x,t,a,T+a)/T;
%求出三角函数展开系数A0 As=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a);
%求出三角函数展开系数 As Bs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a);
%求出三角函数展开系数 Bs A_sym(1)=double(vpa(A0,Nn));
%获取串数组 A0 所对应得 ASC2码数值数组 for k=1:Nf A_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==0
c=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;
f 0= c(1);
%直流
f 1 = c(2)、* co s(2* p i* 1 * t /T)+ d(2)、* s i n(2 * pi* 1 * t /T);
% 基波
f 2= c(3)、* c o s(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 次谐波
f 7=c(8)、*cos(2*p i * 7 *t/T)
+d(8)、* sin(2 * p i * 7 *t/T);
% 7 次谐波
f8=c(9)、*cos(2*pi*8*t/T)+d(9)、*sin(2*pi*8*t/T);
% 8次谐波
f9 = c(1 0)、* c o s(2 * p i*9 * t /T)+d(10)、* s in(2 * p i * 9 *t/T);
% 9 次谐波
f 1 0=c(11)、*co s(2 * pi*10*t/T)
+d(1 1)、*s i n(2*pi * 1 0 *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 on
y=time_fun_e(t);
%调用连续时间函数-周期矩形脉冲
plot(t,y,”r:“)
title(”直流+基波’)
axis([-8,8,-0、5,1、5])
subplot(2,2,2)
plot(t,f12),hold on
y=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 on
y=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 on
y=time_fun_e(t);
plot(t,y,”r:’)
title(’1—10 次谐波+直流“)
axis([-8,8,-0、5,1、5])
hold off end function 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得子函数。它由符号变量与表达式写成.h=1;
x1=sym(”Heaviside(t)“)*h;x=x1-sym(’Heaviside(t-1)’)*h;
2、已知周期为T=4 得三角波,在第一周期(-2 function [A_sym,B_sym]=CTFSshbpsym(T,Nf)% 采用符号计算求[0,T]内时间函数得三角级数展开系数。 % ﻩ 函数得输入输出都就是数值量 % Nn 输出数据得准确位数 % mys_Aﻩ 第1元素就是直流项,其后元素依次就是1,2,3、、、次谐波 cos项展开系数 % B_sym 数系开展项 nis 波谐次、、、3,2,1 是就次依素元、、、,4,3,2 第ﻩ% T T=m*tao, 信号周期 % ﻩ fNﻩ 谐波得阶数 % m(m=T/tao)周期与脉冲宽度之比,如 m=4,8,16,100等 % tao 脉宽:tao=T/m syms t n y if nargin<3 Nf=input(’please Input 所需展开得最高谐波次数:Nf=’);end T=input(’please Input 信号得周期 T=”);if nargin〈5 Nn=32;end y=time_fun_s(t); A0=2/T*int(y,t,0,T/2);As=2/T*int(y*cos(2*pi*n*t/T),t,0,T/2); Bs=2/T*int(y*sin(2*pi*n*t/T),t,0,T/2);A_sym(1)=double(vpa(A0,Nn));for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn)); B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); end if nargout==0 An=fliplr(A_sym); %对 A_sym 阵左右对称交换 An(1,k+1)=A_sym(1); %A_sym 得 1*k 阵扩展为 1*(k+1)阵 An=fliplr(An); %对扩展后得 S1阵左右对称交换回原位置 Bn=fliplr(B_sym); %对 B_sym 阵左右对称交换 Bn(1,k+1)=0; %B_sym得 1*k 阵扩展为1*(k+1)阵 Bn=fliplr(Bn); %对扩展后得 S3阵左右对称交换回原位置 FnR=An/2—i*Bn/2; % 用三角函数展开系数 A、B值合成付里叶指数系数 FnL=fliplr(FnR); N=Nf*2*pi/T; k2=—N:2*pi/T:N; Fn=[FnL,FnR(2:end)]; %subplot(3,3,3) %x=time_fun_e(t); % 调用连续时间函数-周期矩形脉冲 subplot(2,1,1) stem(k2,abs(Fn)); %画出周期矩形脉冲得频谱(T=M*tao) title('连续时间函数周期三角波脉冲得双边幅度谱’) axis([-80,80,0,0、12]) line([-80,80],[0,0],'color“,’r”) line([0,0],[0,0、12],’color’,'r“) end function x=time_fun_e(t)% 该函数就是CTFSshbpsym、m得子函数。它由符号变量与表达式写成。 % t 组数间时是就ﻩ% T 2、0=T/oat=ytud 期周是就ﻩﻩT=5;t=—2*T:0、01:2*T; tao=T/5;x=rectpuls(t,tao); %产生一个宽度 tao=1 得矩形脉冲 subplot(2,2,2) plot(t,x) hold on x=rectpuls(t—5,tao); %产生一个宽度tao=1 得矩形脉,中心位置在t=5处 plot(t,x) hold on x=rectpuls(t+5,tao); %产生一个宽度tao=1得矩形脉,中心位置在 t=—5处 plot(t,x) title(”周期为 T=5,脉宽 tao=1得矩形脉冲')axis([-10,10,0,1、2])function y=time_fun_s(t) syms t y=1—abs(t);x1=sym('Heaviside(t+2)’);x=x1—sym("Heaviside(t-2)’);y=y*x;ezplot(t,y,[—10,10])grid