文档库 最新最全的文档下载
当前位置:文档库 › 用MATLAB GUI显示正弦信号的时域图和频域图

用MATLAB GUI显示正弦信号的时域图和频域图

用MATLAB GUI显示正弦信号的时域图和频域图
用MATLAB GUI显示正弦信号的时域图和频域图

首先,新建一个MATLAB的GUI项目,在命令行输入guide,即会弹出一个窗口,选择Blank GUI,点击ok,弹出一个untitled.fig窗口,这就是你所要设计的GUI界面,如下图所示:

接下来,在刚刚创建的空白GUI界面上右击鼠标,选择Property Inspector选项,在新弹出的属性框中找到Tag,这是一个句柄属性,是控件在计算机内部唯一标识符,类似于我们的身份证号,为便于代码的理解,一般情况输入有意义的字符,不要包括汉字,此处为sine_figure;然后点击保存,命名为sinetyq。

这样一个已命名的空白GUI界面就做好了。接下来,添加控件,选择4个static text,4个edit text,排列成四行两列,双击每个控件,进入属性设置界面,此处着重注意三个地方,FontSize、String、Tag,在FontSize处可设置要显示的字体大小,String是显示的字符内容,Tag是这个控件在.M文件中的名字,类似于变量名,同样也要秉持程序易于理解的原则来命名,如在频率栏,可将要输入频率的edit text的Tag设置为frequency_input,这样便于理解。

在我们自己添加控件时,为了界面美观,常需要将各控件对齐,这时手动调节多个控件会很

费时,我们按住ctrl键,用鼠标选中要排列的控件,然后点击工具栏的这个按钮,选择对齐方式即可自动对齐。

现在我们右击某一个edit text,选择view callbacks,就会调到我们这个GUI界面对应的.M文件,这个.M文件是自动创建的,要实现的程序代码就是在各个控件对应的程序块处编写实现的。

接下来,再添加一个运行按钮,命名为RUN,同时句柄Tag也为RUN。

接下来,为窗口增加两个坐标,用来显示正弦波的时域和频域图。在左侧的工具栏处选择Axes,拖动到空白界面上。同时为其命名为time、spectrum。

界面布局到此就结束了,我们可以看到界面有点偏小,所以可以在界面的右下角出拉大界面以便于较好的显示图形。

点击工具栏的按钮,运行一下界面。

注意右上角的放大图标为灰色的,表明不可放大,如果要实现放大按钮,可在界面设计页面的空白处双击鼠标,找到resize复选框,并选中它,即显示为on,这样在运行一次就可最大化窗口了。

到此,界面设计完毕,接下来是为相关控件添加代码。代码如下,注意采样率一定要结合抽样定理。还有set函数的gcbo:returns the handle of the graphics object whose callback is executing.

所有工作准备完毕,点击运行按钮,你认为能正常运行了吗?不不不,很有可能你会遇到一个超级恶心的问题,真的超级恶心!贴图如下:

编译器说什么试图把plot当做一个函数,众所周知,plot本来就是MATLAB的一个函数,此处却不识别。我纠结了大半天,找了无数地方,才发现是运行路径的原因,把你的GUI界面和对应的.m文件移到一个没有中文目录的地方,一切问题就解决了,简便起见,可以把它放到一个盘的根目录下,这样就ok啦!

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

大作业1(机电控制系统时域频域分析)

《机电系统控制基础》大作业一 基于MATLAB的机电控制系统响应分析 哈尔滨工业大学 2013年11月4日

