通信系统计算机仿真-通信信号与系统分析课件_第1页
通信系统计算机仿真-通信信号与系统分析课件_第2页
通信系统计算机仿真-通信信号与系统分析课件_第3页
通信系统计算机仿真-通信信号与系统分析课件_第4页
通信系统计算机仿真-通信信号与系统分析课件_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章通信信号与系统分析

第3章通信信号与系统分析

本章内容3.1信号和系统的时域分析3.2信号和系统的频域分析3.3带通信号的低通等效3.4随机信号分析本章内容3.1信号和系统的时域分析3.1.1信号的时域分析连续信号的处理:MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。(取样时间间隔足够小)无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。通常的情况下,需要与时间变量相对应。在MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数;而对n为自变量的离散序列,在绘图时统一用stem函数。4.1.1、常用信号的MATLAB表示3.1.1信号的时域分析连续信号的处理:MATLAB并不能一、几种常用信号的表示1.单位冲击函数、序列一、几种常用信号的表示1.单位冲击函数、序列单位冲激函数、单位冲激序列的实现案例t=-5:0.01:5;

y=(t==0);

subplot(1,2,1);

plot(t,y,'r');

n=-5:5;

x=(n==0);

subplot(1,2,2);

stem(n,x);单位冲激函数、单位冲激序列的实现案例t=-5:0.01:2.单位阶跃函数、序列

(一)几种常用信号的表示2.单位阶跃函数、序列(一)几种常用信号的表示单位阶跃函数、单位阶跃序列的实现案例t=-5:0.01:5;y=(t>=0);subplot(1,2,1);plot(t,y,'r')

n=-5:5;

x=(n>=0);

subplot(1,2,2);

