实验1 利用matlab进行系统的时域分析

实验1  利用matlab进行系统的时域分析
实验1  利用matlab进行系统的时域分析

实验1 利用matlab进行系统的时域分析

一.实验目的:

1.了解离散时间序列卷积和的matlab实现;

2.利用卷积和求解系统的零状态响应;

二.实验原理:

1.连续时间系统零状态响应的求解

连续时间LTI系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。在MATLAB中,控制系统工具箱提供了一个用于求解零初始状态微分方程数值解的函数lsim。其调用方式为

y= lsim( sys,x,t)

式中t表示计算系统响应的抽样点向量,x是系统输入信号向量,sys是连续时间LTI系统模型,用来表示微分方程、差分方程、状态方程。在求解微分方程时,微分方程的连续时间LTI系统模型sys要借助tf函数获得,其调用方式为

sys= tf(b,a)

式中b和a分别为微分方程右端和左端各项的系数向量。例如对3阶微分方程

+++=+++

可用

a=[ a3, a2, a1, a0];b=[b3 ,b2, b1,b0]; sys=tf( b,a)

获得连续时间LTI模型。注意微分方程中为零的系数一定要写入向量a和b中。

【例2-1】描述某力学系统中物体位移y(t)与外力f(t)的关系为

++y(t)=x(t)

物体质量m=l kg,弹簧的弹性系数ks= 100 N/m,物体与地面的摩擦系数fd=2 N·s/m,系统的初始储能为零,若外力x(t)是振幅为10、周期为1的正弦信号,求物体的位移y(t)。

解:由已知条件,系统的输入信号为x(t)=10sin(2πt),系统的微分方程为

++100y(t)=x(t)

计算物体位移y(t)的MATLAB程序如下:

%program2_1微分方程求解

ts=0;te=5;dt=0.01;

sys=tf([1],[1 2 100]);

t=ts:dt:te;

x=10*sin(2*pi*t);

y=lsim(sys,x,t);

plot(t,y);

xlabel('Time(sec)')

ylabel('y(t)')

-0.25

-0.2-0.15-0.1-0.050

0.050.10.150.2Time(sec)

y (t )

图2-1系统的零状态响应

2.连续时间系统冲激响应和阶跃响应的求解

在MATLAB 中,求解系统冲激响应可应用控制系统工具箱提供的函数impulse ,求解阶跃响应可利用函数step 。其调用方式为

y= impulse( sys ,t) y= step( sys ,t)

式中t 表示计算系统响应的抽样点向量,sys 是连续时间LTI 系统模型。下面举例说明其应用。

【例2-2】在例2-1所述力学系统中,若外力x(t)是强度为10的冲激信号,求物体的位移y(t)。

解:由已知条件,系统的输入信号为x(t)=10δ(t),系统的微分方程可写成:

+

+100h(t)=10δ(t)

物体位移y(t)即系统的冲激响应,计算其的MATLAB 程序如下: %program3_2连续时间系统的冲激响应 clear clc

ts=0;te=5;dt=0.01; sys=tf([10],[1 2 100]); t=ts:dt:te;

y=impulse(sys,t); plot(t,y);

xlabel('Time(sec)') ylabel('h(t)')

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

1

Time(sec)

h

(

t

)

图2-2 连续时间系统的冲激响应

3.离散的时间系统零状态相应的求解

大量的离散时间LTI系统都可以用如下的线性常系数差分方程描述:

其中a0=1,x[k]、y[k]分别表示系统的输入和输出,n是差分方程的阶数。已知差分方程的n个初始状态和输入x[k],就可以编程由下式迭代计算出系统的输出:

y[k]=-

在零初始状态下,MATLAB信号处理工具提供了一个filter函数计算由差分方程描述的系统的响应。其调用方式为:

y= filter(b,a,x)

式中b=[b0,bl,b2,…,bM],a=[a0,a1,a2,…,aN]分别是差分方程左、右端的系数向量,x表示输入序列,y表示输出序列。注意输出序列的长度和输入序列长度相同。

【例2-3】受噪声干扰的信号为x[k]=s[k]+d[k],其中s[k]=(2k)0.9k是原始信号,d[k]是噪声。已知M点滑动平均( Moving Average)系统的输入与输出关系为

