表示信号与系统的MATLAB函数
信号与系统matlab实验及答案
产生离散衰减正弦序列()π0.8sin 4n x n n ⎛⎫= ⎪⎝⎭, 010n ≤≤,并画出其波形图。
n=0:10;x=sin(pi/4*n).*0.8.^n;stem(n,x);xlabel( 'n' );ylabel( 'x(n)' );用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。
观察并分析a 和0t 的变化对波形的影响。
t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=2;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1s f T=表示抽样频率,即单位时间内抽取样值的个数。
抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。
请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。
可能用到的函数为plot, stem, hold on 。
fs = 40;t = 0 : 1/fs : 1 ;% ƵÂÊ·Ö±ðΪ5Hz,10Hz,20Hz,30Hz f1=5;xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;plot(t, xa) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('t(s)') ;ylabel('Xa(t)') ;line([0, max(t)],[0,0]) ; subplot(1, 2, 2) ;stem(t, xa, '.') ;line([0, max(t)], [0, 0]) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('n') ;ylabel('X(n)') ;频率越高,图像更加密集。
matlab软件仿真实验(信号与系统)(1)
matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、MATLAB 基本应⽤实验⼆信号的时域表⽰实验三、连续信号卷积实验四、典型周期信号的频谱表⽰实验五、傅⽴叶变换性质研究实验六、抽样定理与信号恢复实验⼀MATLAB 基本应⽤⼀、实验⽬的:学习MATLAB的基本⽤法,了解 MATLAB 的⽬录结构和基本功能以及MATLAB在信号与系统中的应⽤。
⼆、实验内容:例⼀已知x的取值范围,画出y=sin(x)的图型。
x=0:0.05:4*pi;y=sin(x);plot(y)例⼆计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,⽤subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
matlab中lsim函数
matlab中lsim函数Matlab中的lsim函数是一个用于实现线性系统的仿真和响应分析的重要工具。
该函数可以模拟线性系统对特定输入信号的时间和频率域响应,并提供了对系统的稳定性、阶跃响应、频率响应等多个方面的分析功能。
在本文中,我将逐步回答关于lsim函数的使用和功能的问题。
第一步:导入lsim函数为了使用lsim函数,首先要在Matlab中导入信号处理工具箱。
可以通过以下命令导入信号处理工具箱:matlab>> clear all>> clc>> addpath('your_toolbox_path') 替换为信号处理工具箱的路径第二步:理解lsim函数的基本语法lsim函数的基本语法如下:matlaby = lsim(sys, u, t)其中,- sys是一个线性系统模型,可以用传递函数形式或状态空间模型表示。
- u是输入信号,可以是一个列向量或一个矩阵。
- t是时间向量,指定系统的采样点。
第三步:使用lsim函数进行线性系统的响应分析假设我们有一个传递函数形式的线性系统:matlabsys = tf([1],[1, 2, 1]);然后,我们定义一个脉冲输入信号,并创建一个时间向量:matlabt = 0:0.1:10;u = zeros(size(t));u(t>=1 & t<=3) = 1;接下来,我们可以使用lsim函数进行系统的响应分析,并绘制输出响应的图像:matlaby = lsim(sys, u, t);plot(t, y);xlabel('Time');ylabel('Output');title('System Response to Pulse Input');第四步:改变系统模型和输入信号在lsim函数中,我们可以使用不同的系统模型和输入信号来模拟不同的情况。
熟悉MATLAB软件的相关函数的使用方法、各种信号的时域波形
熟悉MATLAB软件的相关函数的使⽤⽅法、各种信号的时域波形实验⽬的:熟悉MA TLAB 软件的相关函数的使⽤⽅法、各种信号的时域波形。
实验内容:1、⽤MA TLAB 软件绘制各类典型信号的时域波形并且给出程序源代码。
(1)指数信号、指数序列;(2)单位阶跃函数、单位阶跃序列;(3)单位脉冲信号;单位抽样序列;(4)矩形信号,矩形序列信号,矩形宽度⾃定;(5)正弦信号、正弦序列,其中振幅和频率⾃选; 2、假设存在⼀个单边离散指数序列][n s ,参数⾃选; ][n d 为随机噪声,⽅差和均值⾃选;绘制][n s ,][n d 和][][][n d n s n x +=的图形3、绘制你所采集的电信号的时域波形(部分即可),进⾏必要的说明和分析4、选作提⾼:编写⼀个程序,运⾏后可以在键盘上依次任意输⼊两个序列,计算两个序列的线性卷积,并输出计算结果。
(相关函数:input , conv )实现⽅案:(1)指数信号、指数序列1、指数信号分为实指数信号和复指数信号,其中实指数信号的基本形式为 atKe =f(t)。
其中,K 、a 为实数。
当a>0时,实指数信号随时间按指数式增长;当a<0时,实指数信号随时间按指数式衰减;当a=0时,实指数信号不随时间变化,转化为直流信号。
MATLAB 中⽤exp 函数来表⽰实指数信号,语句表⽰为 y=K*exp(a*t).下⾯⽤MA TLAB 命令产⽣单边递增指数信号)(32t u e t ,当0<=t<=5的波形图。
MATLAB 源程序为:K=3;a=2; t=0:0.01:5; y=K*exp(a*t); plot(t,y),grid on程序运⾏后,产⽣如下图所⽰的波形。
2、复指数信号复指数信号的基本形式为)sin()cos()()(t jKe t Ke Ke Ke t f t t j st ωωσσωσ+===+其中,ωσj s += 是复变量;σ、ω为实数。
信号与系统——精选推荐
第二章 MATLAB方法实现信号波形1.用MATLAB生成门函数g2(t)解:为生成门函数g2(t),可以直接调用,MATLAB中专门的stairs的绘图命令。
程序如下:Untitled1.m:t=-2:2; %定义时间范围向量%x=((t>=-1)-(t>=1)); %g2(t)对应的时间向量%stairs(t,x); %绘图g2(t)%axis([-2,2,-0.1,1.2]); %给出图形的坐标限%title('g2(t)'); %加注波形标题%运行结果如图所示:2.用MATLAB生成f(t)=g2(t)cos10∏t解:在这个题中可以调用前面的g2(t)门函数的程序,当然也可以重新编写函数。
程序如下:syms t; %定义变量%g=heaviside(t+1)-heaviside(t-1); %定义g%f=g*cos(10*pi*t); %计算f%ezplot(f,[-2,2]); %绘图并限定坐标范围%xlabel('t'),ylabel('f(t)'),title('f(t)=g(t)cos 10πt'); %标注坐标和名称%运行结果如图所示:已知微分方程用MATLANB方法求解阶跃响应解:程序如下:yzs = dsolve('D2y+3*Dy+2*y=1','y(0)=0,Dy(0)=0'); %计算% ezplot(yzs); %绘图%axis([0,8,0,0.5]); %给出图形的坐标限%运行结果:yzs=1/2+1/2*exp(-2*t)-exp(-t)如图所示:试求周期门函数的频谱图。
设门函数脉宽t=1,周期T=6.解:本题在于求解周期门函数的频域图和幅度谱图,程序如下:syms t n T tao A; %定义变量%T = 6;A=1;tao=1; %对变量赋值%f=A*exp(-i*n*2*pi/T*t); %计算被积函数%fn=int(f,t,-tao/2,tao/2)/T; %计算傅里叶系数%fn=simple(fn); %化简%n=[-24:-1,eps,1:24]; %给定频谱的整数自变量,eps代表0%fn=subs(fn,n,'n'); %计算傅里叶系数对应各个n的值%subplot(2,1,1),stem(n,fn,'filled'); %绘制频谱%line([-20 20],[0 0]); %给出图形的坐标限%title('周期矩形脉冲的频谱'); %加注波形标题%subplot(2,1,2),stem(n,abs(fn),'filled'); %绘制频谱%title('周期矩形脉冲的幅度谱'); %加注波形标题%axis([-24,24,0,0.3]); %给出图形的坐标限%运行结果如图所示:第五章 MATLAB方法用于复频域分析求反变换解:通过拉普拉斯反变换的专门的指令进行操作。
信号与系统MATLAB常见信号的表示及运算
信号与系统——实验指导实验一 常见信号的表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2. 掌握用matlab软件产生基本信号的方法.3. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。
二、实验原理1. 信号的表示方法● 常用信号:连续函数()θω+=t t f sin )(, at Ae t f =)(,ttt Sa sin )(= 离散信号()n n f 0sin )(ω=,njw e n f 0)(=,)()(n u a n f n =● 奇异信号:连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n fm f n g )()()(21三、实验要求1.预习实验原理;2.对实验内容编写程序(M文件),上机运行;3.绘出运算或变换后信号的波形.四.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。
图1 matlab工作环境(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。
其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。
程序的运行也可以在命令窗口进行。
程序调试的信息显示在命令窗口。
(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。
图2 M文件编辑器(4) 在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。
如果所定义的是函数文件,则要求函数名为M文件名。
matlab单位冲激信号 信号与系统
【文章标题】探讨MATLAB单位冲激信号在信号与系统中的重要性一、引言在信号与系统的学习中,MATLAB单位冲激信号是一个非常重要的概念。
本文将探讨MATLAB单位冲激信号的定义、性质和在信号与系统中的应用,帮助读者更好地理解这一概念。
二、MATLAB单位冲激信号的定义MATLAB单位冲激信号通常用dirac函数来表示,其数学表达式为δ(t)。
它在t=0时为无穷大,其他时刻均为0。
这意味着在时刻t=0时,信号强度突然增加到无穷大,然后立即恢复为0。
这种极窄的脉冲信号在信号与系统中有着重要的作用。
三、MATLAB单位冲激信号的性质1. 面积为1:MATLAB单位冲激信号在任意时刻的面积都为1,这是其非常重要的性质之一。
2. 位移不变性:MATLAB单位冲激信号具有位移不变性,即δ(t-T)表示在时刻T产生一个单位冲激信号。
3. 线性性:与其他信号一样,MATLAB单位冲激信号也具有线性性,满足叠加原理。
四、MATLAB单位冲激信号在系统中的应用1. 系统冲激响应的计算:在信号与系统中,单位冲激信号常用于计算系统的冲激响应。
通过输入单位冲激信号,可以得到系统的冲激响应,从而了解系统的特性和行为。
2. 系统的频率响应:MATLAB单位冲激信号还可以用于计算系统的频率响应,通过傅里叶变换可以得到系统的频率特性,包括幅频特性和相频特性。
3. 系统的稳定性分析:通过单位冲激响应可以分析系统的稳定性,包括判断系统的稳定性和研究系统的阶数。
五、个人观点和理解在我看来,MATLAB单位冲激信号是信号与系统领域中至关重要的概念,它不仅在理论分析上有着重要作用,还在实际工程中有着广泛的应用。
掌握好单位冲激信号的性质和应用,对于深入理解信号与系统的原理和方法非常重要。
六、总结通过本文的探讨,我们对MATLAB单位冲激信号在信号与系统中的重要性有了更深入的了解。
我们了解了单位冲激信号的定义、性质和在系统中的应用,以及个人观点和理解。
matlab常用函数(信号与系统)
MATLAB 信号处理常用函数【一】、波形产生函数名功能sawtooth 产生锯齿波或三角波Sinc 产生sinc或函数sin(pi*t)/(pi*t)Square 产生方波Diric 产生Dirichlet或周期sinc函数【二】、滤波器分析和实现函数名功能Abs 求绝对值(幅值)Freqs 模拟滤波器频率响应Angle 求相角Freqspace 频率响应中的频率间隔Conv 求卷积Freqz 数字滤波器频率响应Fftfilt 重叠相加法FFT滤波器实现Grpdelay 平均滤波器延迟(群延迟)Filter 直接滤波器实现Impz 数字滤波器的冲激响应Filtfilt 零相位数字滤波Zplane 离散系统零极点图Filtie Filter 函数初始条件选择【三】、线性系统变换函数名功能Convmtx 卷积矩阵Ss2tf 变系统状态空间形式为传递函数形式Ploy2rc 从多项式系数中计算反射系数Ss2zp 变系统状态空间形式为零极点增益形式Rc2ploy 从反射系数中计算多项式系数Tf2ss 变系统传递函数形式为状态空间形式Residuez Z变换部分分式展开或留数计算Tf2zp 变系统传递函数形式为零极点增益形式Sos2ss 变系统二阶分割形式为状态空间形式Zp2sos 变系统零极点形式为二阶分割形式Sos2zp 变系统二阶分割形式为零极点增益形式Zp2tf 变系统零极点增益形式为传递函数形式Ss2sos 变系统状态空间形式为二阶分割形式【四】、IIR滤波器设计Besself Bessel(贝塞尔)模拟滤波器设计Cheby2 Chebyshev(切比雪夫)II型模拟滤波器设计Butter Butterworth(巴特沃思)模拟滤波器设计Ellip 椭圆模拟滤波器设计Cheby1 Chebyshev(切比雪夫)I 型模拟滤波器设计Yulewalk 递归数字滤波器设计【五】、IIR滤波器阶选择Buttord Butterworth(巴特沃思)滤波器阶的选择Cheb2ord Chebyshev(切比雪夫)II型滤波器阶的选择Ehebord Chebyshev(切比雪夫)I 型滤波器阶的选择Clipord 椭圆滤波器设计阶的选择模拟原型滤波器设计Besselap Bessel模拟低通滤波器原型Cheb2ap Chebyshev(切比雪夫)II型低通滤波器原型Buttap Butterworth(巴特沃思)模拟低通滤波器原型Ellipap 椭圆模拟低通滤波器原型Cheb1ap Chebyshev(切比雪夫)I 型低通滤波器原型【六】、频率变换Lp2bp 低通到带通模拟滤波器转换Lp2bs 低通到带阻模拟滤波器变换Lp2hp 低通到高通模拟滤波器变换Lp2lp 低通到低通模拟滤波器转换【七】、滤波器离散化Blinear 双线性变换Impinvar 冲激响应不变法【八】、FIR滤波器设计Fir1 基于窗函数的FIR 滤波器设计—标准响应Intfilt 内插FIR滤波器设计Fir2 基于窗函数的FIR 滤波器设计—任意响应RemezFirls 最小二乘FIR滤波器设计Remezord Parks-McCellan 最优FIR 滤波器j阶估计【九】、窗函数Boxcar 矩形窗Hanning Hanning(汉宁)窗Triang 三角窗Blackman Blackman(布莱克曼)窗Bartlett Bartlett(巴特得特)窗Chebwin Chebyshev(切比雪夫)窗Hamming Hamming(汉明)窗Kaiser Kaiser(凯泽)窗【十】、变换Ctz 线性调频Z变换Fft 一维快速傅里叶变换Dct 离散余弦变换Ifft 一维快速傅里叶逆变换Idct 逆离散余弦变换Fftshift 重新排列fft的输出Dftmtx 离散傅里叶变换矩阵Hilbert Hilbert(希尔伯特)变换【十一】、统计信号处理Cov 协方差矩阵Psd 信号功率谱密度(PSD)估计Xcov 互协方差函数估计Tfe 从输入输出中估计传递函数Corrcoef 相关系数矩阵Periodogram 采用周期图法估计功率谱密度Xcoor 互相关系数估计Pwelch 采用Welch方法估计功率谱密度Cohere 相关函数平方幅值估计Rand 生成均匀分布的随机数Csd 互谱密度估计Randn 生成正态分布的随机数【十二】、自适应滤波器部分Adaptfilt.lms 最小均方(LMS)自适应算法Adaptfilt.rls 递推最小二乘(RLS)自适应算法Adaptfilt.nlms 归一化最小均方(NLMS)自适应算法【十三】、时频分析与小波变换部分Spectrogram 短时傅里叶变换Idwt 单级离散一维小波逆变换Waveinfo 介绍小波工具箱中所有小波的信息Wavedec 多级离散一维小波分解Cwt 连续一维小波变换Appcoef 一维小波变换近似系数Dwt 单级离散一维小波变换Detcoef 一维小波变换细节系数【十四】、二维信号处理Conv2 二维卷积Xcorr2 二维互相关参数Fft2 二维快读傅里叶变换Dwt2 单级离散二维小波变换Ifft2 二维逆快速傅里叶变换Idwt2 单级离散二维小波逆变换Filter2 二维数字滤波器Waverec2 多级离散二维小波分解。
matlab中lsim函数应用
在Matlab中,lsim函数是一种常用的信号处理工具,可以用于模拟和分析系统的动态响应。
lsim函数可以帮助用户对线性时不变系统进行时间域仿真,并输出系统对给定输入信号的响应。
以下是关于lsim 函数的详细介绍和应用示例。
一、lsim函数的语法和参数在Matlab中,lsim函数的基本语法格式如下:Y = lsim(SYS, U, T)Y = lsim(SYS, U, T, X0)[Y, T, X] = lsim(SYS, U, T, X0)其中,各参数的含义如下:SYS:表示待仿真的线性时不变系统,可以使用tf、ss等命令创建一个系统模型。
U:表示输入信号,可以是一个向量、矩阵或信号对象。
T:表示仿真的时间范围,可以是一个时间向量或仿真时间间隔。
X0:表示系统的初始状态,默认为零向量。
Y:表示系统的输出响应。
T:表示仿真的时间范围。
X:表示系统的状态响应。
二、lsim函数的应用示例接下来,我们通过一个具体的应用示例来演示lsim函数的使用方法。
假设有一个二阶系统,其传递函数为:G(s) = 1 / (s^2 + 0.5s + 1)我们将使用lsim函数来模拟系统对不同输入信号的响应。
1. 创建系统模型我们可以使用tf命令创建系统的传递函数模型:num = [1];den = [1, 0.5, 1];SYS = tf(num, den);2. 生成输入信号接下来,我们生成一个正弦信号作为系统的输入信号:t = 0:0.01:10;u = sin(t);3. 调用lsim函数进行仿真我们可以调用lsim函数进行仿真,并得到系统的输出响应:y = lsim(SYS, u, t);4. 绘制仿真结果我们可以利用plot命令绘制系统的输入输出响应曲线:plot(t, u, t, y);xlabel('Time');ylabel('Amplitude');legend('Input', 'Output');title('System Response to Sine Wave Input');通过以上应用示例,我们可以清楚地看到lsim函数在Matlab中的应用方法和实际效果。
信号与系统 MATLAB实验报告(可打印修改)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-20
-15
-10
-5
0
5
10
15
20
对比可知此法做出的图像更加清晰美观。 (2)MATLAB 可以自动地根据曲线数据的范围选择合适的坐标系,从而使得 曲线尽可能清晰地显示出来,一般情况下不必选择坐标系。但是,如果对 MATLAB 自动产生的坐标轴不满意,可以利用 axis 命令对坐标轴进行调整。
title('f=R(t)')
axis([-5 5 -0.5 1.5])
(5) f (t) Sa(t)
ω=1 时:
t=-20:0.01:20 f=sin(t)./t 实现抽样函数
%调用正弦函数sin(),并用sin(t)./t
plot(t,f)
title('f(t)=Sa(t)')
axis([-20,-20,-0.5,1.1])
改进想法:
本题中函数的表示方法都不只一种。如阶跃函数可以借助符号函数来实现
可视化。其程序和结果如下:
t=-5:0.05:5 f=sign(t)
%调用符号函数 sign()
axis([-5,5,-1.1,1.1])
ff=1/2+1/2*f
%运用阶跃函数与符号函数的关系,表示出阶跃函数
ff
plot(t,ff)
实验程序:
(1)
n=-10:20
%设置变量范围,默认步长为1
f=heaviside(n)
x=heaviside(n)-heaviside(n-10) %阶跃函数直接相减
的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。 在 MATLAB 中 t = t1: p: t2 的命令定义时间范围向量,t1 为信号起始时间,t2 为终止时间,p 为时间间隔。
信号与系统matlab思考题
信号与系统matlab思考题介绍信号与系统的概念信号与系统是一门研究信号的生成、传输、处理和分析的学科,它在现代通信、控制、图像处理等领域具有重要应用。
信号是一种物理量或信息,可以用数学函数来描述。
系统是对信号的处理装置或方法。
在信号与系统的研究中,matlab是一种常用的工具,它可以方便地进行信号处理、系统分析和系统设计。
本文将提供一些信号与系统方面的matlab思考题,帮助读者加深对该领域的理解。
信号处理题目1. 生成并绘制正弦信号使用matlab生成一个频率为10 Hz、振幅为2的正弦信号,并绘制其波形图。
2. 计算离散序列的自相关函数给定一个离散序列x = [1, 2, 3, 4, 5],使用matlab计算其自相关函数,并绘制自相关函数的图像。
3. 计算信号的功率密度谱给定一个信号x(t) = cos(2pi10t) + cos(2pi20t),在频率范围为0 Hz到30 Hz 内,使用matlab计算其功率密度谱,并绘制功率密度谱的图像。
系统分析题目1. 系统的时域和频域响应考虑一个LTI(线性时不变)系统,其输入信号为x(t) = cos(2pi10t) +cos(2pi20t),系统的单位冲激响应为h(t) = e^(-2t)u(t),使用matlab计算并绘制该系统的时域响应和频域响应。
2. 系统的频率响应曲线给定系统的差分方程为y[n] - 0.5y[n-1] + 0.25y[n-2] = x[n],其中x[n]和y[n]分别表示输入和输出序列,使用matlab计算该系统的频率响应曲线。
3. FIR滤波器的设计设计一个FIR(有限脉冲响应)滤波器,使其能够将频率范围在0 Hz到500 Hz内的信号通过,并且在500 Hz到1000 Hz内的频率范围内有20 dB的衰减。
使用matlab完成滤波器的设计,并绘制其频率响应曲线。
思考题目1. 系统的稳定性分析给定系统的传输函数H(s) = 1/(s^2 + 3s + 2),使用matlab对该系统的稳定性进行分析,并给出稳定性的结论。
信号与系统MATLAB仿真——信号及其运算
信号与系统MATLAB仿真——信号及其运算1. 知识回顾(1)信号的分类:确定信号与随机信号;周期信号与⾮周期信号;周期信号在时间上必须是⽆始⽆终的f(t)=f(t+T)f[k]=f[k+N]连续时间信号和离散时间信号;连续信号是指在信号的定义域内,除若⼲个第⼀类间断点外,对于任意时刻都由确定的函数值的信号离散信号是指在信号的定义域内,只在某些不连续规定的时刻给出函数值,⽽在其他时刻没有给出函数的信号能量信号、功率信号与⾮功率⾮能量信号;时限与频限信号;物理可实现信号。
(2)信号能量:E=limT→∞∫T−T f2(t)dtP=limT→∞12T∫T−Tf2(t)dtE=limN→∞N∑k=−N|f[k]|2P=limN→∞12N+1N∑k=−N|f[k]|2能量信号:0<E<∞,P=0;功率信号:0<P<∞,E=∞。
(3)冲激函数的性质加权特性(筛选特性):f(t)δ(t−t0)=f(t0)δ(t−t0)取样特性:∫+∞−∞f(t)δ(t−t0)=f(t0)偶函数:f(t)=f(−t)展缩特性:δ(at)=1|a|δ(t)δ(at−t0)=1|a|δ(t−t0a)导数及其特性。
(4)正弦两个频率相同的正弦信号相加,即使其振幅和相位各不相同,但相加后结果仍是原频率的正弦信号;若⼀个正弦信号的频率是另⼀个正弦信号频率的整数倍时,则合成信号是⼀个⾮正弦周期信号,其周期等于基波的周期。
正弦型序列:f[k]=A sin(Ω0k+φ)2π/Ω0是正整数:周期序列,周期为N;2π/Ω0为有理数,2π/Ω0=N/m:周期序列,周期N=m(2π/Ω0);2π/Ω0为⽆理数:⾮周期序列,但包络仍为正弦函数。
(5)抽样信号Sa(t)=sin t t偶函数;Sa(0)=1;t=kπ为其零点;∫+∞−∞Sa(t)dt=π;limt→±∞Sa(t)=0。
(6)信号的分解分解为直流分量与交流分量;奇偶分解;分解为实部和虚部;分解为基本信号的有限项之和;因⼦分解;连续信号分解为矩形脉冲序列;正交分解。
信号与系统实验常用函数
信号与系统实验常用函数function:在MATLAB中不是它的自带函数就可以完成所有功能,更多的时候是自己编写程序来实现我们要的功能,这时就要用到此命令,调用格式为:function ****( ) 括号外面为函数名称,括号中为函数中要用到的变量。
plot命令:plot命令是MATLAB中用来绘制用向量表示法(在下一章中讲到)表示的连续信号的波形。
它的功能是将向量点用直线依次连接起来。
调用格式:plot(k,f),其中k和f是向量。
ezplot命令:ezplot命令是用来绘制用符号运算表示法表示的连续信号的波形。
调用格式:ezplot(f,[t1,t2]),其中[t1,t2]为一时间范围,f为以t为变量的函数。
title命令:在绘图命令中,我们可以用此命令来对绘制出来的波形做一些注释,以便后期我们做图形处理。
调用格式为:title(‘……’) 中间部分可以任意对图形进行注释的文字。
xlabel、ylabel命令:这两个也是来对绘制出来的波形做标注用的,可以标注出两个坐标轴的未知数的意义,增加图形中的信息量。
调用格式:xlabel(‘……’),ylabel(‘……’) 中间可以是对坐标轴做注释的文字或字母。
axis命令:此命令可以来定义绘制波形中坐标的范围。
调用格式为:axis([k1,k2,g1,g2]),其中k1,k2表示横坐标的范围,g1,g2表示纵坐标的范围。
syms命令:在符号表示法中,可以用此命令来定义变量。
调用格式为:syms t 意思是定义一个变量t。
sym命令:是符号表示法中的调用系统自带函数的命令。
调用格式为:f=sym(‘……’) 中间为系统能识别的常用信号,如正弦信号,nte 等。
stem命令:此命令专门用来绘制离散序列的波形。
调用格式为:stem(k,f) 调用此命令可以绘制出离散序列的点状图。
subs命令:此可以将连续信号中的时间变量t用t-t0,at等等来替换,从而可以完成信号在时域范围内的变换。
利用matlab进行信号与系统分析实验
【实验1】利用matlab 进行信号的时域分析 (1)指数信号 >>A=1; >> a=-0.4;>> t=0:0.01:10;>> ft=A*exp(a*t); >> plot(t,ft); >> grid;>> axis([0 10 -0.1 1.1]; >> xlabel('t') >> ylabel('ft')(2)正弦信号 >> A=1; >> w0=2*pi; >> phi=pi/6; >> t=0:0.01:3; >> ft=A*sin(w0*t+phi); >> plot(t,ft); >> grid;>> axis([0 3 -1.1 1.1]); >> xlabel('t') >> ylabel('ft')()t f t Ae α=()sin()f t A t ωϕ=+>>x=linspace(-20,20); >> y=sinc(x/pi); >> plot(x,y);>> grid; >> axis([-21 21 -0.5 1.1]); >> xlabel('x') >> ylabel('y')(4)矩形脉冲信号 >> t=0:0.001:4; >> T=1;>> ft=rectpuls(t-2*T,2*T); >> plot(t,ft); >> grid;>> axis([-1 5 -0.1 1.1]); >> xlabel('t') >>ylabel('ft')t t t Sa t f )sin()()(==)]()([)()(10τετετ+-+==t t A t G t ffunction ft=heaviside(t) ft=(t>0); >> t=-1:0.001:3; >> ft=heaviside(t); >> plot(t,ft); >> grid;>> axis([-1 3 -0.1 1.1]); >> xlabel('t') >>ylabel('ft')(6)复指数信号的时域波形 >> t=0:0.1:60;>> f=exp(-0.1*t).*sin(2/3*t); >> plot(t,f); >> grid;>> axis([0 60 -1 1]); >> xlabel('Time(sec)') >>ylabel('f(t)')⎩⎨⎧<>=)0(0)0(1)(t t t ε)32sin()(1.0t e t f t -=(7)加入随机噪声的正弦波>> t=0:0.001:50;>> y=sin(2*pi*50*t);>> s=y+randn(size(t)); >> subplot(2,1,1);>> plot(t(1:100),y(1:100)); >> grid;>> subplot(2,1,2);>> plot(t(1:100),s(1:100)); >>grid;(8)周期矩形波>> A=1;>> t=0:0.0001:5;>> y=A*square(2*pi*t,20); >> plot(t,y);>> grid;>> axis([0 5 -1.5 1.5]);(9)信号的基本运算>> syms t;>>f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))');>>subplot(3,2,1),ezplot(f,[-3,3]);>>grid;>> y1=subs(f,t,t+2);>> subplot(3,2,2),ezplot(y1,[-5,1]);>> title('f(t+2)');>> grid;>> y2=subs(f,t,t-2);>> subplot(3,2,3),ezplot(y2,[-1,5]);>> title('f(t-2)');>> grid;>> y3=subs(f,t,-t);>> subplot(3,2,4),ezplot(y3,[-3,3]);>> title('f(-t)');>> grid;>> y4=subs(f,t,2*t);>> subplot(3,2,5),ezplot(y4,[-2,2]);>> title('f(2t)');>> grid;例1求系统y ”(t )+2y ’(t )+100y (t )=10f (t )的零状态响应,已知f (t )=(sin2πt ) ε(t )。
表示信号与系统的MATLAB函数
实验项目三:表示信号与系统的MATLAB 函数一、实验项目名称:表示信号、系统的MATLAB 函数 二、实验目的与任务:目的:1、加深对常用离散信号的理解;2、熟悉表示信号的基本MATLAB 函数。
任务:基本MATLAB 函数产生离散信号;基本信号之间的简单运算;判断信号周期。
三、实验原理:利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。
常见的基本信号可以简要归纳如下:1、单位抽样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n2、单位阶跃序列⎩⎨⎧01)(n u00<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3、正弦序列)/2sin()(ϕπ+=Fs fn A n x采用MATLAB 实现)/***2sin(*1:0fai Fs n f pi A x N n +=-=4、复正弦序列n j e n x ϖ=)(采用MATLAB 实现)**exp(1:0n w j x N n =-=5、指数序列n a n x =)(采用MATLAB 实现na x N n .^1:0=-=四、 实验内容:MATLAB 仿真 实验步骤:1、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
2、在310≤≤n 内画出下面每一个信号:1223[]sin()cos()44[]cos ()4[]sin()cos()48nnx n nx n n nx n πππππ===思考问题:每个信号的基波周期是什么?对于这3个信号中的每一个,不依赖MATLAB ,如何来确定基波周期?五、项目需用仪器设备名称:计算机、MATLAB 软件。
MATLAB在信号和系统中的应用举例
%把各部分分式对应的时域分量相加
MATLAB在信号和系统中的应用举例
图 9-1 例9-1-1中x1、 x2、 x3对应的四种波形
MATLAB在信号和系统中的应用举例
【例 9-1-2】 编写求任意高阶连续常系数线性系统冲击响 应的程序。
解: 这个问题在第4章4.3.5节介绍多项式函数库时已经打下 基础,在第7章机械振动的例7-3-1又讨论过二阶常系数线性微分 方程的解法,读者可以先看懂那些例题的解法,再看本题。任意 阶次的连续线性系统可用下列线性常微分方程表述:
if k==1 dt=input(′dt= ′); tf=input(′tf= ′); %设定时间数组 t=0∶dt∶tf; h=zeros(1,length(t)); %h的初始化 for i=1∶length(a)-1 %根的数目等于a的长度减1 h = h+ r(i)*exp(p(i)*t); %叠加各根分量
y t0
p12C1
p22C2
pn2Cn
D2y0
MATLAB在信号和系统中的应用举例
初始条件数应该和待定系数的数目相等,构成一个确定 C1、 …、 Cn的线性代数方程组,写成
V*C=Y0
其解为
C=V-1Y0
其中C=[C1,C2,…,Cn]′; Y0=[y0,Dy0,…,Dny0]′
1 1 1
p1
end plot(t,h),grid else,
end
MATLAB在信号和系统中的应用举例
◆ 程序运行结果 例如,给出系统传递函数为
H(s)
s2 7s 1
s(s 1)(s 2)(s 5)
求冲击响应。
根据程序提问依次输入:
a=poly([0,-1,-2,-5])
信号与系统matlab实验指导书
实验一基本信号的波形一、实验目的:1.掌握matlab软件的基本操作。
2.熟悉matlab的基本命令的使用。
3.掌握用matlab绘出基本信号。
二、实验原理:1. 信号的时域表示方法1.1将信号表示成独立时间变量的函数例如x(t)=sin(ωt) 和x[n]=n(0.5)n u[n]分别表示一个连续时间信号和一个离散时间信号。
在MA TLAB中有许多内部函数,可以直接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。
图1.1 连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=0在《信号与系统》和《数字信号处理》课程中,上述三种信号的描述方法是经常要使用的。
2 用MATLAB仿真连续时间信号和离散时间信号在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。
通常的情况下,需要与时间变量相对应。
如前所述,MA TLAB有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。
2.1连续时间信号的仿真程序Program1_1是用MATLAB 对一个正弦信号进行仿真的程序,请仔细阅读该程序,并在计算机上运行,观察所得图形。
% Program1_1% This program is used to generate a sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsdt = 0.01; % Specify the step of time variablet = -2:dt:2; % Specify the interval of timex = sin(2*pi*t); % Generate the signalplot(t,x) % Open a figure window and draw the plot of x(t)title('Sinusoidal signal x(t)')xlabel('Time t (sec)')常用的图形控制函数axis([xmin,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin 为横轴的显示起点,xmax 为横轴的显示终点,ymin 为纵轴的显示起点,ymax 为纵轴的显示终点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验室名称:信号与系统实验室
二、实验项目名称:表示信号、系统的MATLAB 函数、工具箱
三、实验原理:
利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。
常见的基本信号可以简要归纳如下:
1、单位抽样序列
⎩⎨⎧=01)(n δ 00≠=n n
在MATLAB 中可以利用zeros()函数实现。
;1)1();
,1(==x N zeros x
如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:
⎩⎨
⎧=-01)(k n δ 0≠=n k n
2、单位阶跃序列 ⎩⎨⎧01)(n u 00<≥n n
在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =
3、正弦序列 )/2sin()(ϕπ+=Fs fn A n x
采用MATLAB 实现
)/***2sin(*1
:0fai Fs n f pi A x N n +=-=
4、复正弦序列 n j e n x ϖ=)(
采用MATLAB 实现
)**ex p(1
:0n w j x N n =-=
5、指数序列
n a n x =)(
采用MATLAB 实现
n a x N n .^1
:0=-= 四、实验目的:
1、加深对常用离散信号的理解;
2、熟悉表示信号的基本MATLAB 函数。
五、实验内容:
MATLAB 仿真
六、实验器材(设备、元器件):
计算机、MATLAB 软件。
七、实验步骤:
1、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
2、在310≤≤n 内画出下面每一个信号:
1223[]sin()cos(
)44[]cos ()4
[]sin()cos()48n
n x n n
x n n n x n πππππ===
八、实验数据及结果分析:
代码及图像:
(1)
n=[-20:20];
x=[zeros(1,20) 1 zeros(1,20)];
stem(n,x);grid on;
n=[-20:20];
pi=3.1415926;
x=sin(pi*n/4); stem(n,x);grid on;
n=[-20:20];
pi=3.1415926;
x1=sin(pi*n/4+pi/4)
x2=sin(pi*(-n)/4+pi/4); y=(x1+x2)/2;
z=(x1-x2)/2;
stem(n,x1);grid on; stem(n,y);grid on;
stem(n,z);grid on;
(2)
[n]
x
1
n=0:1:31;
x1=sin(pi*n/4).*cos(pi*n/4);
stem(n,x1,'filled');grid on;
[n]
x
2
n=0:1:31;
x2=cos(pi*n/4).*cos(pi*n/4);
stem(n,x2,'filled');grid on;
x
[n]
3
n=0:1:31;
x3=sin(pi*n/4).*cos(pi*n/8);
stem(n,x3,'filled');grid on;。