1 作业题目 1. 用MATLAB 绘制系统2 ()25()() 425 C s s R s s s Φ== ++的单位阶跃响应曲线、单位斜坡响应曲线。 2. 用MATLAB 求系统2 ()25 ()()425 C s s R s s s Φ==++的单位阶跃响应性能指标:上升时间、峰值时间、调节时间和超调量。 3. 数控直线运动工作平台位置控制示意图如下: X i 伺服电机原理图如下: L R (1)假定电动机转子轴上的转动惯量为J 1,减速器输出轴上的转动惯量为J 2,减速器减速比为i ,滚珠丝杠的螺距为P ,试计算折算到电机主轴上的总的转动惯量J ; (2)假定工作台质量m ,给定环节的传递函数为K a ,放大环节的传递函数为K b ,包括检测装置在内的反馈环节传递函数为K c ,电动机的反电势常数为K d ,电动机的电磁力矩常数为K m ,试建立该数控直线工作平台的数学模型,画出其控制系统框图; (3)忽略电感L 时,令参数K a =K c =K d =R=J=1,K m =10,P/i =4π,利用MATLAB 分析kb 的取值对于系统的性能的影响。

2 题目1 单位脉冲响应曲线 单位阶跃响应曲线

源代码 t=[0:0.01:1.6]; %仿真时间区段和输入 nC=[25]; dR=[1,4,25]; fi=tf(nC,dR); %求系统模型 [y1,T]=impulse(fi,t); [y2,T]=step(fi,t); %系统响应 plot(T,y1); xlabel('t(sec)'),ylabel('x(t)'); grid on; plot(T,y2); xlabel('t(sec)'),ylabel('x(t)'); grid on; %生成图形 3 题目2 借助Matlab,可得: ans = 0.4330 0.6860 25.3826 1.0000 即

用MATLAB进行FFT频谱分析

用MATLAB 进行FFT 频谱分析 假设一信号: ()()292.7/2cos 1.0996.2/2sin 1.06.0+++=t t R ππ 画出其频谱图。 分析: 首先,连续周期信号截断对频谱的影响。 DFT 变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。 实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT 变换可以得到精确的模拟信号频谱。举一个简单的例子: ()ππ2.0100cos +=t Y 其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m ) 图 错误!文档中没有指定样式的文字。.1 140.0160.0180.02 截断时,时间间期为周期整数倍,频谱图 0.0250.03 0100200300400500600 7008009001000 20 40 60 80 100 截断时,时间间期不为周期整数倍,频谱图

其次,采样频率的确定。 根据Shannon 采样定理,采样带限信号采样频率为截止频率的两倍以上,给定信号的采样频率应>1/7.92,取16。 再次,DFT 算法包括时域采样和频域采样两步,频域采样长度M 和时域采样长度N 的关系要符合M ≧N 时,从频谱X(k)才可完全重建原信号。 实验中信号R 经采样后的离散信号不是周期信号,但是它又是一个无限长的信号,因此处理时时域窗函数尽量取得宽一些已接近实际信号。 实验结果如图一.2:其中,0点位置的冲激项为直流分量0.6造成(对应程序为shiyan1.m ) 图 错误!文档中没有指定样式的文字。.2 ?ARMA (Auto Recursive Moving Average )模型: 将平稳随机信号x(n)看作是零均值,方差为σu 2的白噪声u(n)经过线性非移变系统H(z)后的输出,模型的传递函数为 020406080100120140160180200 0.4 0.50.60.7 0.800.050.10.150.20.250.30.350.40.450.5 50100 150

信号时域频域及其转换