stem(n,x);单位阶跃函数、单位阶跃序列的实现案例t=-5:0.01:53.实指数序列直接实现:n=[ns:nf];x=a.^n;4.复指数序列直接实现:n=[ns:nf];x=exp((sigema+jw)*n);5.正(余)弦序列直接实现:n=[ns:nf];x=cos(w*n+sita);3.实指数序列直接实现:n=[ns:nf];x=a.^n;生成上述三种信号的实现案例t=-5:0.01:5;subplot(2,2,1);a=2y1=2.^tplot(t,y1,'r')subplot(2,2,2);a=2;theat=pi/3;y2=sin(2*pi*t+theat)plot(t,y2)subplot(2,1,2);w=4;y3=exp((a+j*w)*t);plot(t,y3,‘y')生成上述三种信号的实现案例t=-5:0.01:5;工具箱中的信号产生函数函数名功能函数名功能sawtooth产生锯齿波或三角波信号pulstran产生冲激串square产生方波信号rectpule产生非周期的方波信号sinc产生sinc函数波形tripuls产生非周期的三角波信号chirp产生调频余弦信号diric产生Dirichlet或周期sinc函数gauspuls产生高斯正弦脉冲信号gmonopuls产生高斯单脉冲信号vco电压控制振荡器工具箱中的信号产生函数函数名功能函数名功能sawtooth产1、sawtooth函数产生锯齿波或三角波例:产生f=50Hz的锯齿波、三角波Fs=10000;%采样频率t=0:1/Fs:0.1;%采样间隔1/Fsf=50;%50Hzx1=sawtooth(2*pi*50*t,0);x2=sawtooth(2*pi*50*t,1);x3=sawtooth(2*pi*50*t,0.5);subplot(311);plot(t,x1);subplot(312);plot(t,x2);subplot(313);plot(t,x3);1、sawtooth函数2、square函数产生矩形波例:产生50Hz占空比分别为20%和50%的矩形波。Fs=10000;%采样频率t=0:1/Fs:0.1;%采样间隔1/Fsf=50;%50Hzx1=square(2*pi*50*t,20);x2=square(2*pi*50*t,50);subplot(211);plot(t,x1);subplot(212);plot(t,x2);2、square函数3、sinc函数产生sinc波形或sin(πt)/(πt)波形例:t=linspace(-10,+10,200);x=sinc(t);plot(t,x);3、sinc函数2信号运算1信号的相加与相乘

y(n)=x1(n)+x2(n)MATLAB实现:y=x1+x2y(n)=x1(n)×x2(n)MATLAB实现:y=x1+x2;y=x1.*x2例4-10已知两序列[0.5,1.5,1,-0.5]与[2,2,2,2,2,2],试求该两序列的和与积example4_10.m2信号运算1信号的相加与相乘例4-10已知两序列function[f,k]=sigadd(f1,k1,f2,k2)%实现序列f1,f2的相加,相减,相乘,可据实际需要作选择%f1,k1;f2,k2是参加运算的序列向量及其时间向量%f,k作为返回的和(差,积)序列及其时间向量%将f1,f2转换成等长序列s1,s2k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;%初始化序列s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;f=s1+s2;%序列相加%f=s1-s2;%序列相减%f=s1.*s2;%序列相乘%stem(k,f,'fill');%axis([(min(min(k1),min(k2))-1),(max(max(k1),max(k2))+1),(min(f)-0.5),(max(f)+0.5)])function[f,k]=sigadd(f1,k1,f22序列移位与周期延拓运算序列移位:y(n)=x(n-m)。MATLAB实现:y=x;ny=nx+m序列圆周移位:y(n)=x((n))M,MATLAB实现:ny=nxs:nxf;y=x(mod(ny,M)+1)3序列翻褶序列翻褶:y(n)=x(-n)。MATLAB可实现:y=fliplr(x)2序列移位与周期延拓运算序列移位:y(n)=x(n-m)。3例:实现f(t+2),f(-t)f1=f;t1=t-2;subplot(2,2,2);plot(t1,f1)axis([-5502]);f2=fliplr(f);subplot(2,2,3);plot(t,f2)例:实现f(t+2),f(-t)f1=f;.4两序列的卷积运算两序列卷积运算:

MATLAB实现:y=conv(x1,x2)。序列x1(n)和x2(n)必须长度有限。设x1的非零区间为n1~n2,长度为L1=n2-n1+1;x2的非零区间为m1~m2,长度为L2=m2-m1+1;则Y的长度为L=L1+L2-1;Y对应的横轴序号

为n1+m1~n1+m1+L-1.4两序列的卷积运算两序列卷积运算:MATLAB实连续卷积和离散卷积的关系:所以,可以用离散卷积和CONV()求连续卷积,只需足够小以及在卷积和的基础上乘以。连续卷积和离散卷积的关系:所以,可以用离散卷积和CONV()两序列的相关运算两序列相关运算:

MATLAB实现:y=xcorr(x1,x2)。序列累加的数学描述为:

MATLAB实现:y=cumsum(x)序列累加运算两序列的相关运算两序列相关运算:MATLAB实现:y=xc信号的能量和功率1.信号能量数字定义:MATLAB实现:E=sum(x.*conj(x));或E=sum(abs(x).^2);数字定义:2.信号功率MATLAB实现:P=sum(x.*conj(x))/N;或E=sum(abs(x).^2)/N;信号的能量和功率1.信号能量数字定义:MATLAB实现:E3.1.2线性系统时域分析

线性时(移)不变系统特性线性时(移)不变系统表示方法线性时(移)不变系统的时域响应3.1.2线性系统时域分析

线性时(移)不变系统特性线性时(移)不变系统特性

假设系统在输入信号x1(t)作用时的响应信号为y1(t),在输入信号x2(t)作用时的响应信号为y2(t),给定两个常数a和b,如果当输入信号为x(t)时系统的响应信号为y(t),且满足

x(t)=x1(t)+x2(t)(4-15)

y(t)=y1(t)+y2(t)(4-16)则该系统具有叠加性(Additivity)。如果满足

x(t)=a*x1(t)(4-17)

y(t)=a*y1(t)(4-18)则该系统具有齐次性(Homogeneity)。一个系统如果是线性系统的话,那么这个系统必须同时具有叠加性和齐次性。线性时(移)不变系统特性

假设系统在输入信号x1(t)作用时线性时(移)不变系统表示方法1.常系数线性微分/差分方程2.系统传递函数:tf3.零-极点增益模型zpk连续系统:

连续系统:

离散系统:

离散系统:

线性时(移)不变系统表示方法1.常系数线性微分/差分方程24.极点留数模型离散系统:

连续系统:

5.二次分式模型sos连续系统:

离散系统:

6.状态空间模型ss连续系统:

离散系统:

4.极点留数模型离散系统:连续系统:5.二次分式模型so系统模型的转换函数在MATLAB中,用sos、ss、tf、zp分别表示二次分式模型、状态空间模型、传递函数模型和零-极点增益模型。其中sos表示二次分式,g为比例系数,sos为L×6的矩阵,即

(4-15)

1.ss2tf函数

格式:[num,den]=ss2tf(A,B,C,D,iu)功能:将指定输入量iu的线性系统(A,B,C,D)转换为传递函数模型[num,den]。2.zp2tf函数格式:[num,den]=zp2tf(z,p,k)功能:将给定系统的零-极点增益模型转换为传递函数模型,z、p、k分别为零点列向量、极点列向量和增益系数。系统模型的转换函数在MATLAB中,用sos线性系统模型的变换函数函数名功能说明函数名功能说明ss2tf状态空间模型转换为传递函数模型zp2tf零-极点增益模型转换为传递函数模型ss2zp状态空间模型转换为零-极点增益模型zp2ss零-极点增益模型转换为状态空间模型ss2sos状态空间模型转换为二次分式模型zp2sos零-极点增益模型转换为二次分式模型tf2ss传递函数模型转换为状态空间模型sos2tf二次分式模型转换为传递函数模型tf2zp传递函数模型转换为零-极点增益模型sos2zp二次分式模型转换为零-极点增益模型tf2sos传递函数模型转换为二次分式模型sos2ss二次分式模型转换为状态空间模型线性系统模型的变换函数函数名功能说明函数名功能说明ss2tf一、连续系统的时域响应及MATLAB实现二、离散时间系统的时域响应及MATLAB实现线性时(移)不变系统的时域响应

一、连续系统的时域响应及MATLAB实现线性时(移)不变连续系统的时域响应及MATLAB实现1、impulse函数功能:求连续系统的单位冲激响应。impulse()函数有如下几种调用格式:impulse(b,a):该调用格式以默认方式由向量a和b表示的连续系统在指定时间范围内的冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。impulse(b,a,t):绘出系统在0~t时间范围内冲激响应的时域波形。impulse(b,a,t1:p:t2):绘出在t1~t2时间范围内,且以时间间隔p均匀取样的冲激响应波形。y=impulse(b,a,t1:p:t2):不绘出波形,而是求出系统冲激响应的数值解:连续系统的时域响应及MATLAB实现1、impulse函连续系统的时域响应2、step函数功能:求连续系统的单位阶跃响应,与impulse()函数一样,也有四种调用格式。3、initial函数功能:求连续系统的零输入响应。4、lsim函数功能:求任意输入的连续系统进行仿真。【例4-20】已知二阶系统y″(t)+y(t)=f(t);y′(0+)=-1,y(0+)=0,f(t)=cost,求系统的单位阶跃响应、零输入响应及全响应。

连续系统的时域响应2、step函数3、initial函数【例*1、impz函数求离散系统(数字滤波器)的单位冲击响应。离散时间系统响应·impz(b,a)以默认方式绘出向量

a和

b定义的离散系统

h(k)的时域波形;·impz(b,a,n)绘出向量

a和

b定义的离散系统在

0~n(n必须为整数)离散时间范围内单位脉冲响应

h(k)的时域波形;·impz(b,a,n1:n2)绘出向量

a和

b定义的离散系统在

n1~n2(n1、n2必须为整数,且n1<n2)离散时间范围内单位脉冲响应h(k)的时域波形;·y=impz(b,a,n1:n2)不绘出系统的

h(k)的时域波形,而是求出向量

a和

b定义的离散系统在

n1~n2(n1、n2必须为整数,且

n1<n2)离散时间范围内单位脉冲响应

h(k)的数值解。*1、impz函数离散时间系统响应·impz(b,a)以默2、stepz函数功能:求离散系统的单位阶跃响应格式:stepz(a,b,c,d)、stepz(num,den)3、dinitial函数功能:求离散系统的零输入响应格式:dinitial(a,b,c,d,x0)、dinitial(num,den,x0)4、dlsim函数功能:求任意输入的离散系统进行仿真格式:dlsim(a,b,c,d,u)、dlsim(num,den,u)5、fliter函数功能:求任意输入的离散系统进行仿真格式:filter(a,b,c,d,u)、filter(num,den,u)2、stepz函数设系统差分方程为,求该系统对信号的响应

B=1;A=[1,-0.8];N=0:31;x=0.8.^n;y=filter(B,A,x);subplot(2,1,1);stem(x)subplot(2,1,2);stem(y)例3-22:设系统差分方程为3.1.3信号与系统的频域分析信号的傅里叶分析连续时间系统的S域分析离散时间系统的Z域分析3.1.3信号与系统的频域分析信号的傅里叶分析信号的傅里叶分析Matlab的符号运算工具箱(SymbolicMathToolbox)提供了能直接求解傅里叶变换和逆变换的符号运算函数fourier()和ifourier()。两函数的调用格式如下。(1)傅里叶变换在Matlab中,傅里变换变换由函数fourier()实现。fourier()有三种调用格式:①F=fourier(f)求时间函数f(t)的傅里叶变换,返回函数F的自变量默认为w,②F=fourier(f,v)求时间函数f(t)的傅里叶变换,返回函数F的自变量为v,③F=fourier(f,u,v)对自变量为u的函数f(u)求傅里叶变换,返回函数F的自变量为v,1、非周期连续信号的频域分析-傅氏变换信号的傅里叶分析Matlab的符号运算工具箱(Symboli(2)傅里叶逆变换在Matlab中,傅里变换逆变换由函数ifourier()实现。与函数fourier()相类似,ifourier()也有三种调用格式:①f=ifourier(F)②f=ifourier(F,u)③f=ifourier(F,v,u)(2)傅里叶逆变换例3-23:求单边指数函数的傅里叶变换,画出其幅频特性和相频特性图symstwff=exp(-2*t)*sym('Heaviside(t)');F=fourier(f)subplot(3,1,1);ezplot(f,[0:2,0:1.2]);subplot(3,1,2);ezplot(abs(F),[-10:10]);subplot(3,1,3);ezplot(angle(F),[-10:10])例3-23:求单边指数函数用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件,即信号是时限信号(Timelimitedsignal),也就是当时间|t|大于某个给定时间时其值衰减为零或接近于零。采用数值计算算法的理论依据是:若信号为时限信号,当时间间隔T取得足够小时,上式可演变为:用MATLAB表示为:

X=x*exp(-j*w*t’)*T用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件例3-25已知非周期连续信号求它的傅里叶变换example4_25.m例3-25已知非周期连续信号2、周期连续信号的频域分析-傅里叶级数周期T1基频0=2/T1假设需要计算的谐波次数为N,则总的系数个数为2N+1,对于某个系数:

傅里叶级数的系数为2、周期连续信号的频域分析-傅里叶级数周期T1假设需要计算的例4-26:给定一个周期为T1=2s的连续时间周期方波信号,其一个周期内的数学表达式为

试求其傅里叶级数。例4-26:给定一个周期为T1=2s的连续时间周期方波信3时间离散、连续频率-序列傅里叶变换4离散时间、离散频率-离散傅里叶级数5离散时间、离散频率-离散傅里叶变换(DFT)正变换:

逆变换:

正变换:

逆变换:

正变换:

逆变换:

3时间离散、连续频率-序列傅里叶变换4离散时间、离散频率1.一维快速正傅里叶变换函数fft格式:X=fft(x,N)功能:采用FFT算法计算序列向量x的N点DFT变换,当N缺省时,fft函数自动按x的长度计算DFT。当N为2整数次幂时,fft按基-2算法计算,否则用混合算法。2.一维快速逆傅里叶变换函数ifft格式:x=ifft(X,N)功能:采用FFT算法计算序列向量X的N点IDFT变换。[例4-36]用快速傅里叶变换FFT计算下面两个序列的卷积。,并测试直接卷积和快速卷积的时间。图4.35快速卷积框图6、快速傅里叶变换1.一维快速正傅里叶变换函数fft[例4-36]用快速傅里MATLAB程序(部分):%线性卷积xn=sin(0.4*[1:15]);%对序列x(n)赋值,M=15hn=0.9.^(1:20);%对序列h(n)赋值,N=20yn=conv(xn,hn); %直接调用函数conv计算卷积%圆周卷积L=pow2(nextpow2(M+N-1));

Xk=fft(xn,L);

Hk=fft(hn,L);

Yk=Xk.*Hk;

yn=ifft(Yk,L);

图4.36x(n),h(n)及其线性卷积波形MATLAB程序(部分):图4.36x(n),h(n)及连续时间系统的S域分析Matlab的符号数学工具箱(SymbolicMathToolbox)提供了能直接求解拉普拉斯变换和逆变换的符号运算函数laplace()和ilaplace()。1.连续时间信号的拉普拉斯变换连续时间系统的S域分析Matlab的符号数学工具箱(Symb例3-30:求以下函数的拉普拉斯变换。symstf1=sym('exp(-2*t)*Heaviside(t)');F1=laplace(f1)%求f1(t)的拉普拉斯变换f2=sym('t*exp(-t)*Heaviside(t)');F2=laplace(f2)例3-30:求以下函数的拉普拉斯变换。symstMatlab工具箱中提供了专门用于分析连续系统频率响应的freqs()函数。它可求出系统频率响应的数值解,也可绘出其幅频及相频特性曲线。freqs()函数的调用形式有如下四种。(1)H=freqs(b,a,w1:dw:w2)可求得指定频率范围(w1~w2)内相应频点处系统频率响应的样值。其中,w1、w2分别为频率起始值和终止值,dw为频率取样间隔。(2)[H,w]=freqs(b,a)将计算默认频率范围内200个频点上系统频率响应的样值,并赋值给返回向量H,200个频点则记录在向量w中。(3)[H,w]=freqs(b,a,n)将计算默认频率范围内n个频点上系统频率响应的样值,并赋值给返回向量H,n个频点则记录在向量w中。(4)freqs(b,a)该调用方式将绘出系统的幅频特性和相频特性曲线。2.连续系统的复频域分析

Matlab工具箱中提供了专门用于分析连续系统频率响应的fr例3-32:已知一因果系统的系统函数为

试分析其频率特性。a=[12321];b=[10-4];p=roots(a)pxm=max(real(p));ifpxm>=0'系统不稳定'elsefreqs(b,a)end例3-32:已知一因果系统的系统函数为

试分析其频率特性。离散时间系统的Z域分析1.离散时间信号的Z变换MATLAB的符号数学工具箱(SymbolicMathTools)提供了计算z正变换的函数ztrans和计算逆z变换的函数iztrans。其调用形式为:F=ztrans(f)%求符号函数f的z变换,返回函数的自变量为z;F=ztrans(f,w)%求符号函数f的z变换,返回函数的自变量为w;F=ztrans(f,k,w)%对自变量为k的符号函数f求z变换,返回函数的自变量为w。f=iztrans(F)%对自变量为z的符号函数F求逆z变换,返回函数的自变量为n;f=iztrans(F,k)%对自变量为z的符号函数F求逆z变换,返回函数的自变量为k;f=iztrans(F,w,k)%对自变量为w的符号函数F求逆z变换,返回函数的自变量为k。离散时间系统的Z域分析1.离散时间信号的Z变换2、离散时间系统的Z域分析利用freqz()函数可求得系统的频率响应。调用格式如下:freqz(b,a)该调用方式将绘制系统在0~范围内的幅频特性和相频特性图,其中,b、a分别为系统函数分子、分母多项式的系数向量。freqz(b,a,’whole’)该调用方式将绘制系统在0~2范围内的幅频特性和相频特性图。freqz(b,a,N)该调用方式将绘制系统在0~范围内N个频率等分点的幅频特性和相频特性图,N的缺省值为512;freqz(b,a,N,’whole’)该调用方式将绘制系统在0~2范围内N个频率等分点的幅频特性和相频特性图。2、离散时间系统的Z域分析a.画出零极点图

b.求系统响应

c.求系统的幅频特性和相频特性例4-37:设a.画出零极点图

b.求系统响应

c.通信系统计算机仿真-通信信号与系统分析课件第3章通信信号与系统分析

第3章通信信号与系统分析

本章内容3.1信号和系统的时域分析3.2信号和系统的频域分析3.3带通信号的低通等效3.4随机信号分析本章内容3.1信号和系统的时域分析3.1.1信号的时域分析连续信号的处理:MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。(取样时间间隔足够小)无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。通常的情况下,需要与时间变量相对应。在MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数;而对n为自变量的离散序列,在绘图时统一用stem函数。4.1.1、常用信号的MATLAB表示3.1.1信号的时域分析连续信号的处理:MATLAB并不能一、几种常用信号的表示1.单位冲击函数、序列一、几种常用信号的表示1.单位冲击函数、序列单位冲激函数、单位冲激序列的实现案例t=-5:0.01:5;

y=(t==0);

subplot(1,2,1);

plot(t,y,'r');

n=-5:5;

x=(n==0);

subplot(1,2,2);

stem(n,x);单位冲激函数、单位冲激序列的实现案例t=-5:0.01:2.单位阶跃函数、序列

(一)几种常用信号的表示2.单位阶跃函数、序列(一)几种常用信号的表示单位阶跃函数、单位阶跃序列的实现案例t=-5:0.01:5;y=(t>=0);subplot(1,2,1);plot(t,y,'r')

n=-5:5;

x=(n>=0);

subplot(1,2,2);

stem(n,x);单位阶跃函数、单位阶跃序列的实现案例t=-5:0.01:53.实指数序列直接实现:n=[ns:nf];x=a.^n;4.复指数序列直接实现:n=[ns:nf];x=exp((sigema+jw)*n);5.正(余)弦序列直接实现:n=[ns:nf];x=cos(w*n+sita);3.实指数序列直接实现:n=[ns:nf];x=a.^n;生成上述三种信号的实现案例t=-5:0.01:5;subplot(2,2,1);a=2y1=2.^tplot(t,y1,'r')subplot(2,2,2);a=2;theat=pi/3;y2=sin(2*pi*t+theat)plot(t,y2)subplot(2,1,2);w=4;y3=exp((a+j*w)*t);plot(t,y3,‘y')生成上述三种信号的实现案例t=-5:0.01:5;工具箱中的信号产生函数函数名功能函数名功能sawtooth产生锯齿波或三角波信号pulstran产生冲激串square产生方波信号rectpule产生非周期的方波信号sinc产生sinc函数波形tripuls产生非周期的三角波信号chirp产生调频余弦信号diric产生Dirichlet或周期sinc函数gauspuls产生高斯正弦脉冲信号gmonopuls产生高斯单脉冲信号vco电压控制振荡器工具箱中的信号产生函数函数名功能函数名功能sawtooth产1、sawtooth函数产生锯齿波或三角波例:产生f=50Hz的锯齿波、三角波Fs=10000;%采样频率t=0:1/Fs:0.1;%采样间隔1/Fsf=50;%50Hzx1=sawtooth(2*pi*50*t,0);x2=sawtooth(2*pi*50*t,1);x3=sawtooth(2*pi*50*t,0.5);subplot(311);plot(t,x1);subplot(312);plot(t,x2);subplot(313);plot(t,x3);1、sawtooth函数2、square函数产生矩形波例:产生50Hz占空比分别为20%和50%的矩形波。Fs=10000;%采样频率t=0:1/Fs:0.1;%采样间隔1/Fsf=50;%50Hzx1=square(2*pi*50*t,20);x2=square(2*pi*50*t,50);subplot(211);plot(t,x1);subplot(212);plot(t,x2);2、square函数3、sinc函数产生sinc波形或sin(πt)/(πt)波形例:t=linspace(-10,+10,200);x=sinc(t);plot(t,x);3、sinc函数2信号运算1信号的相加与相乘

y(n)=x1(n)+x2(n)MATLAB实现:y=x1+x2y(n)=x1(n)×x2(n)MATLAB实现:y=x1+x2;y=x1.*x2例4-10已知两序列[0.5,1.5,1,-0.5]与[2,2,2,2,2,2],试求该两序列的和与积example4_10.m2信号运算1信号的相加与相乘例4-10已知两序列function[f,k]=sigadd(f1,k1,f2,k2)%实现序列f1,f2的相加,相减,相乘,可据实际需要作选择%f1,k1;f2,k2是参加运算的序列向量及其时间向量%f,k作为返回的和(差,积)序列及其时间向量%将f1,f2转换成等长序列s1,s2k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;%初始化序列s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;f=s1+s2;%序列相加%f=s1-s2;%序列相减%f=s1.*s2;%序列相乘%stem(k,f,'fill');%axis([(min(min(k1),min(k2))-1),(max(max(k1),max(k2))+1),(min(f)-0.5),(max(f)+0.5)])function[f,k]=sigadd(f1,k1,f22序列移位与周期延拓运算序列移位:y(n)=x(n-m)。MATLAB实现:y=x;ny=nx+m序列圆周移位:y(n)=x((n))M,MATLAB实现:ny=nxs:nxf;y=x(mod(ny,M)+1)3序列翻褶序列翻褶:y(n)=x(-n)。MATLAB可实现:y=fliplr(x)2序列移位与周期延拓运算序列移位:y(n)=x(n-m)。3例:实现f(t+2),f(-t)f1=f;t1=t-2;subplot(2,2,2);plot(t1,f1)axis([-5502]);f2=fliplr(f);subplot(2,2,3);plot(t,f2)例:实现f(t+2),f(-t)f1=f;.4两序列的卷积运算两序列卷积运算:

MATLAB实现:y=conv(x1,x2)。序列x1(n)和x2(n)必须长度有限。设x1的非零区间为n1~n2,长度为L1=n2-n1+1;x2的非零区间为m1~m2,长度为L2=m2-m1+1;则Y的长度为L=L1+L2-1;Y对应的横轴序号

为n1+m1~n1+m1+L-1.4两序列的卷积运算两序列卷积运算:MATLAB实连续卷积和离散卷积的关系:所以,可以用离散卷积和CONV()求连续卷积,只需足够小以及在卷积和的基础上乘以。连续卷积和离散卷积的关系:所以,可以用离散卷积和CONV()两序列的相关运算两序列相关运算:

MATLAB实现:y=xcorr(x1,x2)。序列累加的数学描述为:

MATLAB实现:y=cumsum(x)序列累加运算两序列的相关运算两序列相关运算:MATLAB实现:y=xc信号的能量和功率1.信号能量数字定义:MATLAB实现:E=sum(x.*conj(x));或E=sum(abs(x).^2);数字定义:2.信号功率MATLAB实现:P=sum(x.*conj(x))/N;或E=sum(abs(x).^2)/N;信号的能量和功率1.信号能量数字定义:MATLAB实现:E3.1.2线性系统时域分析

线性时(移)不变系统特性线性时(移)不变系统表示方法线性时(移)不变系统的时域响应3.1.2线性系统时域分析

线性时(移)不变系统特性线性时(移)不变系统特性

假设系统在输入信号x1(t)作用时的响应信号为y1(t),在输入信号x2(t)作用时的响应信号为y2(t),给定两个常数a和b,如果当输入信号为x(t)时系统的响应信号为y(t),且满足

x(t)=x1(t)+x2(t)(4-15)

y(t)=y1(t)+y2(t)(4-16)则该系统具有叠加性(Additivity)。如果满足

x(t)=a*x1(t)(4-17)

y(t)=a*y1(t)(4-18)则该系统具有齐次性(Homogeneity)。一个系统如果是线性系统的话,那么这个系统必须同时具有叠加性和齐次性。线性时(移)不变系统特性

假设系统在输入信号x1(t)作用时线性时(移)不变系统表示方法1.常系数线性微分/差分方程2.系统传递函数:tf3.零-极点增益模型zpk连续系统:

连续系统:

离散系统:

离散系统:

线性时(移)不变系统表示方法1.常系数线性微分/差分方程24.极点留数模型离散系统:

连续系统:

5.二次分式模型sos连续系统:

离散系统:

6.状态空间模型ss连续系统:

离散系统:

4.极点留数模型离散系统:连续系统:5.二次分式模型so系统模型的转换函数在MATLAB中,用sos、ss、tf、zp分别表示二次分式模型、状态空间模型、传递函数模型和零-极点增益模型。其中sos表示二次分式,g为比例系数,sos为L×6的矩阵,即

(4-15)

1.ss2tf函数

格式:[num,den]=ss2tf(A,B,C,D,iu)功能:将指定输入量iu的线性系统(A,B,C,D)转换为传递函数模型[num,den]。2.zp2tf函数格式:[num,den]=zp2tf(z,p,k)功能:将给定系统的零-极点增益模型转换为传递函数模型,z、p、k分别为零点列向量、极点列向量和增益系数。系统模型的转换函数在MATLAB中,用sos线性系统模型的变换函数函数名功能说明函数名功能说明ss2tf状态空间模型转换为传递函数模型zp2tf零-极点增益模型转换为传递函数模型ss2zp状态空间模型转换为零-极点增益模型zp2ss零-极点增益模型转换为状态空间模型ss2sos状态空间模型转换为二次分式模型zp2sos零-极点增益模型转换为二次分式模型tf2ss传递函数模型转换为状态空间模型sos2tf二次分式模型转换为传递函数模型tf2zp传递函数模型转换为零-极点增益模型sos2zp二次分式模型转换为零-极点增益模型tf2sos传递函数模型转换为二次分式模型sos2ss二次分式模型转换为状态空间模型线性系统模型的变换函数函数名功能说明函数名功能说明ss2tf一、连续系统的时域响应及MATLAB实现二、离散时间系统的时域响应及MATLAB实现线性时(移)不变系统的时域响应

一、连续系统的时域响应及MATLAB实现线性时(移)不变连续系统的时域响应及MATLAB实现1、impulse函数功能:求连续系统的单位冲激响应。impulse()函数有如下几种调用格式:impulse(b,a):该调用格式以默认方式由向量a和b表示的连续系统在指定时间范围内的冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。impulse(b,a,t):绘出系统在0~t时间范围内冲激响应的时域波形。impulse(b,a,t1:p:t2):绘出在t1~t2时间范围内,且以时间间隔p均匀取样的冲激响应波形。y=impulse(b,a,t1:p:t2):不绘出波形,而是求出系统冲激响应的数值解:连续系统的时域响应及MATLAB实现1、impulse函连续系统的时域响应2、step函数功能:求连续系统的单位阶跃响应,与impulse()函数一样,也有四种调用格式。3、initial函数功能:求连续系统的零输入响应。4、lsim函数功能:求任意输入的连续系统进行仿真。【例4-20】已知二阶系统y″(t)+y(t)=f(t);y′(0+)=-1,y(0+)=0,f(t)=cost,求系统的单位阶跃响应、零输入响应及全响应。

连续系统的时域响应2、step函数3、initial函数【例*1、impz函数求离散系统(数字滤波器)的单位冲击响应。离散时间系统响应·impz(b,a)以默认方式绘出向量

a和

b定义的离散系统

h(k)的时域波形;·impz(b,a,n)绘出向量

a和

b定义的离散系统在

0~n(n必须为整数)离散时间范围内单位脉冲响应

h(k)的时域波形;·impz(b,a,n1:n2)绘出向量

a和

b定义的离散系统在

n1~n2(n1、n2必须为整数,且n1<n2)离散时间范围内单位脉冲响应h(k)的时域波形;·y=impz(b,a,n1:n2)不绘出系统的

h(k)的时域波形,而是求出向量

a和

b定义的离散系统在

n1~n2(n1、n2必须为整数,且

n1<n2)离散时间范围内单位脉冲响应

h(k)的数值解。*1、impz函数离散时间系统响应·impz(b,a)以默2、stepz函数功能:求离散系统的单位阶跃响应格式:stepz(a,b,c,d)、stepz(num,den)3、dinitial函数功能:求离散系统的零输入响应格式:dinitial(a,b,c,d,x0)、dinitial(num,den,x0)4、dlsim函数功能:求任意输入的离散系统进行仿真格式:dlsim(a,b,c,d,u)、dlsim(num,den,u)5、fliter函数功能:求任意输入的离散系统进行仿真格式:filter(a,b,c,d,u)、filter(num,den,u)2、stepz函数设系统差分方程为,求该系统对信号的响应

B=1;A=[1,-0.8];N=0:31;x=0.8.^n;y=filter(B,A,x);subplot(2,1,1);stem(x)subplot(2,1,2);stem(y)例3-22:设系统差分方程为3.1.3信号与系统的频域分析信号的傅里叶分析连续时间系统的S域分析离散时间系统的Z域分析3.1.3信号与系统的频域分析信号的傅里叶分析信号的傅里叶分析Matlab的符号运算工具箱(SymbolicMathToolbox)提供了能直接求解傅里叶变换和逆变换的符号运算函数fourier()和ifourier()。两函数的调用格式如下。(1)傅里叶变换在Matlab中,傅里变换变换由函数fourier()实现。fourier()有三种调用格式:①F=fourier(f)求时间函数f(t)的傅里叶变换,返回函数F的自变量默认为w,②F=fourier(f,v)求时间函数f(t)的傅里叶变换,返回函数F的自变量为v,③F=fourier(f,u,v)对自变量为u的函数f(u)求傅里叶变换,返回函数F的自变量为v,1、非周期连续信号的频域分析-傅氏变换信号的傅里叶分析Matlab的符号运算工具箱(Symboli(2)傅里叶逆变换在Matlab中,傅里变换逆变换由函数ifourier()实现。与函数fourier()相类似,ifourier()也有三种调用格式:①f=ifourier(F)②f=ifourier(F,u)③f=ifourier(F,v,u)(2)傅里叶逆变换例3-23:求单边指数函数的傅里叶变换,画出其幅频特性和相频特性图symstwff=exp(-2*t)*sym('Heaviside(t)');F=fourier(f)subplot(3,1,1);ezplot(f,[0:2,0:1.2]);subplot(3,1,2);ezplot(abs(F),[-10:10]);subplot(3,1,3);ezplot(angle(F),[-10:10])例3-23:求单边指数函数用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件,即信号是时限信号(Timelimitedsignal),也就是当时间|t|大于某个给定时间时其值衰减为零或接近于零。采用数值计算算法的理论依据是:若信号为时限信号,当时间间隔T取得足够小时,上式可演变为:用MATLAB表示为:

X=x*exp(-j*w*t’)*T用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件例3-25已知非周期连续信号求它的傅里叶变换example4_25.m例3-25已知非周期连续信号2、周期连续信号的频域分析-傅里叶级数周期T1基频0=2/T1假设需要计算的谐波次数为N,则总的系数个数为2N+1,对于某个系数:

傅里叶级数的系数为2、周期连续信号的频域分析-傅里叶级数周期T1假设需要计算的例4-26:给定一个周期为T1=2s的连续时间周期方波信号,其一个周期内的数学表达式为

试求其傅里叶级数。例4-26:给定一个周期为T1=2s的连续时间周期方波信3时间离散、连续频率-序列傅里叶变换4离散时间、离散频率-离散傅里叶级数5离散时间、离散频率-离散傅里叶变换(DFT)正变换:

逆变换:

正变换:

逆变换:

正变换:

逆变换:

3时间离散、连续频率-序列傅里叶变换4离散时间、离散频率1.一维快速正傅里叶变换函数fft格式:X=fft(x,N)功能:采用FFT算法计算序列向量x的N点DFT变换,当N缺省时,fft函数自动按x的长度计算DFT。当N为2整数次幂时,fft按基-2算法计算,否则用混合算法。2.一维快速逆傅里叶变换函数ifft格式:x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论