第2章 离散时间信号分析(5.17修改)
- 格式:ppt
- 大小:1.27 MB
- 文档页数:137
实验一
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验二
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验三
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验四
学院:电气工程学院专业:测控技术与仪器班级:测仪101
实验五
学院:电气工程学院专业:测控技术与仪器班级:测仪101
%双线性变换法设计ButterWorth数字滤波器[n,Wn]=buttord(0.2,0.3,1,25,’s’);
[b,a]=butter(n,Wn,’s’);
freqs(b,a)
[bz,az]=bilinear(b,a,1);
通过本次实验,我基本掌握了双线性变换法及脉冲相应不变法设计
实验六
学院:电气工程学院专业:测控技术与仪器班级:测仪101。
离散时间信号和系统理论知识介绍离散时间信号和系统理论是信号与系统理论领域的重要分支,用于描述和分析在离散时间点上的信号及其相应的系统行为。
离散时间信号是在离散时间集合上定义的函数,通常由离散采样得到。
离散时间系统则是对输入离散时间信号进行操作和处理得到输出信号的过程。
离散时间信号是时间的一个离散序列,可以通过对连续时间信号进行采样得到。
最常见的离散时间信号是离散时间单位脉冲信号,其在一个时间点的值为1,其他时间点的值为0。
其他常见的离散时间信号包括阶跃信号、正弦信号、方波信号等。
每个离散时间信号都有其特定的频谱和幅度特性。
离散时间系统是对离散时间信号进行处理和操作的载体。
离散时间系统可以是线性系统或非线性系统。
线性系统可以通过线性时不变(LTI)系统模型来描述,即系统的输入和输出之间存在线性时不变关系。
LTI系统可以用巴特沃斯(Bartow)方程式或其它传输方程式来表示,并可以通过离散时间卷积来分析系统的响应。
非线性系统则不满足线性性质的要求,其描述和分析方法更为复杂。
离散时间信号和系统理论的基本概念包括线性性、时不变性、因果性和稳定性等。
线性性要求系统对输入信号的加法性和乘法性具有反应;时不变性要求系统的性质不随时间变化而改变;因果性要求系统的响应仅依赖于过去和当前的输入信号;稳定性要求系统的输出有界且有限。
离散时间信号和系统的分析方法包括时域分析和频域分析。
时域分析主要关注信号和系统在时间域上的行为,如脉冲响应、单位样本响应、单位阶跃响应等;频域分析则关注信号和系统在频域上的特性,如频谱分析、频率响应等。
离散时间信号和系统在实际应用中有广泛的应用。
例如,它们可以用于数字音频处理、数字图像处理、通信系统、控制系统等领域中。
在这些应用中,离散时间信号和系统的理论方法可以帮助我们分析和设计系统,优化信号处理算法,并提高系统的性能。
总而言之,离散时间信号和系统理论是信号与系统理论中重要的一部分,用于描述和分析离散时间信号和系统的特性。
第2章离散时间信号分析离散时间信号离散时间信号(discrete-time signal)是离散时间变量n的函数,它只在规定的散时间信号表现为在时间上按一定次序排列的不连续的一组数的集合,故称(time series or()x nnLx(0)x(1)x(2)x(3)x(-1)本章主要内容¾离散时间信号——序列¾采样定理及实现¾离散时间信号的相关分析¾离散时间信号的Z 域分析¾离散系统描述与分析¾物理可实现系统2.1 离散时间信号——序列一、序列的表示 单位采样序列⎩⎨⎧≠==−)(0)(1)n k n k k n n1()n δn10k单位阶跃序列∑∞=−) (mnδ⎧≥=01 )(nnu1-10 1 2……() u n矩形序列⎩⎨⎧≥<−≤≤=Nn n N n n R N 及00101)(N-1N()N R n n的关系:()n δ、)()()()()[]111−−++−+=−=−∑−=N n n n k n N N k δδδδL实指数序列)()(n u a n x n=…()x n ()x n 0123n…()x n 4n0123n…431a >01a <<1a <−10a −<<正弦序列)sin()(ωn A n x =∞<<∞−n n()sin A n ω22/s s sT fT f f ππΩ==周期序列)()(N n x n x +=N 为整数)对正弦序列来说])sin[()sin(ωωN n n +=)22sin(]2)sin[()2mN m n m N n m ππππ+=+=等式成立的条件为:ππK mN 22=KmN =二、序列的运算序列加减乘设序列与()y n )()()(n y n x n z +=()x n ()()()z n x n y n =±()()()z n x n y n =⋅*注意:时刻对齐序列移位=−()()z n x n m 序列翻转nz−x=((n))序列的尺度变换)()(Mnxny=)/()(Lnxny=n0 1 2 3 n(2)x n4 5 62 3 4 5 6 10 11 120 1 n (/2)x n7 8 9序列的离散卷积∑∞−∞=−==m m n y m x n y n x n z )()()(*)()(翻褶、移位、相乘、相加231x(n)54N1=523h(n)n 0N2=3kN1=5231h(-k)k(2)平移x(k)h(1-k)=5*2+4*1=14x(k)h(2-k)=5*3+4*2+3*1=26x(k)h(3-k)=4*3+3*2+2*1=20x(k)h(4-k)=3*3+2*2+1*1=14x(k)h(5-k)=2*3+1*2=8x(k)h(6-k)=1*3=3231x(k)54kh(1-k)k(4)相加26ny(n)83信号转换过程2.2 采样定理及实现一、采样过程1. 模拟信号采样器离散的脉冲信号t()sx nTτsT()sx nT()x t2. 数学描述∑+∞∞−−==)()()()()(S T S S nT t t x t t x nT x δδ(2.2.1)假设采样脉冲为理想脉冲(2.2.2)只考虑正值时间∑+∞=−=0n S S S S )nT t ()nT (x )nT (x δ∑+∞∞−−=)()()(S S S S nT t nT x nT x δ(2.2.3)二、采样定理(Sampling theory)离散信号X(nT s )连续信号X(t)采样定理:要想采样后不失真地还原原信号,采样频率必须大于原信号频谱中最高频率的两ms Ω≥Ω21.推导过程∑∑∞−∞=+∞∞−=−=m t Tjm mT ecnT t t πδδ2)()(2tTdtπTdt et T T tTjm 1)(2/2/=∫−−δ∑∞−∞=m t Tjm eπ2采样的脉冲序列时域采样信号是原始信号x(t)与脉冲序列的乘积dt(2.2.4)∑∫∫∝∝−=Ω−∝∝−Ω−∝∝−⋅=m tj t jm tj T dt e e T dt et T πδ21)(∑∑∫∝∝−=∝∝−=∝∝−Ω−Ω−Ω−Ω==m sm t m j m Tdt e T s )(21)(δπ(2.2.5))](*)([21)(ΩΔΩ=Ω∧j j X j X π将(2.2.4)和(2.2.5)代入上式:])(*Ωj X ∑∫∝∝∝−−Ω−Ωs d m j X θθδθ)()(∑∑∝∝−=∝−−Ω=Ω−Ωm T s m j X T jm j X )]([1)(2π2.几点说明(1)频谱的幅度受加权为间隔重复T1π2T1sΩms Ω≥Ω2ms Ω<Ω2sΩtmΩmΩ高频与低频的混叠3.如何由X(nT s )重构x(t)工程上:D/A 转换器理论上:2/s Ω2/s Ω−)2/s Ω2/s Ω−)(Ωj Y ∫ΩΩ−ΩΩΩ=Ω222/)2/sin(s s t t d Te s s tj ∑∝∝−=−Ω−Ω=∗n s s nT t nT t nT x t h nT 2/)(]2/)(sin[)()()插值函数三、采样方式实时采样实时显示单次波形等效时间显示重复波形)∞⋅⋅⋅=,,0n 1222()()()()]nnx n y n x n y n ∑∑1||≤xy ρ相关是研究两个信号之间,或一个信号和其移位后的相关性,是信号分析、检测与处理的重要工具;在随机信号的理论中起到了中心的作用。
离散时间信号和系统理论知识介绍离散时间信号和系统是数字信号处理领域中的重要分支,其研究对象是以离散时间为变量的信号和系统。
在离散时间信号和系统理论中,信号的变量只在离散时间点上取值,而系统对信号的处理也是在离散时间点上进行的。
离散时间信号和系统的研究为数字信号处理提供了理论基础和工具。
离散时间信号可以表示为x(n),其中n是一个整数,代表信号的时间变量。
离散时间信号可以是有限长度的序列,也可以是无限长度的序列。
离散时间信号的幅度可以是实数或复数,表示信号在不同时间点上的取值。
离散时间信号可以用图形表示,横轴表示时间变量n,纵轴表示信号的幅度。
离散时间信号有几个重要的性质。
1. 周期性:如果对于某个正整数N,有x(n) = x(n+N),那么离散时间信号是周期性的,其最小周期是N。
2. 偶对称性:如果对于任意的n,有x(n) = x(-n),那么离散时间信号是偶对称的。
3. 奇对称性:如果对于任意的n,有x(n) = -x(-n),那么离散时间信号是奇对称的。
4. 单位冲激响应:单位冲激响应是一个离散时间信号h(n),在n=0时为1,其他时间点为0。
单位冲激响应在离散时间系统中起着重要的作用,可以用来表示系统对单位冲激信号的响应。
离散时间系统是对离散时间信号进行处理的数学模型。
离散时间系统可以是线性系统或非线性系统。
线性系统具有叠加性和比例性质,即对于系统的输入信号x1(n)和x2(n),系统的输出信号y1(n)和y2(n),有以下关系:1. 叠加性:系统对输入信号的响应是可叠加的,即y(n) = y1(n) + y2(n)。
2. 比例性:系统对输入信号的响应是可比例的,即y(n) =k1y1(n) = k2y2(n),其中k1和k2是常数。
离散时间系统可以用差分方程表示:y(n) = a0x(n) + a1x(n-1) + ... + an-1x(1) + anx(0),其中ai是系统的系数。
离散时间系统的输入和输出信号也可以用离散时间卷积进行描述:y(n) = x(n) * h(n),其中*表示离散时间卷积运算,h(n)是系统的单位冲激响应。
实验二离散时间信号的时域分析1.实验目的(1)学习MATLAB软件及其在信号处理中的应用,加深对常用离散时间信号的理解。
(2)利用MATLAB产生常见离散时间信号及其图形的显示,进行简单运算。
(3)熟悉MATLAB对离散信号的处理及其应用。
2.实验原理离散时间信号是时间为离散变量的信号。
其函数值在时间上是不连续的“序列”。
(1)单位抽样序列如果序列在时间轴上面有K个单位的延迟,则可以得到,即:该序列可以用MATLAB中的zeros函数来实现。
(2)正弦序列可以利用sin函数来产生。
(3)指数序列在MATLAB中通过:和来实现。
3.实验内容及其步骤(1)复习有关离散时间信号的有关内容。
(2)通过程序实现上述几种信号的产生,并进行简单的运算操作。
单位抽样序列参考:% Generation of a Unit Sample Sequenceclf;% Generate a vector from -10 to 20n = -10:20;% Generate the unit sample sequenceu = [zeros(1,10) 1 zeros(1,20)];% Plot the unit sample sequencestem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);如果序列在时间轴上面有K个单位的延迟,则可以得到,即:,通过程序来实现如下所示结果。
正弦序列参考:% Generation of a sinusoidal sequencen = 0:40; f = 0.1;phase = 0; A = 1.5;arg = 2*pi*f*n - phase; x = A*cos(arg);clf; % Clear old graphstem(n,x); % Plot the generated sequenceaxis([0 40 -2 2]); grid;title('Sinusoidal Sequence'); xlabel('Time index n');ylabel('Amplitude'); axis;指数序列参考:% Generation of a real exponential sequenceclf; n = 0:35; a = 1.2; K = 0.2;x = K*a.^n; stem(n,x);xlabel('Time index n'); ylabel('Amplitude');(3)加深对离散时间信号及其特性的理解,对于离散信号能进行基本的运算(例如信号加、乘、延迟等等),并且绘出其图形。
武汉工程大学实验报告实验课程数字信号处理姓名张鹏学号0704140228专业及班级07通信02班实验地点实验组号实验日期11月19日实验项目离散时间信号的分析实验目的认识常用的各种信号,理解其数字表达式和波形表示掌握在计算机中生成及绘制数字信号波形的方法掌握序列的简单运算及计算机实现与作用理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分析实验原理,实验步骤,实验仪器设备(名称,型号,功能,量程,在本次试验中的用途)二、实验设备计算机,MATLAB语言环境。
三、实验基础理论1.序列的相关概念2.常见序列(哪几个?)3.序列的基本运算(哪些?)4.离散傅里叶变换的相关概念5.Z变换的相关概念(4、5的关系?)四、实验内容与步骤1.离散时间信号(序列)的产生利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。
2.序列的运算(1)利用MATLAB语言编程实现信号平滑运算。
(2)利用MATLAB语言编程实现信号的调制。
(3)利用MATLAB语言编程实现信号卷积运算。
(4)利用MATLAB语言编程实现信号离散傅立叶的正反变换。
利用MATLAB语言编程实现信号的圆周移位、圆周卷积,验证DFT 的圆周时移、圆周卷积性质和圆周卷积与线性卷积的关系。
验证一个周期实序列奇偶部分的DFT与此序列本身的DFT 之间的关系。
利用MATLAB语言编程实现信号的Z变换及其反变换、Z变换的零、极点分布。
1.单位值信号程序x=2;Y=1;stem(x,y);title(‘单位值’)2.单位阶跃序列程序n0=0;n1=-10;n2=10;n=[n1:n2];x=[(n-n0)>=0];stem(n,x);xlabel('n');ylabel('x(n)');title('单位阶跃序列');指数序列n=[0:10];x=(0.5).^n;stem(n,x)xlabel('n');ylabel('x(n)');title('实指数序列’)正弦序列n=[-50:50];x=2*sin(0.05*pi*n);stem(n,x);xlabel('n');ylabel('x(n)');title('正弦序列');随机序列程序n=[1:10];x=rand(1,10);subplot(221)stem(n,x);xlabel('n');ylabel('x(n)');title('随机序列')平滑运算R=51;d=0.8*(rand(R,1)-0.5);m=0:R-1;s=2*m.*(0.9.^m);x=s+d';subplot(2,1,1);plot(m,d','r-',m,s,'g--',m,x,'b-.');xlabel('Time index n');ylabel('Amplitude'); legend('d[n]','s[n]','x[n]');x1=[0 0 x];x2=[0 x 0];x3=[x 0 0];y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:R+1),'r-',m,s,'g--');legend('y[n]','s[n]');xlabel('Time index n');ylabel('Amplitude')两个序列相加减函数function[y,n]=sigadd(x1,n1,x2,n2)n=min(min(n1),min(n2)):max(max(n1),max(n2)); y1=zeros(1,length(n));y2=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y=y1+y2;两个序列相乘函数function[y,n]=sigmult(x1,n1,x2,n2)n=min(min(n1),min(n2)):max(max(n1),max(n2)); y1=zeros(1,length(n));y2=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y=y1.*y2;两序列相乘和相加程序clc;clear;x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;x2=[2,2,0,0,0,-2,-2];n2=2:8;[y1,n]=sigmult(x1,n1,x2,n2);[y2,n]=sigadd(x1,n1,x2,n2);subplot(2,2,1);stem(n1,x1);title('ÐòÁÐx1')xlabel('n');ylabel('x1(n)');subplot(2,2,2);stem(n2,x2);title('ÐòÁÐx2')xlabel('n');ylabel('x2(n)');subplot(2,2,3);stem(n,y1);title('Á½ÐòÁÐÏà³Ëx') xlabel('n');ylabel('y1(n)');subplot(2,2,4);stem(n,y2);title('Á½ÐòÁÐÏà¼Ó') xlabel('n'),ylabel('y2(n)');序列卷积的函数function[y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h)); ny=[nyb:nye];y=conv(x,h);卷积的运算x=[0 0.5 1 1.5 0];nx=0:4;h=[1 1 1 0 0];nh=0:4;[y,ny]=conv_m(x,nx,h,nh);subplot(2,2,1);stem(nx,x);title('序列X');xlabel('n');ylabel('x(n)');subplot(2,2,2);stem(nh,h);title('序列h');xlabel('n');ylabel('h(n)');subplot(2,2,3);stem(ny,y);title('两序列卷积'); xlabel('n');ylabel('y(n)');序列的圆周移位已知序列X(n)=10(0.8)n(0≤n≤10),序列圆周向右移m=3,绘制原序列波形和圆周移位序列波形cigmod函数function m=sigmod(n,N);m=rem(n,N);m=m+N;m=rem(m,N);cirshhift函数function y=cirshift(x,m,N);if length(x)>Nerror('N must be greater then length(x)'); endx=[x zeros(1,N-length(x))];n=[0:N-1];n=sigmod(n-m,N);y=x(n+1);圆周移位程序n=[0:10];M=6;N=11;x=10*0.8.^n;y=cirshift(x,M,N);subplot(211)stem(n,x);title('原序列波形');xlabel('n');ylabel('x(n)');subplot(212)stem(n,y);title('圆周移位序列波形');xlabel('n');ylabel('y(n)');圆周卷积已知X1=[1 2 2],x2=[1 2 3 4],试计算x1○4x2程序卷积程序function y=circonvt(x1,x2,N)if length(x1)>Nerror('Length(x1)is not great than N'); endif length(x2)>Nerroe('Lengeh(x2)is not greater than N'); endx1=[x1,zeros(1,N-length(x1))];x2=[x2,zeros(1,N-length(x2))];m=[0:N-1];x2=x2(mod(-m,N)+1);H=zeros(N,N);for n=1:N;H(n,:)=cirshift(x2,n-1,N);endy=x1*H';运算程序x1=[1 2 2];x2=[1 2 3 4];disp('N=5')N=5;y=circonvt(x1,x2,N)运算结果y= 9 4 9 14 14线性卷积:x1=[1 2 2];x2=[1 2 3 4];N=7;x1=[x1,zeros(1,N-length(x1))];x2=[x2,zeros(1,N-length(x2))];Xk1=dft(x1,N);Xk2=dft(x2,N);Yk=Xk1.*Xk2;y=idft(Yk,N)dft程序function[Xk]=dft(xn,N)n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;Idft程序function[Xk]=idft(xn,N)n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^(-nk);Xk=xn*WNnk/N;Z变换求(n-3)u(n)的Z变换F=ztrans(sym('n-3'))F=simplify(F)运行结果F =z/(z-1)^2-3*z/(z-1)F =-z*(-4+3*z)/(z-1)^2逆Z变换求X(z)=5z-1/(1+z-1-6z-2),2<|z|<3a=[1 1 -6];b=[0 5 0];[r,p,k]=residuez(b,a)运行结果r =-11p =-32k =将实信号分成奇和偶两部分n=[0:10];x=stepseq(0,0,10)-stepseq(10,0,10);[xe,xo,m]=evenodd(x,n);subplot(2,2,1);stem(n,x);title('矩形脉冲'); xlabel('n');ylabel('x(n)');subplot(2,2,2);stem(m,xe);title('偶部'); xlabel('n');ylabel('xe(n)');subplot(2,2,4);stem(m,xo);title('奇部'); xlabel('n');ylabel('xo(n)')函数function[xe,xo,m]=evenodd(x,n)if any(imag(x)~=0)error('x²»ÊÇʵÐòÁÐ')endm=-fliplr(n);m1=min([m,n]);m2=max([m,n]);m=m1:m2;nm=n(1)-m(1);n1=1:length(n);x1=zeros(1,length(m));x1(n1+nm)=x;x=x1;xe=0.5*(x+fliplr(x));xo=0.5*(x-fliplr(x));分成奇和偶函数二function[xev,xod]=circevod(x)if any(imag(x)~=0)error('不是实序列')endN=length(x);n=0:(N-1);xev=0.5*(x+x(sigmod(-n,N)+1));xod=0.5*(x-x(sigmod(-n,N)+1));已知序列X(n)=10(0.8)n,序列长度N=21绘出傅里叶的奇数部分和偶数部分并求它们的DFT n=[0:20];N=length(n);x=10*0.8.^n;[xev,xod]=circevod(x);subplot(221);stem(n,xev);title('奇部');xlabel('n');ylabel('xev(n)');subplot(222)stem(n,xod);title('偶部');xlabel('n');ylabel('xod(n)');hold onplot(n,zeros(1,N))hold offXkev=dft(xev,N);Xkod=dft(xod,N);Xkse=dft(x,N);12subplot(223);stem(n,real(Xkev));xlabel('n');ylabel('Xkev(k)');title('偶部分的DFT');subplot(224);stem(n,imag(Xkod));xlabel('k');ylabel('Xkod(k)');title('奇部分的DFT');hold onplot(n,zeros(1,N))hold off五、实验扩展与思考1. 编程产生方波信号序列和锯齿波信号序列。