信号分析方法概述: 通用的基础理论是信号分析的两种方法:1 是将信号描述成时间的函数 2 是将信号描述成频率的函数。也有用时域和频率联合起来表示信号的方法。时域、频域两种分析方法提供了不同的角度,它们提供的信息都是一样,只是在不同的时候分析起来哪个方便就用哪个。 思考: 原则上时域中只有一个信号波(时域的频率实际上是开关器件转动速度或时钟循环次数,时域中只有周期的概念),而对应频域(纯数学概念)则有多个频率分量。 人们很容易认识到自己生活在时域与空间域之中(加起来构成了三维空间),所以比较好理解时域的波形(其参数有:符号周期、时钟频率、幅值、相位)、空间域的多径信号也比较好理解。 但数学告诉我们,自己生活在N维空间之中,频域就是其中一维。时域的信号在频域中会被对应到多个频率中,频域的每个信号有自己的频率、幅值、相位、周期(它们取值不同,可以表示不同的符号,所以频域中每个信号的频率围就构成了一个传输信道。 时域中波形变换速度越快(上升时间越短),对应频域的频率点越丰富。 所以:OFDM中,IFFT把频域转时域的原因是:IFFT的输入是多个频率抽样点(即各子信道的符号),而IFFT之后只有一个波形,其中即OFDM符号,只有一个周期。 时域 时域是真实世界,是惟一实际存在的域。因为我们的经历都是在时域中发展和验证的,已经习惯于事件按时间的先后顺序地发生。而评估数字产品的性能时,通常在时域中进行分析,因为产品的性能最终就是在时域中测量的。 时钟波形的两个重要参数是时钟周期和上升时间。 时钟周期就是时钟循环重复一次的时间间隔,通产用ns度量。时钟频率Fclock,即1秒钟时钟循环的次数,是时钟周期Tclock的倒数。 Fclock=1/Tclock 上升时间与信号从低电平跳变到高电平所经历的时间有关,通常有两种定义。一种是10-90上升时间,指信号从终值的10%跳变到90%所经历的时间。这通常是一种默认的表达方式,可以从波形的时域图上直接读出。第二种定义方式是20-80上升时间,这是指从终值的20%跳变到80%所经历的时间。 时域波形的下降时间也有一个相应的值。根据逻辑系列可知,下降时间通常要比上升时间短一些,这是由典型CMOS输出驱动器的设计造成的。在典型的输出驱动器中,p管和n 管在电源轨道Vcc和Vss间是串联的,输出连在这个两个管子的中间。在任一时间,只有一个晶体管导通,至于是哪一个管子导通取决于输出的高或低状态。 假设周期矩形脉冲信号f(t)的脉冲宽度为τ,脉冲幅度为E,重复周期为T,

Matlab频谱分析程序

Matlab频谱分析程序

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()() 2 xx S X ωω=,其中 ()/2 /2 lim N j n n N N X x e N ωω=-=∑ πωπ -<≤。 其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,

其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ = ∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωππ ωωπ- -= =?? 序列n x 在整个Nyquist 间隔上的平均功率可以 表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f ππ ωωπ- -= =?? 上式中的 ()()2xx xx S P ωωπ = 以及()()xx xx s S f P f f = 被定义为平稳随机信号n x 的power spectral density (PSD)(功率谱密度) 一个信号在频带[]1 2 1 2 ,,0ωωωω π ≤<≤上的平均功率 可以通过对PSD 在频带上积分求出 []()()2 1 121 2 ,xx xx P P d P d ωωωωωω ωωωω-- = +?? 从上式中可以看出()xx P ω是一个信号在一个无 穷小频带上的功率浓度,这也是为什么它叫做功率谱密度。

时域与频域的matlab程序

一.典型连续信号和离散信号的时域波形。 1.单边指数信号)()(t u Ae t y t α=; 2.单位冲激信号)()(0t t t y +=δ; 3.单位阶跃信号)()(0t t u t y +=; 4.矩形脉冲信号)]()([)(21t t u t t u A t y +-+?=; 5.正弦信号)()sin()(t u t A t y ω?=; 6.单位序列)()(0n n n y +=δ; 7.单位阶跃序列)()(0n n u n y +=; 8.单位矩形序列)()()(21n n u n n u n y +-+=; 9.指数序列)()(n u a A n y n ?=; 10.正弦序列)()sin()(n u n A n y ω?=。

单边指数信号 function zhishu(A,a,t1,t2,dt) t1=0 t2=10 A=1 A=-0.4 dt=0.01 t=t1:dt:t2; y=A*exp(a*t); plot(t,y) axis([t1,t2,0,1.2]) xlabel('t') ylabel('y(t)') title(' 单边指数信号') 单位冲激信号 function chongji(t1,t2,t0) dt=0.01; t1=10; t2=-5; t=t1:dt:t2; n=length(t); x=zeros(1,n); x(1,(-t0-t1)/dt+1)=1/dt; stairs(t,x); axis([t1,t2,0,1.2/dt]) xlabel('t') ylabel('y(t)') title('单位冲激信号')

信号时域与频域分析

信号时域与频域分析 实验报告 姓名:杨 班级:机械 学号: 213

实验数据中,电机转速为1200r/min,采样频率为1280Hz。Hz3为X位移振幅数据,Hz4为Y位移振幅数据,Hz5为速度振幅数据。 Matlab中信号特征对应函数编程 ma = max(Hz) %最大值 mi = min(Hz) %最小值 me = mean(Hz) %平均值 pk = ma-mi %峰-峰值 va = var(Hz); %方差 st = std(Hz); %标准差 ku = kurtosis(Hz); %峭度 rm = rms(Hz); %均方根 一、X轴位移测量分析 plot(Fs3,Hz3)时域图: ma =52.0261 mi =56.7010 me =1.8200 pk =108.7271 va =1.3870e+03 st =37.2431 ku =1.5462 rm =37.2693 频域图: fs=1280; x=Hz3; N=length(Hz3); df=fs/N; f=0:df:N*df-df; y=fft(x); y=abs(y)*2/N; figure(1); plot(f,y); xlabel('频率/Hz') ylabel('幅值') 频谱幅值取得最大值51.9847um,频率为20Hz,与电机转速对应频率一致,应为电机轴未动平衡所致;二倍频处有较大振幅,可能为轴承间隙过大所致。

二、Y轴位移测量分析 plot(Fs4,Hz4)时域图: ma =61.3987 mi =-74.6488 me =-1.1948 pk =136.0475 av =42.6109 va =2.2428e+03 st =47.3582 ku =1.5135 rm =47.3501 频域图: fs=1280; x=Hz4; N=length(Hz4); df=fs/N; f=0:df:N*df-df; y=fft(x); y=abs(y)*2/N; figure(1); plot(f,y); xlabel('频率/Hz') ylabel('幅值') 频谱幅值取得最大值66.6319um,频率为20Hz,与电机转速对应频率一致,应为电机轴未动平衡所致;二倍频处有较大振幅,可能为轴承间隙过大所致。

信号的频域分析及MATLAB实现.doc

《M A T L A B电子信息应用》 课程设计 设计五 信号的频域分析及MATLAB实现 学院: 专业: 班级: 姓名: 学号:

信号的频域分析及MATLAB实现 一、设计目的 通过该设计,理解傅里叶变换的定义及含义,掌握对信号进行频域分析的方法。 二、课程设计环境 计算机 MATLAB软件 三、设计内容及主要使用函数 快速傅里叶变换的应用 1)滤波器频率响应 对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器。其功能就是得到一个特定频率或消除一个特定频率,滤波器是一种对信号有处理作用的器件或电路。主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的。 滤波器的类型:巴特沃斯响应(最平坦响应),贝赛尔响应,切贝雪夫响应。 滤波器冲激响应的傅里叶变换就是该滤波器的频率响应。

2)快速卷积 卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。其中表示f 的傅里叶变换。 这一定理对拉普拉斯变换、双边拉普拉斯变换等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。 利用卷积定理可以简化卷积的运算量。对于长度为n 的序列,按照卷积的定义进行计算,需要做2n - 1组对位乘法,其计算复杂度为;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为。这一结果可以在快速乘法计算中得到应用。 1. 信号的离散傅里叶变换 有限长序列的离散傅里叶变换公式为: kn N j N n e n x k X )/2(10)()(π--=∑= ∑==1_0)/2()(1)(N n kn N j e k X N n x π MATLAB 函数:fft 功能是实现快速傅里叶变换,fft 函数的格式为: ),(x fft y =返回向量x 的不连续fourier 变换。 若)6 cos()(πn n x =是一个N=12的有限序列,利用MATLAB 计算

频域和时域的关系

信号的频域 在电子学、控制系统及统计学中,频域是指在对函数或信号进行分析时,分析其和频率有关部份,而不是和时间有关的部份,和时域一词相对。函数或信号可以透过一对数学的运算子在时域及频域之间转换。例如傅里叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅里叶变换可以将频谱再转换回时域的信号。 以信号为例,信号在时域下的图形可以显示信号如何随着时间变化,而信号在频域下的图形(一般称为频谱)可以显示信号分布在哪些频率及其比例。频域的表示法除了有各个频率下的大小外,也会有各个频率的相位,利用大小及相位的资讯可以将各频率的弦波给予不同的大小及相位,相加以后可以还原成原始的信号。在频域的分析中,常会用频谱分析仪来将实际的信号转换为频域下的频谱。 频域,尤其在射频和通信系统中运用较多,在高速数字应用中也会遇到频域。频域最重要的性质是:它不是真实的,而是一个数学构造。时域是惟一客观存在的域,而频域是一个遵循特定规则的数学范畴。 正弦波是频域中唯一存在的波形,这是频域中最重要的规则,即正弦波是对频域的描述,因为时域中的任何波形都可用正弦波合成。这是正弦波的一个非常重要的性质。然而,它并不是正弦波的独有特性,还有许多其他的波形也有这样的性质。正弦波有四个性质使它可以有效地描述其他任一波形: (1)时域中的任何波形都可以由正弦波的组合完全且惟一地描述。 (2)任何两个频率不同的正弦波都是正交的。如果将两个正弦波相乘并在整个时间轴上求积分,则积分值为零。这说明可以将不同的频率分量相互分离开。(3)正弦波有精确的数学定义。 (4)正弦波及其微分值处处存在,没有上下边界。 使用正弦波作为频域中的函数形式有它特别的地方。若使用正弦波,则与互连线的电气效应相关的一些问题将变得更容易理解和解决。如果变换到频域并使用正弦波描述,有时会比仅仅在时域中能更快地得到答案。 而在实际中,首先建立包含电阻,电感和电容的电路,并输入任意波形。一般情况下,就会得到一个类似正弦波的波形。而且,用几个正弦波的组合就能很容易地描述这些波形。 许多物理元件的特性会随着输入讯号的频率而改变,例如电容在低频时阻抗变大,高频时阻抗变小,而电感恰好相反,高频时阻抗变大,低频时阻抗变小。一个线性非时变系统的特性也会随频率而变化,因此也有其频域下的特性,频率响应的图形即为其代表。频率响应可以视为是一个系统在输入信号振幅相同、频率不同时,其输出信号振幅的变化,可以看出系统在哪些频率的输出较大。有些系统的定义就是以频域为主,例如低通滤波器只允许低于一定频率的讯号通过。 不论是进行拉普拉斯转换、Z转换或是傅立叶变换,其产生的频谱都是一个频率的复变函数,表示一个信号(或是系统的响应)的振幅及其相位。不过在许多的应用中相位的资讯并不重要,若不考虑相位的资讯,都可以将频谱的资讯只以不同频率下的振幅(或是功率密度)来表示。 功率谱密度是一种常应用在许多非周期性也不满足平方可积性(square-integrable)讯号的频域表示法。只要一个讯号是符合广义平稳随机过程的输出,就可以计算其对应的功率谱密度。 时域分析与频域分析是对模拟信号的两个观察面。时域分析是以时间轴为坐标表示动态信号的关系;频域分析是把信号变为以频率轴为坐标表示出来。一般来说,时域的表示较为形象与直观,频域分析则更为简练,剖析问题更为深刻和方便。目前,信号分析的趋势是从时域

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

肌电信号的时域和频域分析

肌电信号的时域和频域分析 摘要:肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。 其种类重要有两种:一,临床肌电图检查多采用针电极插入肌肉检测肌 电图,其优点是干扰小,定位性好,易识别,但由于它是一种有创伤的检测 方法,其应用收到了一定的限制。二,表面肌电则是从人体皮肤表面通过电 极记录下来的神经肌肉活动时发放的生物电信号,属于无创伤性,操作简单,病人易接受,有着广泛的应用前景。 本次设计基于matlab用小波变换对肌电信号进行消噪处理,分别选用20N 的肌电信号数据和50N的肌电数据进行对比,最后在GUI界面上完成相应的功能处理。 关键字:肌电信号 Matlab 小波去噪 GUI 第一章绪论 肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。 其种类重要有两种:一,临床肌电图检查多采用针电极插入肌肉检测肌电图,其优点是干扰小,定位性好,易识别,但由于它是一种有创伤的检测方法,其应用收到了一定的限制。二,表面肌电则是从人体皮肤表面通过电极记录下来的神经肌肉活动时发放的生物电信号,属于无创伤性,操作简单,病人易接受,有着广泛的应用前景。 肌电信号本身是一种较微弱的电信号。检测和记录表面肌电信号,需要考虑的主要问题是尽量消除噪声和干扰的影响, 提高信号的保真度[1]。

第二章肌电信号的时域分析 2.1 肌电信号时域图的显示及比较 肌电信号采用两个不同的数据进行比较,通过比较时域图及其特性来进行分析[2]。其图像如下所示: 如上图所示:肌电数据分别是同一个体在20N的力和50N的力所反映的图像。可以看出在不同作用力时,其图像的差别很大。 2.2 时域参数 2.2.1 均值 对于一个随机变量来说,均值是一个很重要的数值特征。粗略的说,就是来描述一个群体的平均水平。其严格的数学定义非常的简单,就是一个随机变量关于概率测度的积分。这样的积分在测度轮或者实分析里是没有什么直观的解释的。而在概率论里却成为了一个群体的主要指标。在此处,均值表示肌电信号的平均水平。 2.2.2 标准差 标准差(Standard Deviation),也称均方差(mean square error),是各数据偏离平均数的距离的平均数,它是离均差平方和平均后的方根,用σ表示。

实验1:信号时域与频域分析大纲及实验指导书

第二章:信号时域与频域分析实验指导书 一.实验目的 本实验结合《机械系统故障诊断》课程第二章“信号时域与频域分析”的课堂教学内容,通过实验进一步了解振动信号的获取过程与时域、频域分析方法,加深对所学的理论知识的掌握与理解。 二.教学基本要求 要求学生学习并掌握信号调理、采集与时域分析、频域分析方法。搭建由振动传感器、数据采集箱、计算机组成的信号调理与采集系统,测量故障模拟试验系统的振动信号,用Matlab软件编写信号的时域分析和频域分析程序,学会数字信号的获取与分析方法,掌握振动信号的测量系统搭建的基本方法。 三.实验内容 搭建用于信号调理、采集测试系统,测量振动信号,用Matlab软件编写信号的时域分析和频域分析软件,并对所测信号进行时域分析和频域分析,撰写实验报告。具体要求如下: 1.利用实验室现有设备搭建由振动传感器、信号调理箱、A/D板、计算机组成的振动数据采集系统; 2.采集转子试验台的电涡流信号、速度传感器信号、加速度传感器信号,对比不同传感器信号区别,总结不同传感器适用场合。 3.找出电涡流信号/速度传感器/加速度传感器信号的时域信号特征(波形、峰值、脉冲、峭度等)、频域信号特征。 4.对加速度信号/速度传感器信号做自相关、互相关分析。 5. 在Matlab软件中编写时域、频谱、自相关、互相关分析软件; 6. 利用自编软件分析所测数据并编写实验报告。 四. 使用的主要仪器 电涡流式位移、速度、加速度传感器、信号采集箱、计算机。 五.实验报告要求 1.实验报告内容包括计算分析的图、表或数值结果,以及对结果的简要分析、自编软件; 2.实验报告应独立完成;六.实验注意事项 1.开启电源前检查传感器安装、电源线、信号线连接是否正确; 2.实验完成后,关闭仪器的电源、清洁好实验台。

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

MATLAB关于FFT频谱分析的程序

MATLAB关于FFT频谱分析的程序 %***************1.正弦波****************% fs=100;%设定采样频率 N=128; n=0:N-1; t=n/fs; f0=10;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f0*t); figure(1); subplot(231); plot(t,x);%作正弦信号的时域波形 xlabel('t'); ylabel('y'); title('正弦信号y=2*pi*10t时域波形'); grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换 figure(1); subplot(232); plot(f,mag);%做频谱图 axis([0,100,0,80]); xlabel('频率(Hz)'); ylabel('幅值');

