离散实验四
数字信号处理 实验4_离散信号的频域分析
实验四离散信号的频域分析1. 计算序列的DTFT和DFT,观察栅栏效应设)()(4nRnx=,要求用MATLAB实现:(1)计算)(nx的傅里叶变换)(ωj eX,并绘出其幅度谱;(2)分别计算)(nx的4点DFT和8点DFT,绘出其幅度谱。
并说明它们和)(ωj eX的关系。
(提示:DFT变换可用MA TLAB提供的函数fft实现,也可以自己用C语言或matlab 编写)源程序:n1=4;n2=8;n=0:n1-1;k1=0:n1-1;k2=0:n2-1;w=2*pi*(0:2047)/2048;Xw=(1-exp(-j*4*w))./(1-exp(-j*w))xn=[(n>=0)&(n<4)];X1k=fft(xn,n1);X2k=fft(xn,n2);subplot(3,1,1)plot(w/pi,abs(Xw));title('x(n)的傅里叶变换的幅度谱')subplot(3,1,2)stem(k1,abs(X1k))title('4点的DFT[x(n)]=X1(k)的幅度谱')subplot(3,1,3)stem(k2,abs(X2k))title('8点的DFT[x(n)]=X1(k)的幅度谱')实验结果图:由实验结果图可知,X(k)是)(ωj e X 的等间隔采样,采样间隔是2π/N 。
2.计算序列的FFT ,观察频谱泄漏已知周期为16的信号)1612cos()1610cos()(n n n x ππ+=。
(1) 截取一个周期长度M=16点,计算其16点FFT 其频谱,并绘出其幅度谱;(2) 截取序列长度M=10点,计算其16点FFT 其频谱,绘出其幅度谱,并与(1)的结果进行比较,观察频谱泄漏现象,说明产生频谱泄漏的原因。
(1)源程序:T=16;fs=1/T;n=0:15;xn=cos(10*pi/16*n*T)+cos(12*pi/16*n*T);Xk=fft(xn,16)stem(n,abs(Xk))实验结果图:(2)源程序:T=16;fs=1/T;n=0:9;xn=cos(10*pi/16*n*T)+cos(12*pi/16*n*T); Xk1=fft(xn,16)stem(0:15,abs(Xk1))实验结果图:如图,可得出,当截取有限长信号时,频谱不再是单一的频谱,它的能量散布到整个频谱的各处。
离散数学实验报告
“离散数学”实验报告目录一、实验目的 (3)二、实验内容 (3)三、实验环境 (3)四、实验原理和实现过程(算法描述) (3)1、实验原理........................................................................................................2、实验过程.......................................................................................................五、实验数据及结果分析 (13)六、源程序清单 (24)源代码 (24)七、其他收获及体会 (45)一、实验目的实验一:熟悉掌握命题逻辑中的联接词、真值表、主范式等,进一步能用它们来解决实际问题。
实验二:掌握关系的概念与性质,基本的关系运算,关系的各种闭包的求法。
理解等价类的概念,掌握等价类的求解方法。
实验三:理解图论的基本概念,图的矩阵表示,图的连通性,图的遍历,以及求图的连通支方法。
二、实验内容实验一:1. 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。
(A)2. 求任意一个命题公式的真值表(B,并根据真值表求主范式(C))实验二:1.求有限集上给定关系的自反、对称和传递闭包。
(有两种求解方法,只做一种为A,两种都做为B)2. 求有限集上等价关系的数目。
(有两种求解方法,只做一种为A,两种都做为B)3. 求解商集,输入集合和等价关系,求相应的商集。
(C)实验三:以偶对的形式输入一个无向简单图的边,建立该图的邻接矩阵,判断图是否连通(A)。
并计算任意两个结点间的距离(B)。
对不连通的图输出其各个连通支(C)。
三、实验环境C或C++语言编程环境实现。
四、实验原理和实现过程(算法描述)实验一:1.实验原理(1)合取:二元命题联结词。
实验四离散信号频谱分析
实验四 离散信号的频域分析一、 实验目的1. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的Matlab 实现;2.学习用FFT 对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、 实验原理及方法1. 离散非周期信号的谱分析 (1) 序列的傅里叶变换对于满足绝对可和的序列,即∞<∑∞∞-|)(|n x ,其傅里叶变换和反变换的定义为∑∞-∞=-=n nj j en x e X ωω)()( (4.1)ωπωππωd eeX n x nj j ⎰-=)(21)( (4.2)序列)(n x 是离散的,但)(ωj e X 是以π2为周期的ω的连续函数,为了能够在计算机上处理,需要对)(n x 进行截断,对频域进行离散化,近似处理后21()()kk n j j nn n X ex n eωω-==∑(4.3)其中2k k Mπω=,M 是对ω在一个周期内的采样,k 的取值由读者确定,若想观察一个周期内的频谱,0~1k M =-,若观察两个周期,0~21k M =-,以此类推。
序列傅里叶变换的Matlab 实现: n=n1:n2;M=input(…put in the number M=‟); k=0:2*M-1; %观察两个周期X=x*(exp(-j*2*pi/M)).^(n ‟*k);%序列的傅里叶变换 对4()R n 进行序列的傅里叶变换得到图4-1。
图4-1 信号及信号的幅度谱和相位谱(2)离散傅里叶变换(DFT )如果序列)(n x 是有限长的,序列的谱分析可以采用离散傅里叶变换,其定义为:10,)()]([)(10-≤≤==∑-=N k W n x n x DFT k X N n knN(4.4)10,)(1)]([)(1-≤≤==∑-=-N n Wk X Nk X IDFT n x N k kn N(4.5)因为)(n x 与)(k X 都是离散的,所以可以利用计算机进行数值计算。
[整理]matlab离散信号的DFT及其快速算法fft以及ifft
实验四离散信号的DFT及其快速算法一、实验目的1.在学习DFT理论的基础上,通过本实验,加深对FFT的理解,体会二者之间的关系。
2.熟悉应用FFT实现两个序列的线性卷积的方法。
二、实验原理N点序列x[n] 的DFT和IDFT定义:可以用函数U=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。
三、实验内容(n),求N分别取8,32时的X(k),最后绘出图形。
1. x(n)=R5离散傅立叶变换函数的MATLAB实现如下:N=8;x=[ones(1,5),zeros(1,N-5)];n=0:N-1;X=dft(x,N);magX=abs(X);phaX=angle(X)*180/pi;k=(0:length(magX)'-1)*N/length(magX);subplot(2,2,1);stem(n,x);title('x(n)—8点');subplot(2,2,2);stem(k,magX);axis([0,8,0,6]);title('|X(k)|--8点');N=32;x=[ones(1,5),zeros(1,N-5)];n=0:N-1;X=dft(x,N);magX=abs(X);phaX=angle(X)*180/pi;k=(0:length(magX)'-1)*N/length(magX);subplot(2,2,3);stem(n,x);title('x(n)—32点');subplot(2,2,4);stem(k,magX);axis([0,32,0,5]);title('|x(k)|--32点');% dft函数function[Xk]=dft(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;2. 已知一个8点的时域非周期离散阶跃信号,n1=0,n2=7,在n0=4前为0,n0以后为1。
实验四-离散时间系统的频域分析(附思考题程序)
实验四 离散时间系统的频域分析1.实验目的(1)理解和加深傅里叶变换的概念及其性质。
(2)离散时间傅里叶变换(DTFT)的计算和基本性质。
(3)离散傅里叶变换(DFT)的计算和基本性质。
2.实验原理对离散时间信号进行频域分析, 首先要对其进行傅里叶变换, 通过得到的频谱函数进行分析。
离散时间傅里叶变换(DTFT, Discrete-time Fourier Transform)是傅立叶变换的一种。
它将以离散时间nT (其中 , T 为采样间隔)作为变量的函数(离散时间信号)f(nT)变换到连续的频域, 即产生这个离散时间信号的连续频谱 , 其频谱是连续周期的。
211200)()|()()DTFT kw N knTN N i iwT iwnT N n n F e f nT e f nT e 长度为N 的有限长信号x(n), 其N 点离散傅里叶变换为:10()[()]()kn N N n X k DFT x n x n W 。
X(k)的离散傅里叶逆变换为: 。
DTFT 是对任意序列的傅里叶分析, 它的频谱是一个连续函数;而DFT 是把有限长序列作为周期序列的一个周期, 对有限长序列的傅里叶分析, DFT 的特点是无论在时域还是频域都是有限长序列。
3.实验内容及其步骤(1)复习傅里叶变换的定义及其性质, 加深理解。
(2)熟悉离散时间傅里叶变换的概念及其性质。
参考一: 计算离散时间傅里叶变换, 并绘制图形。
已知有限长序列x(n)={1,2,3,4,5}。
n=-1:3;x=1:5;k=0:500;w=(pi/500)*k;X=x*(exp(-j*2*pi/500)).^(n'*k);magX=abs(X);angX=angle(X);realX=real(X);imagX=imag(X);subplot(2,2,1);plot(w/pi,magX);grid;xlabel('');ylabel('模值 ');title('模值部分');subplot(2,2,2);plot(w/pi,angX);grid;xlabel('pi 为单位');ylabel('弧度');title('相角部分');subplot(2,2,3);plot(w/pi,realX);grid;xlabel('');ylabel('实部');title('实部部分');subplot(2,2,4);plot(w/pi,imagX);grid;xlabel('pi为单位');ylabel('虚部');title('虚部部分');参考二: 计算离散时间傅里叶变换。
实验四 利用DFT分析离散信号频谱
数字信号处理及实验实验报告实验题目利用DFT分析离散信号频谱姓名组别班级光电14 学号144320200206 【实验目的】应用离散傅里叶变换(DFT),分析离散信号的频谱。
深刻理解DFT分析离散信号频谱信号频谱的原理,掌握改善分析过程中产生的误差的方法。
【实验原理】根据信号傅里叶变化建立的时域与频域之间的对应关系,可以得到有限序列的离散傅里叶变换(DFT)与4种确定信号傅里叶变换之间的关系,实现由DFT分析其频谱。
【实验结果与数据处理】1、利用FFT分析信号x[k] = cos(3πk/8),k = 0,1,2……,31的频谱:(1)确定DFT计算的参数。
(2)进行理论值与计算值比较,讨论信号频谱分析过程中产生误差的原因及改善方法。
分析:信号的周期T = 16,角频率w=2π/N=π/8。
clc,clear,close allN = 16; k = 0 : N-1;x = cos(3*pi*k/8);X = fft(x,N);subplot(2,1,1);stem(k - N/2,abs(fftshift(X)));ylabel('幅度','fontsize',15);xlabel('频率(rad)','fontsize',15);subplot(2,1,2);stem(k - N/2,angle(fftshift(X)));ylabel('相位','fontsize',15);xlabel('频率(rad)','fontsize',15);2、有限长脉冲序列x[k]= [2,3,3,1,0,5;k = 0,1,2,3,4,5],利用FFT分析其频谱,并绘出其幅度谱与相位谱。
clc,clear,close allN = 6; k = 0 : N-1; w = k-3;x=[2,3,3,1,0,5];X=fft(x,N);subplot(2,1,1);stem(w,abs(fftshift(X)));ylabel('幅度','fontsize',15);xlabel('频率(rad)','fontsize',15);subplot(2,1,2);stem(w,angle(fftshift(X)));ylabel('相位','fontsize',15);xlabel('频率(rad)','fontsize',15);3、某周期序列由3个频率组成:x[k] = cos(7πk/16) + cos(9πk/16) + cos(πk/2),利用FFT分析其频谱。
最新离散数学集合运算C++或C语言实验报告
离散数学实验报告专业班级:12级计算机本部一班姓名:鲍佳珍学号:201212201401016 实验成绩:1.【实验题目】命题逻辑实验四2.【实验目的】掌握用计算机求集合的交、并、差和补运算的方法。
3.【实验内容】编程实现集合的交、并、差和补运算。
4、【实验要求】C或C++语言编程实现5.【算法描述】(1)用数组A,B,C,E表示集合。
假定A={1,3,4,5,6,7,9,10}, B={2,,3,4,7,8,10}, E={1,2,3,4,5,6,7,8,9,10}, 输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。
以下每一个运算都要求先将集合C置成空集。
(2)二个集合的交运算:A⋂B={x|x∈A且x∈B}把数组A中元素逐一与数组B中的元素进行比较,将相同的元素放在数组C 中,数组C便是集合A和集合B的交。
C语言算法:for(i=0;i<m;i++)for(j=0;j<n;j++)if(a[i]= =b[j]) c[k++]=a[i];(3)二个集合的并运算:A⋃B={x|x∈A或x∈B}把数组A中各个元素先保存在数组C中。
将数组B中的元素逐一与数组A中的元素进行比较,把不相同的元素添加到数组C中,数组C便是集合A和集合B 的并。
C语言算法:for(i=0;i<m;i++)c[i]=a[i];for(i=0;i<n;i++){for(j=0;j<m;j++)if(b[i]= =c[j]) break;if(j= =m){ c[m+k]=b[i];k++;}}(4)二个集合的差运算:A-B={x|x∈A且x∉B}将数组A中的元素逐一与数组B中的元素进行比较,把数组A与数组B不同的元素保存在数组C中,数组C便是集合A和集合B的差A-B。
C语言算法:for (j=0;j<m;j++){ for (i=0;i<n;i++){ if (A[j]= =B[i]){ C[k]=A[j];k++;break; }if (j= =n){ C[k]=A[i];k++; } }(5)集合的补运算:~A=B-A={x|x∈B且x∉A}将数组E中的元素逐一与数组A中的元素进行比较,把不相同的元素保存到数组C中,数组C便是集合A关于集合E的补集。
离散信号分析实验报告
一、实验名称离散信号分析实验二、实验目的1. 理解离散信号的基本概念和特点。
2. 掌握离散信号的表示方法,包括时域和频域表示。
3. 熟悉离散信号的基本运算,如加、减、乘、除等。
4. 理解离散系统响应的概念,并学会使用MATLAB进行离散信号与系统分析。
三、实验原理离散信号是指只在离散时刻上有定义的信号,其特点是时域上的不连续性。
离散信号可以通过时域采样和频域变换进行分析。
四、实验内容1. 离散信号的生成与表示使用MATLAB生成以下离散信号:- 单位脉冲序列:δ[n]- 单位阶跃序列:u[n]- 单位斜坡序列:r[n]- 正弦信号:sin(nω0)- 指数信号:e^(αn)并分别绘制这些信号的时域波形图。
2. 离散信号的运算对上述生成的信号进行以下运算:- 加法运算:δ[n] + u[n]- 乘法运算:δ[n] e^(αn)- 移位运算:δ[n - 1]- 反褶运算:δ[-n]绘制运算结果的时域波形图。
3. 离散系统响应假设离散系统由以下差分方程描述:y[n] = x[n] + x[n - 1] - y[n - 1]使用MATLAB编写程序,对输入信号x[n] = δ[n] 进行仿真,并绘制系统响应y[n] 的时域波形图。
4. 离散信号的频域分析对上述生成的信号进行傅里叶变换,得到其频域表示。
绘制信号的频谱图,并分析信号的频率特性。
五、实验步骤1. 使用MATLAB编写程序,生成上述离散信号。
2. 绘制信号的时域波形图。
3. 对信号进行运算,绘制运算结果的时域波形图。
4. 使用MATLAB编写程序,对输入信号进行仿真,并绘制系统响应的时域波形图。
5. 对信号进行傅里叶变换,绘制信号的频谱图。
六、实验结果与分析1. 离散信号的生成与表示通过实验,我们成功生成了上述离散信号,并绘制了它们的时域波形图。
可以看出,这些离散信号在时域上是不连续的。
2. 离散信号的运算通过实验,我们验证了离散信号的基本运算规律,如加法、乘法、移位和反褶等。
离散分析实验报告
一、实验目的1. 理解离散信号与系统的基本概念,熟悉离散信号与系统的特点。
2. 掌握离散信号与系统的分析方法,包括时域分析、频域分析、Z变换分析等。
3. 熟悉MATLAB软件在离散信号与系统分析中的应用,提高运用MATLAB进行实验的能力。
二、实验原理1. 离散信号与系统离散信号是指在一定时间间隔内取有限个值的信号,通常用离散时间序列表示。
离散系统是指输入输出均为离散信号的系统。
2. 离散信号与系统的分析方法(1)时域分析:通过观察信号在时域内的变化规律,分析系统的稳定性和时域特性。
(2)频域分析:通过将信号和系统从时域转换为频域,分析系统的频率响应和频谱特性。
(3)Z变换分析:将离散信号和系统从时域转换为Z域,分析系统的传递函数和频率响应。
三、实验内容1. 离散信号的时域分析(1)输入信号:f(n) = cos(2πn/3) + 0.5sin(4πn/3),n = 0, 1, 2, ..., 15。
(2)MATLAB代码:```n = 0:15;f = cos(2pin/3) + 0.5sin(4pin/3);plot(n, f);xlabel('n');ylabel('f(n)');title('离散信号时域分析');```2. 离散系统的时域分析(1)输入信号:f(n) = cos(2πn/3) + 0.5sin(4πn/3),n = 0, 1, 2, ..., 15。
(2)系统函数:H(z) = (z^2 + 0.5z - 0.25) / (z^3 + 0.75z^2 + 0.25z)。
(3)MATLAB代码:```n = 0:15;f = cos(2pin/3) + 0.5sin(4pin/3);h = (z^2 + 0.5z - 0.25) / (z^3 + 0.75z^2 + 0.25z);y = filter(h, 1, f);plot(n, f, 'b-', n, y, 'r--');xlabel('n');ylabel('f(n), y(n)');title('离散系统时域分析');```3. 离散信号的频域分析(1)输入信号:f(n) = cos(2πn/3) + 0.5sin(4πn/3),n = 0, 1, 2, ..., 15。
离散数学实验
实验一油管铺设
实验准备
最小生成树问题,求最小生成树的Prim算法
实验目的
运用最小生成树思想和求最小生成树程序解决实际问题
实验过程
八口海上油井相互间距离如下表,其中1号井离海岸最近,为5km。
问从海岸经1号井铺设油管把各井连接起来,怎样连油管长度最短(为便于检修,油管只准在油井处分叉)?
实验二最短路问题
实验准备
图的邻接矩阵,求最短路的Dijkstra算法
实验目的
运用最短路思想和求最短路程序解决实际问题
实验过程
某建筑公司签订了一项合同,要为一家制造公司建造一座新的加工厂。
合同规定工厂的完工期限为12个月。
要是工厂不能在一年内完工,就要赔款,因此建筑公司认真分析,找出建筑工厂必须完成的各道工序和这些工序之间的先后关系,并估计出它们延续的时间,如下表所示。
为建筑公司制定工程完工计划提供理论依据。
实验三中国邮递员问题
实验准备
欧拉图,中国邮递员问题(G是欧拉图;G不是欧拉图:G正好有两个奇次顶点,G有2n 个奇次顶点n≥2)
实验目的
通过程序实现中国邮递员问题,强化其基本思想和实际应用
实验过程
针对下图所示加权图G,给出中国邮递员问题的解决方案。
实验四旅行推销商问题
实验准备
哈密顿图,旅行推销商问题
实验目的
通过程序实现旅行推销商问题,强化其基本思想和实际应用,并初步了解NP-难题。
实验过程
自拟一加权连通图,求出具有充分小权的哈密顿回路。
实验四 利用离散傅立叶变换(DFT)分析信号的频谱
实验四 利用离散傅立叶变换(DFT )分析信号的频谱一、实验目的1、通过这一实验,能够熟练掌握快速离散傅里叶变换(FFT )的原理及其用FFT 进行频谱分析的基本方法。
2、在通过计算机上用软件实现FFT 及信号的频谱分析。
3、通过实验对离散傅里叶变换的主要性质及FFT 在数字信号处理中的重要作用有进一步的了解。
二、实验原理1、离散傅里叶变换(DFT )及其主要性质DFT 表示离散信号的离散频谱,DFT 的主要性质中有奇偶对称特性,虚实特性等。
通过实验可以加深理解。
例如:实序列的DFT 具有偶对称的实部和奇对称的虚部,这可以证明如下: 由定义∑-==10)()(N n kn NW n x k X ∑∑-=-=-=1010)2sin()()2cos()(N n N n kn N n x j kn N n x ππ ∑-=-=-10)()()(N n n k N N W n x k N X∑-=-=10)(N n kn N Nn W W n x ∑-=-=10)(N n kn N W n x ∑∑-=-=+=1010)2sin()()2cos()(N n N n kn N n x j kn N n x ππ )(*)(k N X k X -=∴实序列DFT 的这个特性,在本实验中可以通过实指数序列及三角序列看出来。
对于单一频率的三角序列来说它的DFT 谱线也是单一的,这个物理意义我们可以从实验中得到验证,在理论上可以推导如下: 设:)()2sin()(n R n N n x N π=,其DFT 为: ∑-=-=102)()(N n kn N j en x k X π kn Nj N n e n N ππ210)2sin(--=∑= kn N j N n n N j n N j e e e j πππ21022)(21--=-∑-= ∑-=+----=10)1(2)1(2)(21N n k n N j k n N j e e j ππ 从而∑-=-=-=10220)(21)0(N n n N j n N j e e j X ππ∑-=--==-=10422)1(21)1(N n n N j N j j N e j X π 0)2(=X0)2(=-N X22)(21)1(102)2(2N j j N e e j N X N n n j n N N j =-=-=-∑-=--ππ以上这串式中)0(X 反映了)(n x 的直流分量,)1(x 是)(n x 的一次谐波,又根据虚实特性)1()1(*X N X =-,而其它分量均为零。
离散信号的运算实验报告
一、实验目的1. 理解离散信号的基本概念及其运算规则。
2. 掌握MATLAB在离散信号运算中的应用。
3. 通过实验,验证离散信号运算的基本原理和规律。
二、实验原理离散信号是指在一定时间间隔上取值的信号,其特点是时间离散、幅度连续。
在数字信号处理中,离散信号运算主要包括信号的时域运算、频域运算和变换运算。
三、实验设备与软件1. 实验设备:计算机、MATLAB软件2. 实验数据:常用离散信号数据四、实验内容与步骤1. 信号生成(1)利用MATLAB内置函数生成常用离散信号,如单位脉冲序列、单位阶跃序列、正弦序列等。
(2)绘制信号的波形图,观察信号的时域特性。
2. 时域运算(1)信号相加与相减:将两个离散信号进行相加或相减,观察运算结果。
(2)信号移位:将离散信号进行左移或右移,观察运算结果。
(3)信号反转:将离散信号进行反转,观察运算结果。
(4)信号尺度变换:将离散信号进行尺度变换,观察运算结果。
3. 频域运算(1)快速傅里叶变换(FFT):将离散信号进行FFT变换,观察频谱特性。
(2)频域相乘与相加:将两个离散信号的频谱进行相乘或相加,观察运算结果。
4. 变换运算(1)离散余弦变换(DCT):将离散信号进行DCT变换,观察变换结果。
(2)离散正弦变换(DST):将离散信号进行DST变换,观察变换结果。
五、实验结果与分析1. 信号生成(1)通过MATLAB生成单位脉冲序列、单位阶跃序列、正弦序列等,绘制波形图,观察信号特性。
(2)分析不同信号的特点,如单位脉冲序列的冲击特性、正弦序列的周期特性等。
2. 时域运算(1)信号相加与相减:将两个离散信号进行相加或相减,观察运算结果,验证运算规则。
(2)信号移位:将离散信号进行左移或右移,观察运算结果,验证移位规则。
(3)信号反转:将离散信号进行反转,观察运算结果,验证反转规则。
(4)信号尺度变换:将离散信号进行尺度变换,观察运算结果,验证尺度变换规则。
3. 频域运算(1)快速傅里叶变换(FFT):将离散信号进行FFT变换,观察频谱特性,验证FFT原理。
实验四 离散时间信号与系统分析
实验四离散时间信号与系统分析实验四离散时间信号与系统分析一、实验目的1、理解离散信号及系统的时频域分析方法2、掌握Matlab进行信号的卷积、z变换及逆z变换的方法。
3、掌握Matlab进行离散系统时频域的分析方法二、实验时数:2学时三、实验相关知识(一)离散信号的卷积利用函数(,)可以计算离散信号的卷积和,c conv a b即c(n)=a(n)*b(n),向量c长度是a,b长度之和减1。
若a(n)对应的n的取值范围为:[n1, n2];b(n)对应的n的取值范围为:[n3, n4],则c(n)=a(n)*b(n)对应的n的取值范围为:[n1+n3, n2+n4]。
例4-1:已知两序列:x(k)={1,2,3,4,5;k=-1,0,1,2,3},y(k)={1,1,1;k=-1,0,1},计算x(k)*y(k),并画出卷积结果。
解:利用conv()函数进行离散信号的卷积,注意卷积信号的k 值范围k_x = -1:3;x=[1,2,3,4,5];k_y = -1:1;y=[1,1,1];z=conv(x,y);k_z= k_x(1)+k_y(1):k_x(end)+k_y(end); stem(k_z,z);(二)离散信号的逆z 变换离散序列的z 变换通常是z 的有理函数,可表示为有理分式的形式,因此可以现将X(z)展开成一些简单而常用的部分分式之和,然后分别求出各部分分式的逆变换,把各逆变换相加即可得到X(z)的逆变换x(n)。
设离散信号的z 变换式如下,120121212()()1()m m n n b b z b z b z num z X z a z a z a z den z ------++++==++++在Matlab 中进行部分分式展开的函数为residuez (),其调用形式如下:[r,p,k] = residuez(num,den)其中num=[b0, b1, …, bm]表示X(z)有理分式的分子多项式为12012m m b b z b z b z ---++++;den=[a0, a1, …, am]表示X(z)有理分式的分母多项式为12012m m b b z b z b z ---++++,注意分子分母多项式均为按z -1的降幂排列的多项式,缺项应补零。
离散数学实验报告
实验一命题逻辑推理1.实验用例根据下面的命题,试用逻辑推理方法确定谁是作案者,写出推理过程。
(1)营业员A或B偷了手表;(2)若A作案,则作案不在营业时间;(3)若B提供的证据正确,则货柜末上锁;(4)若B提供的证据不正确,则作案发生在营业时间;(5)货柜上了锁。
2.实验目的加深对命题逻辑推理方法的理解。
3.实验内容用命题逻辑推理的方法解决逻辑推理问题。
4.实验原理和方法(1)符号化上面的命题,将它们作为条件,营业员A偷了手表作为结论,得一个复合命题。
(2)将复合命题中要用到的联结词定义成C语言中的函数,用变量表示相应的命题变元。
将复合命题写成一个函数表达式。
(3)函数表达式中的变量赋初值1。
如果函数表达式的值为1,则结论有效,A偷了手表,否则是B偷了手表。
用命题题变元表示:A:营业员A偷了手表B:营业员B偷了手表C:作案不在营业时间D:B提供的证据正确E:货柜末上锁则上面的命题符号化为 (A||B) && (!A||C) && (!D||E) && (D||!C) && !E 要求找到满足上面式子的变元A,B的指派便是结果。
5.实验代码6.实验结果B偷了手表实验二关系的运用1.实验原理和方法在三种闭包中自反和对称闭包的求解很容易,对矩阵表示的关系,其自反闭包只要将矩阵的主对角线全部置为1就可;对称闭包则加上关系的转置矩阵(逻辑加法)2.实验代码5.实验结果1.自反闭包2.传递闭包3.对称闭包实验三图论1.实验用例如下图所示的赋权图表示某七个城市及预先算出它们之间的一些直接通信成路造价(单位:万元),试给出一个设计方案,使得各城市之间既能够通信又使总造价最小并计算其最小值.2实验原理和方法为了求解最小代价,使花费的总代价最小,这是数学中经典的求解最小耗费生成树的算法。
其核心思想是寻找每一步的最优解继而求得全局最优解。
为了求得最小耗费生成树,我们运用数学中经典的Krusal算法,此算法的核心思想是:1、假设该图G是不连通的,对该图的边以非降序权重新排列2、对于排序表中的每条边,如果现在把它放入T不会形成回路的话,则把它加入到生成树T中;否则丢弃3、输出最小生成树的结果,得到我们想要的答案因而最后求得的最小耗费是:此时的最小耗费是:23+1+4+9+3+17=57(万元)实验四最优二叉树在通信编码中的应用1.实验内容输入一组通信符号的使用频率,求各通信符号对应的前缀码。
大连理工大学 信号与系统实验4 离散时间LIT系统分析 实验报告
大连理工大学实验报告学院(系):电信专业:电子信息工程班级:姓名:学号:组: 实验时间:实验室:创新园C221 实验台: 指导教师签字:成绩:实验四:离散时间LIT 系统分析一、实验结果与分析1.试用MATLAB 命令求解以下离散时间系统的单位冲激响应。
(1)[][][][][]34121y n y n y n x n x n +-+-=+-(2)[][][][]5611022y n y n n x n +-+-= 解:(1)a =[3 4 1];b=[1 1]; n=0:30;impz(b,a,30),grid ontitle('系统单位冲激响应h(n)')(2)a=[2.5 6 10];b=[1]; n=0:30;impz(b,a,30),grid ontitle('系统单位冲激响应h(n)')2.已知某系统的单位冲激响应为[][][]{}7108nh n u n u n ⎛⎫=-- ⎪⎝⎭,试用MATLAB 求当激励信号为[][][]5x n u n u n =--时系统的零状态响应。
解:定义函数conv_m 如下:function [y,ny]=conv_m(x,nx,h,nh)ny1=nx(1)+nh(1);ny2=nx(length(x))+nh(length(h)); ny=[ny1:ny2]; y=conv(x,h) 主程序: nx=-1:6; nh=-2:12;x=heaviside(nx)- heaviside (nx-5);h=(7/8).^nh.*( heaviside (nh)- heaviside (nh-10)); [y,ny]=conv_m(x,nx,h,nh); subplot(311)stem(nx,x,'fill'),grid on xlabel('n'),title('x(n)') axis([-4 16 0 3]) subplot(312)stem(nh,h','fill'),grid on xlabel('n'),title('h(n)') axis([-4 16 0 3]) subplot(313)stem(ny,y,'fill'),grid onxlabel('n'),title('y(n)=x(n)*h(n)') axis([-4 16 0 3])3.试用MATLAB 画出下列因果系统的系统函数零极点分布图,并判断系统的稳定性。
自动控制原理 实验四+五+离散系统实验 实验报告
《自控原理实验报告》实验名称:实验四+五+离散系统仿真实验实验4:频率特性法的计算机研究实验4中系统的开环传递函数为G(s)=在Matlab仿真中得到的图像如下所示单位阶跃响应单位阶跃响应的误差变化开环传递函数波特图奈奎斯特曲线图对数幅相特性图(Nichols图)1、幅相曲线起点与积分环节个数的关系、终点与分子分母阶次数的关系。
最小相位系统的幅相曲线的起点与积分环节和微分环节的个数有关,当不含积分环节而存在微分环节的时候,幅相曲线的起点位于原点。
当不含积分环节和微分环节的时候,幅相曲线的起点位于实轴正半轴。
当存在积分环节的时候,幅相曲线的起点位于无穷远处,且相角为-(积分环节的个数)*90°。
最小相位系统的幅相曲线的终点与子分母阶次数有关。
设分母阶次为n,分子的阶次为m。
当n=m的时候,幅相曲线的终点位于实轴正半轴。
当n>m的时候,幅相曲线的终点位于原点,且以-(n-m)*90°的角度进入。
2、Bode图中对数幅频与对数相频变化的关系。
对数幅频是传递函数频率特性的幅值,对数相频是传递函数频率特性的相角。
两者之间的联系在于传递函数的频率特性。
3、考察非最小相位系统以上关系是否成立?对于非最小相位系统上述结论不成立。
实验5:PID控制实验5中系统的开环传递函数为G(s)=在Matlab Simulink中设计的系统如下所示以下开始调节PID对应的参数来观察比例,积分,微分三种控制作用对输出的影响1、比例控制实验图像附在结论后。
结论:比例控制作用原理是即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用以减小误差。
当偏差e=0时,控制作用也为0。
因此,比例控制是基于偏差进行调节的,即有差调节。
在图像中可见随着比例系数的增加,系统的超调量不断增加,调节时间也不断变长,上升时间则在逐渐减小。
当比例系数增大到一定程度后,系统的动态响应曲线则由收敛过度到等幅震荡。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
离散数学实验报告
专业班级:13医学信息工程1班姓名:林英譞学号:201312203501015 实验成绩:
1.【实验题目】
集合运算
2.【实验目的】
掌握用计算机求集合的交、并、差和补运算的方法。
3.【实验内容】
编程实现集合的交、并、差和补运算。
4. 【实验要求】
用数组A,B,C,E表示集合。
假定A={1,3,4,5,6,7,9,10},
B={2,,3,4,7,8,10}, E={1,2,3,4,5,6,7,8,9,10}, 输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。
以下每一个运算都要求先将集合C置成空集。
二个集合的交运算:A⋂B={x|x∈A且x∈B}
二个集合的并运算:A⋃B={x|x∈A或x∈B}
二个集合的差运算:A-B={x|x∈A且x∉B}
集合的补运算:~A=E-A={x|x∈E且x∉A}
5. 【算法描述】
**************************************************************** 请分别输入集合A与集合B的元素:
请选择(1—5)要进行的集合运算:
1.集合的交运算(A⋂B)
2.集合的并运算(A⋃B)
3.集合的差运算(A-B)
4.集合的补运算(~A=E-A)
5.继续/退出(y/n)
****************************************************************
6. 【源程序(带注释)】
#include<stdio.h>
#include<string.h>
#include<iostream.h>
int jisuan(){
printf("***************************************************** ***********\n");
printf("请分别输入集合A与集合B的元素:\n");
int a[100],b[100],c[100],e[100],i,j,k,m,n,key;
char x;
printf("输入A集合的元素个数和各元素的值:\n");
scanf("%d",&m);
for(i=0;i<m;i++){
scanf("%d",&a[i]);
}
printf("输入B集合的元素个数和各元素的值:\n");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("请选择(1-5)要进行的集合运算:\n");
printf("1.集合的交运算(A^B)\n");
printf("2.集合的并运算(AUB)\n");
printf("3.集合的差运算(A-B)\n");
printf("4.集合的补运算(~A=E-B)\n");
printf("5.继续\退出(y/n)\n");
printf("***************************************************** ***********\n");
scanf("%d",&key);
if(key==1){
k=0;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
if(a[i]==b[j]) c[k++]=a[i];
}
}
for(i=0;i<k;i++)cout<<c[i]<<" ";
cout<<endl;
}
else if(key==2){
k=0;
for(i=0;i<m;i++)
c[i]=a[i];
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
if(b[i]==c[j]) break;
if(j==m){
c[m+k]=b[i];k++;
}
}
for(i=0;i<k;i++)cout<<c[i]<<" ";
cout<<endl;
}
else if(key==3){
for (j=0;j<m;j++)
{ for (i=0;i<n;i++)
{ if (a[j]==b[i])
{ c[k]=a[j];
k++;
break;
}
if (j==n)
{
c[k]=a[i];
k++;
}
}
}
for(i=0;i<k;i++)cout<<c[i]<<" ";
cout<<endl;
}
else if(key==4){
k=0;
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{ if (e[i]==a[j])
break; }
if (j==n)
{ c[k]=e[i];
k++;
}
}
for(i=0;i<k;i++)cout<<c[i]<<" ";
cout<<endl;
}
if(key==5){
cin>>x;
if(x=='y')return jisuan();
else return 0;
}
return 1;
}
int main()
{
while(1){
if(jisuan()==0)break;
}
return 0;
}
7.【实验结果与分析总结(含运行结果截图)】。