y[k] =

试编程实现M点滑动平均系统对受噪声干扰的信号去噪。

解:系统的输入信号x[kl含有有用信号s[k]和噪声信号d[k]。噪声信号d[k]可以用rand函教产生,将其叠加在有用信号s[k]上,即得到受噪声干扰的输入信号x[k]。下面的程序实现了对信号x[k]去噪,取M=5。

% program2_3 Signal Smoothing by Moving Average Filter

clear

clc

R=51;

d=rand(1,R)-0.5;

k=0:R-1;

s=2*k.*(0.9.^k);

x=s+d;

figure(1);plot(k,d,'r-.',k,s,'b--',k,x,'g-');

xlabel('Time index k');legend('d[k]','s[k]','x[k]');

M=5;b=ones(M,1)/M;a=1;

y=filter(b,a,x);

figure(2);plot(k,s,'b--',k,y,'g-');

xlabel('Time index k');

legend('s[k]','y[k]');

Time index k

Time index k

图2-3M点滑动平均系统对噪声干扰信号的去噪

程序运行的结果如图3 - 25所示。图3- 25(a)中3条曲线分别为噪声信号d[k]、有用信号s[k]和受噪声干扰的输入信号x[k]。图3-25 (b)中。s[k]为有用信号,y[k]是经过5

点滑动平均系统去噪的结果。比较这两条曲线可以看出,y[k]与s[k]波形除了有

21-

M

的延迟外,基本上是相似的,这说明y[k]中的噪声信号被抑制,M点滑动平均系统实现了对受噪声干扰信号的去噪。

4.离散时间系统单位脉冲响应的求解

在MATLAB中,求解离散时间系统单位脉冲响应,可应用信号处理工具箱提供的函数impz,其调用方式为

h= impz(b,a,k)

式中b=[b0,b1,b2,…,bN,]a=[a0,a1,a2,…,aN]分别是差分方程左、右端的系数向量,k 表示输出序列的取值范围,h就是系统的单位脉冲响应。

【例2-4】用impz函数求离散时间LTI系统

6y[k]+5y[k-1]+y[k-2]=10x[k]

的单位脉冲响应h[k]。

解:MATLAB程序如下:

%program3_4 离散系统地单位脉冲响应

clear

clc

k=0:10;

a=[6 5 1];

b=[10];

h=impz(b,a,k);

stem(k,h)

图2-4离散系统的单位脉冲响应

5.离散卷积的计算

卷积是用来计算系统零状态响应的有力工具。MATLAB信号处理工具箱提供了一个计算两个离散序列卷积和的函数conv,其调用方式为

c= conv(a,b)

式中a,b为待卷积两序列的向量表示,c是卷积结果。向量c的长度为向量a,b长度之和减一,即length(c):length(a)+length(b) -1。

【例2-5】已知序列x[k]={1,2,3,4;k=0,1,2,3},y[k]=[1,l,1,1,1;k=0,1,2,3,4},计算x[k]*y[k]并画出卷积结果。

解:MATLAB程序如下:

% program2_5

clear

clc

x=[1,2,3,4];

y=[1,1,1,1,1];

z=conv(x,y); N=length(z); stem(0:N-1,z);

图2-5 离散序列的卷积

Conv 函数也可以用来计算两个多项式的积。例如多项式)(323++s s 和)23(2

++s s 的

乘积可通过下面的MATLAB 语句求出:

a=[l ,0,2,3]; b=[l ,3,2]; c= conv(a ,b)

语句a=[1,0,2,3]和b=[l ,3,2]分别是多项式)(323++s s 和)23(2

++s s 的向量

表示。注意,在用向量表示多项式时,应将多项式各项包括零系数项的系数均写入向量的对

应元素中。如多项式)(323

++s s 中2次方的系数为零,故向量a 的第2个元素也为零。如

果表示成a=[l ,2,3],则计算机将认为表示的多项式为s 2

+2s +3。上面语句运行的结果为

c=

1 3 4 9 13 6 即

61393)23)(32(2

4

5

2

3

++++=++++s s s s s s s s 三. 实验内容:

1. 使用matlab 计算如下序列()n f 1和()n f 2的卷积和()n f ,绘出他们的时域波形。

()????

??

?==-==其它

,

01,10,21

,11n n n n f ()??

?≤≤-=其它

,02

2,12n n f

2. 已知某LTI 离散系统,其单位响应()()()4--=n u n u n h ,求该系统在激励为

()()()3--=n u n u n f 时的零状态响应()n y ,并绘出其时域波形。

四. 思考题:

1. 分析实验内容1中序列()n f 1和()n f 2的时域宽度与()n f 的时域宽度的关系。

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

大作业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全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

信号时域与频域分析

信号时域与频域分析 实验报告 姓名:杨 班级:机械 学号: 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实验报告材料(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2: 3.matlab程序流程控制

时域和频域的关系

信号的频域 在电子学、控制系统及统计学中,频域是指在对函数或信号进行分析时,分析其和频率有关部份,而不是和时间有关的部份,和时域一词相对。函数或信号可以透过一对数学的运算子在时域及频域之间转换。例如傅里叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅里叶变换可以将频谱再转换回时域的信号。 以信号为例,信号在时域下的图形可以显示信号如何随着时间变化,而信号在频域下的图形(一般称为频谱)可以显示信号分布在哪些频率及其比例。频域的表示法除了有各个频率下的大小外,也会有各个频率的相位,利用大小及相位的资讯可以将各频率的弦波给予不同的大小及相位,相加以后可以还原成原始的信号。在频域的分析中,常会用频谱分析仪来将实际的信号转换为频域下的频谱。 频域,尤其在射频和通信系统中运用较多,在高速数字应用中也会遇到频域。频域最重要的性质是:它不是真实的,而是一个数学构造。时域是惟一客观存在的域,而频域是一个遵循特定规则的数学范畴。 正弦波是频域中唯一存在的波形,这是频域中最重要的规则,即正弦波是对频域的描述,因为时域中的任何波形都可用正弦波合成。这是正弦波的一个非常重要的性质。然而,它并不是正弦波的独有特性,还有许多其他的波形也有这样的性质。正弦波有四个性质使它可以有效地描述其他任一波形: (1)时域中的任何波形都可以由正弦波的组合完全且惟一地描述。 (2)任何两个频率不同的正弦波都是正交的。如果将两个正弦波相乘并在整个时间轴上求积分,则积分值为零。这说明可以将不同的频率分量相互分离开。

(3)正弦波有精确的数学定义。 (4)正弦波及其微分值处处存在,没有上下边界。 使用正弦波作为频域中的函数形式有它特别的地方。若使用正弦波,则与互连线的电气效应相关的一些问题将变得更容易理解和解决。如果变换到频域并使用正弦波描述,有时会比仅仅在时域中能更快地得到答案。 而在实际中,首先建立包含电阻,电感和电容的电路,并输入任意波形。一般情况下,就会得到一个类似正弦波的波形。而且,用几个正弦波的组合就能很容易地描述这些波形。 许多物理元件的特性会随着输入讯号的频率而改变,例如电容在低频时阻抗变大,高频时阻抗变小,而电感恰好相反,高频时阻抗变大,低频时阻抗变小。一个线性非时变系统的特性也会随频率而变化,因此也有其频域下的特性,频率响应的图形即为其代表。频率响应可以视为是一个系统在输入信号振幅相同、频率不同时,其输出信号振幅的变化,可以看出系统在哪些频率的输出较大。有些系统的定义就是以频域为主,例如低通滤波器只允许低于一定频率的讯号通过。 不论是进行拉普拉斯转换、Z转换或是傅立叶变换,其产生的频谱都是一个频率的复变函数,表示一个信号(或是系统的响应)的振幅及其相位。不过在许多的应用中相位的资讯并不重要,若不考虑相位的资讯,都可以将频谱的资讯只以不同频率下的振幅(或是功率密度)来表示。 功率谱密度是一种常应用在许多非周期性也不满足平方可积性(square-integrable)讯号的频域表示法。只要一个讯号是符合广 义平稳随机过程的输出,就可以计算其对应的功率谱密度。 时域分析与频域分析是对模拟信号的两个观察面。时域分析是以时间轴为坐标表示动态信号的关系;频域分析是把信号变为以频率轴为坐标表示出来。一般来说,时域的表示较为形象与直观,频域分析

matlab实验心得体会.doc

matlab实验心得体会 篇一:matlab实验心得总结 通过《matlab仿真》实验使我学习掌握了许多知识。首先是对matlab 有了一个全新的认识,其次是对matlab的更多操作和命令的使用有了更高的掌握,最重要的事对matlab的处理能力有了一个更高的飞跃尤其是对相关函数的使用及相关问题的处理。 就对matlab相关的命令操作而言,通过这次实验的亲身操作和实践,学习掌握了许多原本不知道的或者不太熟悉的命令。比如说相关m文件的建立,画图用到的标注,配色,坐标控制,同一张图里画几幅不同的图像,相关参数的设置以及相关函数的调用格式等等。就拿建立一个数学方程而言,通过设置不同的参数达到所需要的要求和结果,而且还可以在不同的窗口建立不同的函数而达到相同的效果,比如说可以再命令窗口和m文件中通过不同的命令设置的到相同的所需的效果图。而自己对于矩阵及闭环传递函数的建立原本所掌握的知识几乎为零,而通过这次实验使我彻底的掌握了相关的命令操作和处理的方法,在这里我们不仅可以通过建立函数和参数来达到目标效果,而且还可以通过可视化的编程达到更快更方便,更简洁的效果。就拿可视化编程而言原本根本就只是听说而已罢了,从来就没有亲身去尝试过,然而现在自己却可以和容易的通过搭建不同功能木块来实现相关的函数及功能。这些在原本根本就不敢相信,然而通过《matlab仿真》的学习和实验亲身操作这些原本看似不可能的操作在此就变的轻而易举的事了。

再此我不得不题到的事指导老师教我们怎么去搭建构造相关闭环传递函数的实验,这个实验几乎在我们的这次实验中占据了非常大的比重,在后面的几个大一点的实验中几乎都是涉及这个方面的内容,我现在想说的事怎么去搭建相关的函数和功能模块对我们来说几乎已经不是什么难事了,就拿怎么去对模块功能的实现以及分析确实是个重点和难点。通过对同一个模块分析其对应的不同的参数分析图的建立去分析和解释其对应的相关功能和技术指标和性能分析是非常重要的,我们不可能只需要建立相关的模块和功能就说自己掌握了所有的相关知识和技术,真正的技术和知识是怎么去分析和解释相关的技术指标和功能参数才是重中之重。就此而言,我坦诚的说自己所掌握的还是十分的有限的,但是老师给我们介绍的相关方法和技巧还是十分有效果的,如果自己真的想在这方面有什么建树对自己以后的要求还是需要更改的要求的,万不可以就此止步不前,自命不凡,我们还需掌握和了解还有许多许多,我们真正所掌握的只是皮毛,要想取得更大的成绩就得不断的去努力学习和汲取相关的知识和技巧。万不可自以为傲,裹足不前,matlab真的是个非常强大和有用的工具我们真正的能把它学懂学透的话还是需要下非常大的功夫和努力的。然而,不是说兴趣才是最大的老师嘛,我也相信,只要你自己有兴趣,即使它再怎么强大和难搞,我们能做的还是非常多的,关键的就只是在于你自己的态度了。我这里想说的事,matlab对于我来说是非常有吸引力的,我不敢说自己多么喜欢它,但是兴趣确实蛮高的,所以我相信在以后的学习和工作当中matlab将成为我非常有用的帮忙工具和好伙伴,也许这要说有点太草率了,但是我觉得对它的评价怎么也不会让每一个接触

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

肌电信号的时域和频域分析 摘要:肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。 其种类重要有两种:一,临床肌电图检查多采用针电极插入肌肉检测肌 电图,其优点是干扰小,定位性好,易识别,但由于它是一种有创伤的检测 方法,其应用收到了一定的限制。二,表面肌电则是从人体皮肤表面通过电 极记录下来的神经肌肉活动时发放的生物电信号,属于无创伤性,操作简单,病人易接受,有着广泛的应用前景。 本次设计基于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),是各数据偏离平均数的距离的平均数,它是离均差平方和平均后的方根,用σ表示。

MATLAB课程设计实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号:20120704 专业班级:光信息科学与技术 指导老师:miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

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

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

matlab实验心得总结

通过《matlab仿真》实验使我学习掌握了许多知识。首先是对matlab有了一个全新的认识,其次是对matlab的更多操作和命令的使用有了更高的掌握,最重要的事对matlab的处理能力有了一个更高的飞跃尤其是对相关函数的使用及相关问题的处理。 就对matlab相关的命令操作而言,通过这次实验的亲身操作和实践,学习掌握了许多原本不知道的或者不太熟悉的命令。比如说相关m文件的建立,画图用到的标注,配色,坐标控制,同一张图里画几幅不同的图像,相关参数的设置以及相关函数的调用格式等等。就拿建立一个数学方程而言,通过设置不同的参数达到所需要的要求和结果,而且还可以在不同的窗口建立不同的函数而达到相同的效果,比如说可以再命令窗口和m文件中通过不同的命令设置的到相同的所需的效果图。而自己对于矩阵及闭环传递函数的建立原本所掌握的知识几乎为零,而通过这次实验使我彻底的掌握了相关的命令操作和处理的方法,在这里我们不仅可以通过建立函数和参数来达到目标效果,而且还可以通过可视化的编程达到更快更方便,更简洁的效果。就拿可视化编程而言原本根本就只是听说而已罢了,从来就没有亲身去尝试过,然而现在自己却可以和容易的通过搭建不同功能木块来实现相关的函数及功能。这些在原本根本就不敢相信,然而通过《matlab仿真》的学习和实验亲身操作这些原本看似不可能的操作在此就变的轻而易举的事了。 再此我不得不题到的事指导老师教我们怎么去搭建构造相关闭环传递函数的实验,这个实验几乎在我们的这次实验中占据了非常大的比重,在后面的几个大一点的实验中几乎都是涉及这个方面的内容,我现在想说的事怎么去搭建相关的函数和功能模块对我们来说几乎已经不是什么难事了,就拿怎么去对模块功能的实现以及分析确实是个重点和难点。通过对同一个模块分析其对应的不同的参数分析图的建立去分析和解释其对应的相关功能和技术指标和性能分析是非常重要的,我们不可能只需要建立相关的模块和功能就说自己掌握了所有的相关知识和技术,真正的技术和知识是怎么去分析和解释相关的技术指标和功能参数才是重中之重。就此而言,我坦诚的说自己所掌握的还是十分的有限的,但是老师给我们介绍的相关方法和技巧还是十分有效果的,如果自己真的想在这方面有什么建树对自己以后的要求还是需要更改的要求的,万不可以就此止步不前,自命不凡,我们还需掌握和了解还有许多许多,我们真正所掌握的只是皮毛,要想取得更大的成绩就得不断的去努力学习和汲取相关的知识和技巧。万不可自以为傲,裹足不前,matlab真的是个非常强大和有用的工具我们真正的能把它学懂学透的话还是需要下非常大的功夫和努力的。然而,不是说兴趣才是最大的老师嘛,我也相信,只要你自己有兴趣,即使它再怎么强大和难搞,我们能做的还是非常多的,关键的就只是在于你自己的态度了。我这里想说的事,matlab对于我来说是非常有吸引力的,我不敢说自己多么喜欢它,但是兴趣确实蛮高的,所以我相信在以后的学习和工作当中matlab将成为我非常有用的帮忙工具和好伙伴,也许这要说有点太草率了,但是我觉得对它的评价怎么也不会让每一个接触过它的人吝啬是自己赞美之词。它不仅仅可以用来建模分析函数,还可以用来进行图形的建模和仿真,还可以用来分析系统和函数的参数稳定性等等。再次就不一一列举了,我怕三天也不会说完的。

《MATLAB及应用》实验报告2

核科学技术学院 实验报告 实验项目名称MATLAB符号计算 所属课程名称MATLAB及应用 实验类型上机实验 实验日期12月日 指导教师谢芹 班级 学号 姓名 成绩 一、实验名称 MATLAB符号计算 二、实验目的

(1)掌握定义符号对象的方法 (2)掌握符号表达式的运算法则以及符号矩阵运算 (3)掌握求符号函数极限及导数的方法 (4)掌握求符号函数定积分和不定积分的方法 三、实验原理 1. 函数极限及导数的方法 (1)函数极限:limit(F,x,a) 求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。 (2)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。 (3)limit(f,x,a,'right'):求符号函数f的极限值。'right'表示变量x从右边趋近于a。 (4)limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。 2. 微分: diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。 diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。 diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。 diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。 3. 函数定积分和不定积分的方法: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。 int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。 int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。 梯形法:trapz(x,y):x为分割点构成的向量,y为被积函数在分割点上的函数值构成的向量; 抛物线法:quad(f,a,b,tol),f是被积函数,[a,b]是积分区间,tol是精度。

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

从开始的系统时域分析,到频域分析,虽然形式上可能会有些诧异,但是不可否认,他们的思路都是一致的,即将信号分解成一个个的基信号,然后研究系统对于基信号的响应,再将这些所有的基信号的响应叠加,便是系统对于一个完整的复杂信号的响应。 系统时域分析: 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实验报告

北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班级2012电气2班学号xxxxxxxxxx姓名陈冲指导教师张凯成绩 实验题目(实验四)方程求根实验地点及时间JB501 2013/12/31(3-4节) 一、实验目的 1.掌握用程序语言来编辑函数。 2.学会用MATLAB编写resecm.m以及Newtoniter.m函数分别实现二分法、牛顿迭代法求解。 二、实验环境 Matlab软件 三、实验内容 1、以书中第11页题目1和第154页题目16为例编辑程序来实现计算结果。 2、使用MATLAB进行编写: 第一步:编写resecm.m函数,代码如下

第二步:编写Newtoniter.m函数,代码如下 第三步:利用上述函数编辑命令:(可见实验结果中的截图)1.在此之前先建立一个名为f.m的M文件,代码如下 function y=f(x); y=x^3-x-1; 再编代码: clear all; resecm(‘f’,1,2,0.01) 得到结果:ans=1.3247 2.再建文件名为li6_4fun.m的M文件,代码如下 function y=li6_4fun(x); y=x^3+2*x^2+10*x-20; 和dili6_4fun.m的M文件,代码如下 function y=dili6_4fun(x); y=3*x^2+4*x+10;

再编代码: 得到结果:x=1.3688 若在语句中添加format long;语句,且精确到14位,则结果为 x=1.36880810782137 四、实验题目 1、用二分法求方程310x x --=在[]1,2内的近似值,要求误差不超过310-。 16、早在1225年,有人曾求解方程32 210200x x x ++-=(见前述题1)并给了高精度的实根* 1.368808107x =,试用牛顿法求得这个结果。 前述题:1、试取01x =,用迭代公式 1220210k k k x x x += ++,0,1,2,...k = 求方程32210200x x x ++-=的根,要求准确到310-。 五、实验结果

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

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

时域采样与频域分析报告

实验二:时域采样与频域分析 一、实验原理与方法 1、时域采样定理: (a )对模拟信号)(t x a 以间隔T 进行时域等间隔理想采样,形成的采样信号 的频谱)(Ωj X )是原模拟信号频谱)(ωj X a 以采样角频率)2(T s s π=ΩΩ为周期进行 周期延拓。公式为:[]∑∞-∞ =Ω-Ω==Ωn s a a a jn j X T t x FT j X )(1)()()) (b )采样频率s Ω必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。 2、频域采样定理: 公式为:[])()()()(n R iN n x k X IDFT n x N i N N N ?? ????+==∑∞-∞=。由公式可知,频域采样点数N 必须大于等于时域离散信号的长度M(即N ≥M),才能使时域不产生混叠,则N 点[])(k X IDFT N 得到的序列()N x n 就是原序列)(n x ,即)()(n x n x N =。 二、实验内容 1、时域采样理论的验证。给定模拟信号 )()sin()(0t u t Ae t x t a Ω=-α 式中A =444.128,α=502π,0Ω=502πrad/s ,它的幅频特性曲线如图2.1

图2.1 )(t x a 的幅频特性曲线 现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。 按照)(t x a 的幅频特性曲线,选取三种采样频率,即s F =1k Hz ,300Hz ,200Hz 。观测时间选ms T p 50=。 为使用DFT ,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用)(1n x ,)(2n x ,)(3n x 表示。 )()sin()()(0nT u nT Ae nT x n x nT a Ω==-α 因为采样频率不同,得到的)(1n x ,)(2n x ,)(3n x 的长度不同, 长度(点数) 用公式s p F T N ?=计算。选FFT 的变换点数为M=64,序列长度不够64的尾部加零。 [])()(n x FFT k X = 1,,3,2,1,0-=M k Λ 式中k 代表的频率为 k M k πω2=。 要求:编写实验程序,计算)(1n x 、)(2n x 和)(3n x 的幅度特性,并绘图显示。 观察分析频谱混叠失真。程序见附录2.1、实验结果见图2.2。 2、频域采样理论的验证。给定信号如下:

matlab实验报告总结精选

matlab实验报告总结 电气工程学院自动化102班 2012年12月21日 实验一 MATLAB环境的熟悉与基本运算 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本知识 1.熟悉MATLAB环境 MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MATLAB常用命令 变量与运算符变量命名规则如下: 变量名可以由英语字母、数字和下划线组成变量名应以英文字母开头长度不大于31个区分大小写 MATLAB中设置了一些特殊的变量与常量,列于下表。 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符 表2 MATLAB算术运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符 表5 MATLAB特殊运算 的一维、二维数组的寻访

表6 子数组访问与赋值常用的相关指令格式 的基本运算 表7 两种运算指令形式和实质内涵的异同表 的常用函数 表8 标准数组生成函数 表9 数组操作函数 三、实验内容 1、新建一个文件夹 2、启动,将该文件夹添加到MATLAB路径管理器中。 3、保存,关闭对话框 4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye 5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。 6、初步程序的编写练习,新建M-file,保存,学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。 注意:每一次M-file的修改后,都要存盘。 练习A: help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。

matlab实验心得体会

matlab实验心得体会 ]这个就是我自己做出来的,发现用soundsc听出来还行,但是用wavwrite就变的很难听。后来发现PB写的很好,而且还能够把前面一段没有噪音的部分给保存下来,我就看了他的代码,有几点体会: 1.将代码写在.m文件里,这样只需要该文件里的就可以而不必每次都去敲命令; 2.PB对于vector使用的比较熟,我一开始也想到能不能只将后面一段由噪声的给滤掉而保留以前的,但是没想到什么方法,看了PB的代码发现,他对于vector了解的比较深刻,我上面的想法最后只使用一句代码就搞定了 3.对于噪声频率,一定要选准确,PB对每一段噪声只使用的一个频率,就将噪声滤干净了,我用了每段噪声附近的几个波形还没有得到理想波形,最后我发现我选的中心频率和PB的只相差10~25赫兹,所以一定要精确,后来WH又试了一下,只发现改变5HZ的频率都不行 4.加入团队以来,尤其是加入种子班之后就一直告诫自己要时刻抱着一个学习的心态,对于任务不要只是敷衍,完成就好,而是自己一定要从中学到东西,而且在这个过程中一定要逐步掌握自己的学习方法,但是就是这个Matlab,我就是在敷衍了事,所以没有什么事情是可以敷衍的,学习发生在每时每刻,不能因为这是必上的课程而自己没有兴趣就蒙混过关,应该利用这个机会锻炼自己,积极起来,改变自己懒惰的弱点。 PS:附上修改后的代码 %get the samples rate and vector of the wave [xx, fs] = wavread('SunshineSquare'); xx = xx'; specgram(xx, [], fs); %^get the A from the frequencies of the noises fnoise = [0 1575 3150 4725]; ww = 2*pi*fnoise/fs; A = -2*cos(ww); %seperate the wave based on the tone "du" leng = length(xx); du = floor((7.749/10.791)*leng); %determine the h[n] of correspond noise hh = [1 A(1) 1]; for i = 2:4

相关文档
最新文档