title('正弦信号y=2*pi*10t幅频谱图N=128'); grid; %求均方根谱 sq=abs(y); figure(1); subplot(233); plot(f,sq); xlabel('频率(Hz)'); ylabel('均方根谱'); title('正弦信号y=2*pi*10t均方根谱'); grid; %求功率谱 power=sq.^2; figure(1); subplot(234); plot(f,power); xlabel('频率(Hz)'); ylabel('功率谱'); title('正弦信号y=2*pi*10t功率谱'); grid; %求对数谱 ln=log(sq); figure(1); subplot(235); plot(f,ln);

系统时域分析和频域分析的区别.

从开始的系统时域分析,到频域分析,虽然形式上可能会有些诧异,但是不可否认,他们的思路都是一致的,即将信号分解成一个个的基信号,然后研究系统对于基信号的响应,再将这些所有的基信号的响应叠加,便是系统对于一个完整的复杂信号的响应。 系统时域分析: 1)将信号分解成一个个的冲激函数(注意,是冲激函数,而不是一个个单独的冲激,函数的定义是在整个的时间域上定义的),因此,只要我们知道了系统对于一个冲激函数的响应函数,我们就能够求出系统对于整个信号函数的响应函数; 2)时域分析的系统特性,就是由微分方程表示,通过微分方程,我们能够求得系统的冲激响应,即系统对于冲激函数的响应函数h(t); 3)此时,将完整复杂信号(已经分解好了的信号),通过系统,就好像流水线上加工产品一样,让整个信号通过,然后对每一个冲激函数进行加工,并且对于不同的冲激函数,做不同的个性化加工,这里的个性化加工,就是根据冲激函数中的冲激在时间轴上位置,如果冲激在时间轴上0点左边t0的位置上,并且冲激的幅值是a,那么对应的加工结果就是个性化了的冲激函数的响应函数a*h(t+t0),对每个分解的

