第一篇:信号与系统课程设计教案
信号与系统课程设计教案
一、matlab工作空间介绍。
二、信号处理部分:
1)信号的产生,matlab工具箱,自己编程函数仿真,导入实际数据。2)信号的卷积,奇偶分解,各种性质的验证。3)信号分解的基本原理。
4)信号分解的算法实现,自己编程验证。5)结合实验给出实验分析和结论。
三、离散信号处理部分:
1)信号分解算法的离散化。2)信号分解的基本原理。
3)信号分解的算法实现,自己编程验证。4)结合实验给出实验分析和结论。
四、信号滤波处理部分:
1)将信号进行傅里叶分解。2)在频率域进行理想滤波。3)将信号变换到时间域。
4)结合实验结果给出实验分析和结论。
五、连续系统分析部分:
1)电路系统建模或者已有微分系统方程。2)根据输入求解系统的响应。3)求解系统的单位冲激响应。
4)编程实现,验证系统的因果性,稳定性。
六、离散系统分析部分:
1)电路系统建模或者已有差分系统方程。2)根据输入求解系统的响应。3)求解系统的单位脉冲响应。
4)编程实现,验证系统的因果性,稳定性。实验报告组成:
1、实验基本原理
2、理论分析求解
3、实验编程验证
4、实验结果分析。
一、基本函数:
1、函数变量的定义。
syms是定义符号变量sym是将字符或者数字转换为字符
比如syms x y %就是定了符号变量x y以后x y就可以直接使用 sys('a+b')%就是将a+b转化为符号表达式。
2、单位阶跃信号。Heaviside()。
syms t;f=heaviside(t-4);或者f=@(t)heaviside(t-4);ezplot(f,[0 5])
3、单位冲激信号 f=@(x)dirac(x-2);
二、示例演示分析 示例1:
1设f(t)e2tu(t),画出该信号的及其幅频图。
21、概述:掌握信号傅立叶变换的计算方法。
2、设计任务,即要设计的主要内容和要求等
掌握信号傅立叶变换的计算方法以及程序求解方法。
3、设计原理
4、设计方案
5、测试过程及结果
6、结论或小结
第一步,计算信号的傅里叶变换 第二步,理论分析 第三步,实验验证 syms t v w x;x=1/2*exp(-2*t)*sym('heaviside(t)');F=fourier(x);subplot(211);ezplot(x);subplot(212);ezplot(abs(F));第四步,实验分析
示例2:周期信号的傅里叶级数
将振幅为1Hz的正弦波和振幅为0.5的5Hz的正弦波相加进行分析,研究能否从中分析出含有这两种频率的信号。
1、信号源仿真
f(t)sin(2t)sin(25t)。
2、理论分析 运用什么工具来做,实信号的傅里叶级数展开式
2Takf(t)cos(kw0t)dt
T02Tbkf(t)sin(kw0t)dt
T02Nakf(n)cos(nw0k) Nn02Nbkf(n)sin(nw0k)
Nn02akN2bkNf(n)cos(2nk/N)
n0NNf(n)sin(2nk/N)
n0ckak2bk2
3、实验验证
clear all N=256;dt=0.02;n=0:N-1;t=n*dt;x=sin(2*pi*t)+0.5*sin(2*pi*5*t);%Ðźżӵõ½µÄºÏ³ÉÐź m=floor(N/2)+1;a=zeros(1,m);b=zeros(1,m for k=0:m-1 for ii=0:N-1 a(k+1)=a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N);b(k+1)=b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N);end
c(k+1)=sqrt(a(k+1).^2+b(k+1).^2);end
subplot(2,1,1),plot(t,x);title('原始信号'),xlabel('时间/s')subplot(2,1,2),plot((0:m-1)/(N*dt),c)title('Fourier变换'),xlabel('频率/Hz'),ylabel(幅度')
4、实验分析
示例3:傅里叶变换的数值计算 离散理论分析:
F(w)f(t)ejwtndtlimnf(n)ejwn,因为信号为衰减信号,可以得到下面近似:
nN1F(k)F(kw1)n0f(n)ejkw1n,w12。N1,t1已知门信号g(t),求其傅里叶变换,并画出图形。
0,t1
1、计算信号的傅里叶变换:
傅里叶变换可求得该信号的频谱为F(w)2sa(w);
2、理论分析:该信号的频谱为F(w)2sa(w),第一个过零点频率为,一般将此频率认为信号的有效带宽,故采样频率应该大于有效带宽的两倍,但是因为F(w)在有效带宽外有频谱泄露,故应适当提高采样频率,我们设定为w050,所以抽样间隔应该为110.02。
w2f0202
3、实验验证:
R=0.02;t=-2:R:2;f=heaviside(t+1)-heaviside(t-1);W1=2*pi/R;N=size(t,2);k=0:N-1;W=k*W1/N;F=f*exp(-j*t'*W)*R;F=real(F);W=[-fliplr(W(1:101)),W(2:101)];F=[fliplr(F(1:101)),F(2:101)];subplot(2,1,1);plot(t,f);xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');subplot(2,1,2);plot(W,F);xlabel('w');ylabel('F(w)');title('f(t)µÄ¸¶Êϱ任F(w)');
4、实验分析
第二篇:信号与系统
问题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 【设计原理】
通过MATLAB的函数wavread()可以读入一个.wav格式的音频文件,并将该文件保存到指定的数组中。例如下面的语句(更详细的命令介绍可以自己查阅MATLAB的帮助)中,将.wav读入后存放到矩阵y中。y = wavread('SpecialEnglish.wav');
对于单声道的音频文件,y只有一行,即一个向量;对于双声道的音频文件,y有两行,分别对应了两个声道的向量。我们这里仅对一个声道的音频进行分析和处理即可。注意:.wav文件的采样频率为44.1KHz,采样后的量化精度是16位,不过我们不用关心其量化精度,因为在MATLAB读入后,已将其转换成double型的浮点数表示。
在获得了对应音频文件的数组后,我们可以对其进行一些基本的分析和处理。可以包括:
1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可以对语音信号采用8KHz的采样速率。
2、分析男声和女声的差别。我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。
3、语音与乐器音频的差别。比较语音信号与乐器音频信号的差别,尤其是在频域上的差别。
4、.wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。降采样的方法很简单,例如命令y = wavread('SpecialEnglish.wav');将语音文件读入后保存在向量y中,这时对应的采样频率为44.1KHz。使用y1 = y(1:2:length(y))命令,就可以将原序列y每隔1个采样后放入序列y1中,这时y1序列对应的采样频率即为22KHz。
5、自己下载获得一段中文语音信号(可以使用诸如“千千静听”等工具将.mp3文件转换成.wav文件),对中文语音与英文语音进行比较。以下对提供的语音信号进行说明:
SpecialEnglish.mp3:原始的语音信号,.mp3格式 Q2.wav:男声信号
Q3.wav、Q5.wav:女声信号
Q4.wav、Q6.wav:带有乐器伴奏的男声歌声信号 Q7.wav:音乐信号
【MATLAB参考命令】
绘图命令:plot、stem等 求频谱、频率响应:fft、freqz等 卷积、滤波:conv、deconv、filter等
声音文件读写:wavread、wavwrite、wavplay等
具体使用方法可以查阅MATLAB的帮助或者MATLAB参考书的基本使用。
第四篇:信号与系统综合实验教案
实验6 离散时间信号与系统的Z变换分析 部分分式展开的MATLAB实现
信号的Z域表示式通常可用下面的有理分式表示
为了能从信号的Z域象函数方便地得到其时域原函数,可以将F(z)展开成部分分式之和的形式,再对其取Z逆变换。
MATLAB的信号处理工具箱提供了一个对F(z)进行部分分式展开的函数[WTBZ]residuez它的调用形式: [r,p,k]=residuez(num,den)其中,num、den分别表示F(z)的分子和分母多项式的系数向量;r为部分分式的系数;p为极点;k为多项式的系数。若F(z)为真分式,则k为零。借助residuze函数可以将F(z)展开成:
numzr1rn denz1p1z11pnz1 k1k2z1kmn1zmn
例1 试用MATLAB计算
Fz
183z14z2z3的部分分式展开。
解 计算部分分式展开的[WTBZ]MATLAB程序如下:
%program10.6-1
num=[18];
den=[183-4-1];
[r,p,k]=residuez(num,den) 程序运行结果为
r=0.36000.24000.4000
p=0.5000-0.3333-0.3333
k=[]
从运行结果中可以看出p(2)=p(3),表示系统有一个二阶的重极点,r(2)表示一阶极点前的系数,而r(3)就表示二阶极点前的系数。对高阶重极点,其表示方法是完全类似的,所以该F(z)的部分分式展开为:
0.360.240.4Fz 10.5z110.3333z110.3333z12 b0b1z1b2z2bmzmnumzFz12ndenz1a1za2zanz2 利用MATLAB计算H(z)的零极点与系统特性
如果系统函数H(z)的有理函数表示形式为
那么系统函数的零点和极点可以通过MATLAB函数roots得到,也可用函数tf2zp得到,tf2zp的调用形式为:
[z,p,k]=tf2zp(b,a)
b1zmb2zm1bm1Hza1zna2zn1an1
式中,b和a分别为H(z)的分子多项式和分母多项式的系数向量,它的作用是将H(z)的有理函数表示式转换为零点、极点和增益常数的表示式,即
zz1zz2zzm Hzk zp1zp2zpn
例2 已知一离散因果LTI系统的系统函数为
z12z2z3Hz 10.5z10.005z20.3z3求该系统的零极点。
解 将系统函数改写为
z22z1Hz3 z0.5z20.005z0.3
用tf2zp函数求系统的零极点,程序如下:
%program10.6-2
b=[121];
a=[1-0.5-0.0050.3];
[r,p,k]=tf2zp(b,a) 运行结果为
r=-
1-1
p=0.5198+0.5346i
0.5198-0.5346i
-0.5396
k=1
若要获得系统函数H(z)的零极点分布图,可以直接应用zplane函数,其调用形式为: zplane(b,a)式中,b和a分别为H(z)的分子多项式和分母多项式的系数向量。它的作用是在Z平面画出单位圆、零点和极点。
如果已知系统函数H(z),求系统的单位脉冲响应h[k]和频率响应H(ejΩ),则可应用impz函数和freqz函数。
例3 已知一离散因果LTI系统的系统函数为
2z2z1 Hz321z0.5z0.005z0.3
试画出系统的零极点分布图,求系统的单位脉冲响应h[k]和频率响应H(ejΩ),并判断系统是否稳定。
解 根据已知的H(z),用zplane函数即可画出系统的零极点分布图。利用impz函数和freqz函数求系统的单位脉冲响应和频率响应时,需要将H(z)改写成:
z12z2z3Hz 10.5z10.005z20.3z3程序如下:
%program10.6-3
b=[121];
a=[1-0.5-0.0050.3];
figure(1);zplane(b,a);
num=[0121];
den=[1-0.5-0.0050.3];
h=impz(num,den);figure(2);stem(h,′.′)xlabel(′k′)title(′ImpulseRespone′)[H,w]=freqz(num,den);figure(3);plot(w/pi,abs(H))xlabel(′Frequency\omega′)title(′MagnitudeRespone′)利用MATLAB计算Z变换
MATLAB的符号数学工具箱提供了计算Z变换的函数ztrans和Z逆变换的函数iztrans,其调用形式为:
F=ztrans(f)
f=iztrans(F)
式中,f为信号的时域表达式的符号对象,F表示信号f的象函数表达式的符号对象。符号对象可以应用函数sym实现,其调用格式为:
S=sym(A)
式中,A为待分析表示式的字符串;S为符号数字或变量。例4 试分别用ztrans函数和iztrans函数求:
(1)f[k]=cos(ak)ε(k)的Z变换;Fz(2)1z2的Z逆变换。
解(1)求f[k]的Z变换的程序如下:
%program10.6-4(1)
f=sym(′cos(a*k)′);
F=ztrans(f)运行结果为
F=(z-cos(a))*z/(z^2-2*z*cos(a)+1)即
zzcosa cosakk2 z2zcosa1(2)求F(z)逆变换的程序为
%program10.6-4(2)
F=sym(′1/(1+z)^2′);
f=iztrans(F)程序运行结果为
f=Delta(n)+(-1)^n*n-(-1)^n 即
1kk 1k1kk1k2 1z
第五篇:信号与系统实验报告,
实验三
常见信号得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)’);
带通
实验心得: :本来理论知识不就是很强得,虽然已经编出程序得到相关图形,但就是不会辨别相关通带,这让我深刻地反省。