基信号(即冲激函数)都做了这样的个性化加工以后,再将所有的加工结果相加,最终得到我们想要的系统对于整个信号的响应。这就是我们所说的卷积的过程,即y(t)=cov[f(t),h(t)]。 系统频域分析: 开始已经说过,系统的频域分析跟系统的时域分析如出一辙,甚至更为简单方便,这也就是为什么我们更愿意通过频域分析信号系统的原因,还有一个原因就是通过频域分析系统在物理上更为直观,我们很容易通过频域看出,系统对信号做了怎样的手脚(具体来说,就是,系统对信号各个频率分量做了怎样的处理)。 1)将信号分解成一个个不同频率的虚指数信号函数(注意,这里也是函数,拥有完整的时域轴),因此,只要我们知道了系统对于一个虚指数信号函数的响应函数,我们就能够求出系统对于整个信号的响应; 2)我们将表示系统特性的微分方程,通过将输入定义为虚指数洗好函数,惊讶的发现,系统的输出形式仍然是虚指数信号函数,只不过多了一个加权值,这个加权值就是系统冲激响应h(t)的傅里叶变换H(jw)在这个虚指数信号函数(关于t的函数)对应频率w0的值。说频域处理比时域处理更简洁,是因为,时域处理每个冲激函数时是用更为复杂

Matlab频谱分析程序

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()() 2 xx S X ωω=,其中( )/2 /2 lim N j n n N n N X x e ωω=-=∑ πωπ-<≤。其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ = ∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωπ π ωωπ--= =? ? 序列n x 在整个Nyquist 间隔上的平均功率可以表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f π π ωωπ--= =? ?

时域与频域的含义以及其分析举例和优点

时域与频域的含义以及其分析举例和优点 时域是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。若考虑离散时间,时域中的函数或信号,在各个离散时间点的数值均为已知。若考虑连续时间,则函数或信号在任意时间的数值均为已知。在研究时域的信号时,常会用示波器将信号转换为其时域的波形。 频域frequency domain 是描述信号在频率方面特性时用到的一种坐标系。对任何一个事物的描述都需要从多个方面进行,每一方面的描述仅为我们认识这个事物提供部分的信息。例如,眼前有一辆汽车,我可以这样描述它方面1:颜色,长度,高度。方面2:排量,品牌,价格。而对于一个信号来说,它也有很多方面的特性。如信号强度随时间的变化规律(时域特性),信号是由哪些单一频率的信号合成的(频域特性) 时域time domain在分析研究问题时,以时间作基本变量的范围。时域是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。若考虑离散时间,时域中的函数或信号,在各个离散时间点的数值均为已知。若考虑连续时间,则函数或信号在任意时间的数值均为已知。在研究时域的信号时,常会用示波器将信号转换为其时域的波形。 时域是真实世界,是惟一实际存在的域。因为我们的经历都是在时域中发展和验证的,已经习惯于事件按时间的先后顺序地发生。而评估数字产品的性能时,通常在时域中进行分析,因为产品的性能最终就是在时域中测量的。如下图2.1所示的时钟波形。 时钟波形 图2.1 典型的时钟波形由上图可知,时钟波形的两个重要参数是时钟周期和上升时间。图中标明了1GHz时钟信号的时钟周期和10-90上升时间。下降时间一般要比上升时间短一些,有时会出现更多的噪声。时钟周期就是时钟循环重复一次的时间间隔,通常用ns度量。时钟频率Fclock,即1秒钟内时钟循环的次数,是时钟周期Tclock的倒数。Fclock=1/Tclock上升时间与信号从低电平跳变到高电平所经历的时间有关,通常有两种定

matlab频域分析.doc

MATLAB 频域分析实验 1. 给定系统 ()8.02.02+-=z z z H (a) 画出系统极零图; 由题知,该系统零点为Z 1=0,极点为P 1=-√(8/10)j 和P 2=√(8/10)j 。 由matlab 作出极零图如下: 代码如下: b=[0,-0.2]; a=[1,0,0.8]; zplane(b,a); (b) 求出并绘出系统幅频响应与相频响应; 由题知,)8.0)(8.0(2.0)(j z j z z z H -+-=,用e jw 替换z 后得到 )8.0)(8.0(2.0)(j e j e e e H jw jw jw jw -+-=;利用matlab 做出幅频响应和相频响应如下:

代码如下: clear all ; b=[0,-0.2]; a=[1,0,0.8]; [H,w]=freqz(b,a,512,1); Hr=abs(H); Hphase=angle(H)*180/3.1415;Hphase=unwrap(Hphase); subplot(221);plot(2*w,Hr);grid on ; xlabel( '\omega/\pi');ylabel('幅频响应 '); subplot(222);plot(w,Hphase);grid on ; xlabel( '\omega/\pi');ylabel('相频响应/°'); (c) 求出并绘出系统的单位样值响应; 由(b) 中结果,利用matlab 中的iztrans 命令求得 )()21sin(8.08 .041-)(n u n n h n π=,在matlab 中做出单位样值响应如下:

相关文档
相关文档 最新文档