信号处理仿真(MATLAB)实验系统仿真(MATLAB)实验2

信号处理仿真(MATLAB)实验系统仿真(MATLAB)实验2
信号处理仿真(MATLAB)实验系统仿真(MATLAB)实验2

信号处理仿真(MATLAB)

实验指导书

青岛大学自动化工程学院

2006年4月

MATLAB实验一

一、实验目的:

1. Be familiar with MATLAB Environment

2. Be familiar with array and matrix

3. Be familiar with MATLAB operations and simple plot function

二、实验内容:

1. Be familiar with Matlab 6.5

Startup Matlab 6.5, browse the major tools of the Matlab desktop The Command Windows

The Command History Windows

Launch Pad

The Edit/Debug Window

Figure Windows

Workspace Browser and Array Editer

Help Browser

Current Directory Browser

2. Give the answer of the following questions for the array 1)What is the size of array1?

2)What is the value of array1(4,1)?

3)What is the size and value of array1(:,1:2)?

4)What is the size and value of array1([1 3], end)?

3. Give the answer of the following commad

1) a=1:2:5; 2) b=[a’ a’ a’]; 3) c=b(1:2:3,1:2:3);

4) d=a+b(2,:) 5) w=[zeros(1,3) ones(3,1)’ 3:5’]

4. Give the answer of the sub-arrays

1) array1(3,:); 2) array1(:,3); 3) array1(1:2:3,[3 3 4]) 4) array1([1 1],:)

5. Give the answer of the following operations

1) a+b 2) a*d 3) a.*d 4) a*c

5) a.*c 6)a\b 7) a.\b 8)a.^b

6.Solve the following system of simultaneous equations for x 7.Edit & Run the m-file

% test step response function

wn=6; kosi=[0.1:0.1:1.0 2];

figure(1); hold on

for kos=kosi

num=wn^2; den=[1,2*kos*wn,wn.^2]; step(num,den)

end

hold off;

8.Edit & Run the m-file

% test plot function

x=0:pi/20:3*pi; y1=sin(x); y2=2*cos(2*x); plot(x,y1,'rv:',x,y2,'bo--');

title('Plot the Line of y=sin(2x) and its derivative'); xlabel('X axis'); ylabel('Y axis');

legend('f(x)','d/dx f(x)'); grid on;

9. Edit & Run the m-file

% test subplot and loglog function

x=0:0.1:10; y=x.^2-10.*x+26;

subplot(2,2,1); plot(x,y); grid on;

subplot(2,2,2); semilogx(x,y); grid on;

subplot(2,2,3); semilogy(x,y); grid on;

subplot(2,2,4); loglog(x,y); grid on;

10.Edit & Run the m-file

% test max and plot function

volts=120; rs=50; rl=1:0.1:100;

amps=volts./(rs+rl); pl=(amps.^2).*rl; [maxvol,index]=max(pl);

plot(rl,pl,rl(index),pl(index),'rh'); grid on;

MATLAB实验二

一、实验目的:

1. Learn to design branch and loop statements program

2. Be familiar with relational and logical operators

3. Practice 2D plotting

二、实验内容:

PART I: (选择练习,不需提交实验报告)

1. Hold command exercise

n x=-pi:pi/20:pi;

n y1=sin(x); y2=cos(x); plot(x,y1, 'b-'); hold on;

n plot(x,y2, 'k--'); hold off;

n legend ('sinx', 'cosx')

2. Figure command exercise

figure(1);

subplot(2,1,1);

x=-pi:pi/20:pi; y=sin(x); plot(x,y); grid on;

title('Subplot 1 Title');

subplot(2,1,2);

x=-pi:pi/20:pi; y=cos(x); plot(x,y); grid on;

title('Subplot 2 Title');

3. Polar Plots exercise

g=0.5;

theta=0:pi/20:2*pi;

gain=2*g*(1+cos(theta));

polar(theta,gain,'r-');

title('\fontsize{20} \bfGain versus angle \theta');

4. Compare the 3 approaches follows (Loops and Vectorization)

%A. Perform calculation by For Loop with pre-initialize array

tic;

n square=zeros(1,10000) %pre-initialize array

n for ii=1:10000

n square(ii)=ii^2;

n square_root(ii)=ii^(1/2);

n cube_root(ii)=ii^(1/3);

n end

n toc; t1=toc

%B. Perform calculation by For Loop without pre-initialize array

n tic;

n for ii=1:10000

n square(ii)=ii^2;

n square_root(ii)=ii^(1/2);

n cube_root(ii)=ii^(1/3);

n end

n toc; t2=toc

%C. Perform calculation with vectors

n tic;

ii=1:10000

n square(ii)=ii.^2;

square_root(ii)=ii.^(1/2);

cube_root(ii)=ii.^(1/3);

n end

n toc; n t3=toc

PART II: (需提交实验报告)

1. Assume that a,b,c, and d are defined, and evaluate the following expression.

a=20; b=-2; c=0; d=1;

(1) a>b; (2) b>d; (3) a>b&c>d; (4) a==b; (5) a&b>c; 6) ~~b;

a=2; b=[1 –2;-0 10]; c=[0 1;2 0]; d=[-2 1 2;0 1 0];

(7) ~(a>b) (8) a>c&b>c (9) c<=d

a=2; b=3; c=10; d=0;

(10) a*b^2>a*c (11) d|b>a (12) (d|b)>a

a=20; b=-2; c=0; d=’Test’;

(13) isinf(a/b) (14) isinf(a/c) (15) a>b&ischar(d) (16) isempty(c)

2. Write a Matlab program to solve the function, where x is a number <1. Use

an if structure to verify that the value passed to the program is legal. If the value of x is legal, caculate y(x). If not ,write a suitable error message and quit.

3. Write out m. file and plot the figures with grids

Assume that the complex function f(t) is defined by the equation

f(t)=(0.5-0.25i)t-1.0

Plot the amplitude and phase of function for

4. Write the Matlab statements required to calculate y(t) from the equation

for value of t between –9 and 9 in steps of 0.5. Use loops and branches to perform this calculation.

5. Write an m.file to evalue the equation for all values of x between 0.1 and 3,

in steps of 0.1. Do this twice, once with a for loop and once with vectors.

Plot the resulting function using a 4.0 thick dashed blue line.

MATLAB实验三

一、实验目的:

1. Learn to write MATLAB functions

2. Be familiar with complex data and character data

3. Practice 2D plotting

二、实验内容:

1. Write three Matlab functions to calculate the hyperbolic sine, cosine, and

tangent functions:

then plot the shapes of hyperbolic sine, cosine, and tangent functions on one figure, .

2. Write a program use the function and plot the line,

and search for the minimum and maximum in 200 steps over the range of , mark the minimum and maximum on the line figure.

3. Write a function to calculate the distance between two points and , that the points should be

given by ‘input’ function.

4. Write a function complex_to that accept a complex number var, and

returns two output arguments containing the magnitude mag and angle theta of the complex number. The output angle should be in degrees.

Write another function polar_to_complex that accepts two input arguments containing the magnitude mag and angle theta of the complex number in degrees, and returns the complex number var.

5. Write a program that accepts a series of strings from a user with the input

function, sorts the strings into ascending order, and prints them out.

MATLAB实验四

一、实验目的:

1. Practice 2D plotting and 3D plotting

2. Learn to use fplot function

3. Be familiar with cell arrays and structure arrays

二、实验内容:

1. Give the 3D plot figure of use plot3 function, , and grid on, linewidth is

3.0.

2. Plot the function , , step 0.1. Create the following plot types: (a) stem plot;

(b) stair plot; (c) bar plot; (d) compass plot.

3. Plot the function over the range using function fplot, and grid on.

4. Create a cell arrays:

5. Create a structure arrays and to calculate the mean billing of three

patients:

MATLAB实验五

一、实验目的:

Be familiar with Input/Output functions

二、实验内容:

1. Write a m-file. The m-file creates an array containing random values,

sorts the array into ascending order, opens a user-specified file for writing only, then writes the array to disk in 32-bit floating-point format , and close the file. It then opens the file and read the data back into array.

2. Edit a file as data4_4.txt that contains square matrix, then import the

array use uiimport function, and calculate the inverse of the square matrix .

3. Write a program to read a set of integers from an input data file, and

locate the largest and smallest values within the data file. Print out the largest and smallest values, together with the lines on which they were found in one figure.

基于Matlab的脑电波信号处理

做脑电波信号处理滴嘿嘿。。Matlab addicted Codes %FEATURE EXTRACTER function [features] = EEGfeaturetrainmod(filename,m) a = 4; b = 7; d = 12; e = 30; signals = 0; for index = 1:9; % read in the first ten EEG data because the files are numbered as ha11test01 rather than ha11test1. s = [filename '0' num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0; signals = signal; else signals = [signals signal]; end end for index = 10:1:m/2; % read in the rest of the EEG training data s = [filename num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0;

signals = signal; else signals = [signals signal]; end end %%%%% modification just for varying the training testing ratio ------ for index = 25:1:25+m/2; % read in the rest of the EEG training data s = [filename num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0; signals = signal; else signals = [signals signal]; end end %%%%%end of modification just for varying the training testing ratio----- for l = 1:m % exrating features (power of each kind of EEG wave forms) [Pxx,f]=pwelch(signals(:,l)-mean(signals(:,l)), [], [], [], 200); % relative power fdelta(l) = sum(Pxx(find(fa))); falpha(l) = sum(Pxx(find(fb))); fbeta(l) = sum(Pxx(find(fd))); fgama(l)= sum(Pxx(find(f>e))); % gama wave included for additional work

MATLAB仿真实验报告

MATLAB 仿真实验报告 课题名称:MATLAB 仿真——图像处理 学院:机电与信息工程学院 专业:电子信息科学与技术 年级班级:2012级电子二班 一、实验目的 1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。 2、掌握对多维图像处理的相关技能,理解多维图像的相关性质 3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。 4、熟练掌握部分绘图函数的应用,能够处理多维图像。 二、实验条件

MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找 三、实验内容 1、nddemo.m函数文件的相关介绍 Manipulating Multidimensional Arrays MATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays. Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents : ●Creating multi-dimensional arrays 创建多维数组 ●Finding the dimensions寻找尺寸 ●Accessing elements 访问元素 ●Manipulating multi-dimensional arrays操纵多维数组 ●Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩 阵 (1)、Creating multi-dimensional arrays Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension. The CAT function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a multidimensional array by concatenating(联系起来)A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套). (2)、Finding the dimensions SIZE and NDIMS return the size and number of dimensions of matrices. (3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标). (4)、Manipulating multi-dimensional arrays

Matlab 在电磁场中的应用 (2)

Matlab 在电磁场中的 应用 专业: 电气信息与自动化 班级:2012级自动化3班 学号:12012242065 学院:物电学院 指导老师:李虹 完成日期:2013年12月15日

Matlab 在电磁场中的应用 摘要 Matlab是美国Mathworks公司于80年代推出的大型数学软件,通过多年的升级换代,现在已发展成为集数值计算、符号计算、可视化功能以及诸多的工具箱为一体的大型科学计算软件,它已广泛应用于科研院所、工程技术等各个部门,并成为大学生、研究生必备的工具软件。 电磁学是物理学的一个分支,是研究电场和电磁的相互作用现象。电磁学从原来互相独立的两门科学(电学、磁学)发展成为物理学中一个完整的分支学科,主要是基于电流的磁效应和变化的磁场的电效应的发现。这两个实验现象,加上麦克斯韦关于变化电场产生磁场的假设,奠定了电磁学的整个理论体系,发展了对现代文明起重大影响的电工和电子技术。 针对电磁场学习理论性强、概念抽象等特点,利用Matlab强大的数值计算和图形技术,通过具体实例进行仿真,绘制相应的图形,使其形象化,便于对其的理解和掌握。将Matlab引入电磁学中,利用其可视化功能对电磁学实验现象进行计算机模拟,可以提高学习效率于学习积极性,使学习效果明显。 本文通过Matlab软件工具,对点电荷电场、线电荷产生的电位、平面上N 个电荷之间的库仑引力、仿真电荷在变化磁场中的运动等问题分别给出了直观形象的的仿真图,形实现了可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。 关键词:Matlab 电磁学仿真计算机模拟 一、点电荷电场 问题描述: 真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。根据电学知识,若电荷在空间激发的电势分布为V,则电场强度等于电势梯度的

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计 摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。 关键词:Matlab,语音信号,傅里叶变换,滤波器 1课程设计的目的和意义 本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的: 1.1.了解Matlab软件的特点和使用方法。 1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法; 1.3.掌握数字滤波器的设计方法及应用。 1.4.了解语音信号的特性及分析方法。 1.5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 2 设计任务及技术指标 设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,

利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是: 2.1.采集语音信号。 2.2.对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。 2.3.针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。 2.4.对噪声滤除前后的语音进行时频域分析。 2.5.对语音信号进行重采样,回放并与原始信号进行比较。 2.6.对语音信号部分时域参数进行提取。 2.7.设计图形用户界面(包含以上功能)。 3 设计方案论证 3.1语音信号的采集 使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。 3.2语音信号的处理 语音信号的处理主要包括信号的提取播放、信号的重采样、信号加入噪声、信号的傅里叶变换和滤波等,以及GUI图形用户界面设计。 Ⅰ.语音信号的时域分析 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法。 Ⅱ.语音信号的频域分析 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更

MATLAB仿真实验全部

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些 2、 如何判断系统稳定性 3、 系统的动态性能指标有哪些 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

电磁场的Matlab仿真.

Matlab 与电磁场模拟 一单电荷的场分布: 单电荷的外部电位计算公式: q φ= 4πε0r 等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向 外辐射的线。 MATLAB 程序: theta=[0:.01:2*pi]'; r=0:10; x=sin(theta*r; y=cos(theta*r; plot(x,y,'b' x=linspace(-5,5,100; for theta=[-pi/4 0 pi/4] y=x*tan(theta; hold on ; plot(x,y; end grid on 单电荷的等位线和电力线分布图: 二多个点电荷的电场情况: 模拟一对同号点电荷的静电场 设有两个同号点电荷, 其带电量分别为 +Q1和+Q2(Q1、Q2>0 距离为 2a 则两 电荷在点P(x, y处产生的电势为: 由电场强度可得E = -?U, 在xOy 平面上, 电场强度的公式为: 为了简单起见, 对电势U 做如下变换:

。 Matlab 程序: q=1; xm=2.5; ym=2; x=linspace(-xm,xm; y=linspace(-ym,ym; [X,Y]=meshgrid(x,y; R1=sqrt((X+1.^2+Y.^2; R2=sqrt((X-1.^2+Y.^2; U=1./R1+q./R2; u=1:0.5:4; figure contour(X,Y,U,u grid on legend(num2str(u' hold on

plot([-xm;xm],[0;0] plot([0;0],[-ym;ym] plot(-1,0,'o' , 'MarkerSize' ,12 plot(1,0,'o' , 'MarkerSize' ,12 [DX,DY] = gradient(U; quiver(X,Y,-DX,-DY; surf(X,Y,U; 同号电荷的静电场图像为: 50 40 30 20 10 0-2 2

《电磁场与电磁波》仿真实验

《电磁场与电磁波》仿真实验 2016年11月 《电磁场与电磁波》仿真实验介绍 《电磁场与电磁波》课程属于电子信息工程专业基础课之一,仿真实验主要目的在于使学生更加深刻的理解电磁场理论的基本数学分析过程,通过仿真环节将课程中所学习到的理论加以应用。受目前实验室设备条件的限制,目前主要利用 MATLAB 仿真软件进行,通过仿真将理论分析与实际编程仿真相结合,以理论指导实践,提高学生的分析问题、解决问题等能力以及通过有目的的选择完成实验或示教项目,使学生进一步巩固理论基本知识,建立电磁场与电磁波理论完整的概念。 本课程仿真实验包含五个内容: 一、电磁场仿真软件——Matlab的使用入门 二、单电荷的场分布 三、点电荷电场线的图像 四、线电荷产生的电位 五、有限差分法处理电磁场问题 目录 一、电磁场仿真软件——Matlab的使用入门……………............................................... .4 二、单电荷的场分

布 (10) 三、点电荷电场线的图像 (12) 四、线电荷产生的电位 (14) 五、有限差分法处理电磁场问题 (17) 实验一电磁场仿真软件——Matlab的使用入门 一、实验目的 1. 掌握Matlab仿真的基本流程与步骤; 2. 掌握Matlab中帮助命令的使用。 二、实验原理 (一)MATLAB运算 1.算术运算 (1).基本算术运算 MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、 ^(乘方)。

注意,运算是在矩阵意义下进行的,单个数据的算术运算只是 一种特例。 (2).点运算 在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。 例1:用简短命令计算并绘制在0≤x≦6范围内的sin(2x)、sinx2、sin2x。 程序:x=linspace(0,6) y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x, y2,x, y3) (二)几个绘图命令 1. doc命令:显示在线帮助主题 调用格式:doc 函数名 例如:doc plot,则调用在线帮助,显示plot函数的使用方法。 2. plot函数:用来绘制线形图形 plot(y),当y是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。 plot(x,y),其中x和y为长度相同的向量,分别用于存储x坐标和y 坐标数据。 plot(x,y,s)

基于MATLAB的语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号: 指导老师:

一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,

是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能

MATLAB Simulink系统建模与仿真 实验报告

MATLAB/Simulink 电力系统建模与仿真 实验报告 姓名:****** 专业:电气工程及其自动化 班级:******************* 学号:*******************

实验一无穷大功率电源供电系统三相短路仿真 1.1 无穷大功率电源供电系统仿真模型构建 运行MATLAB软件,点击Simulink模型构建,根据电路原理图,添加下列模块: (1)无穷大功率电源模块(Three-phase source) (2)三相并联RLC负荷模块(Three-Phase Parallel RLC Load) (3)三相串联RLC支路模块(Three-Phase Series RLC Branch) (4)三相双绕组变压器模块(Three-Phase Transformer (Two Windings)) (5)三相电压电流测量模块(Three-Phase V-I Measurement) (6)三相故障设置模块(Three-Phase Fault) (7)示波器模块(Scope) (8)电力系统图形用户界面(Powergui) 按电路原理图连接线路得到仿真图如下: 1.2 无穷大功率电源供电系统仿真参数设置 1.2.1 电源模块 设置三相电压110kV,相角0°,频率50Hz,接线方式为中性点接地的Y形接法,电源电阻0.00529Ω,电源电感0.000140H,参数设置如下图:

1.2.2 变压器模块 变压器模块参数采用标幺值设置,功率20MVA,频率50Hz,一次测采用Y型连接,一次测电压110kV,二次侧采用Y型连接,二次侧电压11kV,经过标幺值折算后的绕组电阻为0.0033,绕组漏感为0.052,励磁电阻为909.09,励磁电感为106.3,参数设置如下图: 1.2.3 输电线路模块 根据给定参数计算输电线路参数为:电阻8.5Ω,电感0.064L,参数设置如下图: 1.2.4 三相电压电流测量模块 此模块将在变压器低压侧测量得到的电压、电流信号转变成Simulink信号,相当于电压、电流互感器的作用,勾选“使用标签(Use a label)”以便于示波器观察波形,设置电压标签“Vabc”,电流标签“Iabc”,参数设置如下图:

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

增量调制MATLAB仿真实验

增量调制MATLAB仿真实验

增量调制(DM)实验 一、实验目的 (1)进一步掌握MATLAB的应用。 (2)进一步掌握计算机仿真方法。 (3)学会用MATLAB软件进行增量调制(DM)仿真实验。 二、实验原理 增量调制是由PCM发展而来的模拟信号数字化的一种编码方式,它是PCM的一种特例。增量调制编码基本原理是指用一位编码,这一位码不是表示信号抽样值的大小,而是表示抽样幅度的增量特性,即采用一位二进制数码“1”或“0”来表示信号在抽样时刻的值相对于前一个抽样时刻的值是增大还是减小,增大则输出“1”码,减小则输出“0”码。输出的“1”,“0”只是表示信号相对于前一个时刻的增减,不表示信号的绝对值。 增量调制最主要的特点就是它所产生的二进制代码表示模拟信号前后两个抽样值的差别(增加、还是减少)而不是代表抽样值本身的大小,因此把它称为增量调制。在增量调制系统的发端调制后的二进制代码1和0只表示信号这一个抽样时刻相对于前一个抽样时刻是增加(用1码)还是减少(用0码)。收端译码器每收到一个1码,译码器的输出相对于前一个时刻的值上升一个量化阶,而收到一个0码,译码器的输出相对于前一个时刻的值下降一个量化阶。 增量调制(DM)是DPCM的一种简化形式。在增量调制方式下,采用1比特量化器,即用1位二进制码传输样值的增量信息,预测器是

一个单位延迟器,延迟一个采样时间间隔。预测滤波器的分子系数向量是[0,1],分母系数为1。当前样值与预测器输出的前一样值相比较,如果其差值大于零,则发1码,如果小于零则发0码。 三、实验内容 增量调制系统框图如图一所示,其中量化器是一个零值比较器,根据输入的电平极性,输出为 δ,预测器是一个单位延迟器,其输出为前一个采样时刻的解码样值,编码器也是一个零值比较器,若其输入为负值,则编码输出为0,否则输出为1。解码器将输入1,0符号转换为 δ,然后与预测值相加后得出解码样值输出,同时也作为预测器的输入 输入样值 e n e n =δsgn(e n ) 传输 n ) n n-1+δsgn(e n ) x n + - + + 预测输出 + n-1 + 预测输出 解码样值输出 x n-1 预测输入x n =x n-1+δsgn(e n ) 图一 增量调制原理框图 设输入信号为: x(t)=sin2π50t+0.5sin 2π150t 增量调制的采样间隔为1ms,量化阶距δ=0.4,单位延迟器初始值为0。建立仿真模型并求出前20个采样点使客商的编码输出序列以 解码 编码 二电平量化 单位延迟 单位 延迟

控制理论实验报告MATLAB仿真实验解析

实验报告 课程名称:控制理论(乙) 指导老师:林峰 成绩:__________________ 实验名称:MATLAB 仿真实验 实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 实验九 控制系统的时域分析 一、 实验目的: 1.用计算机辅助分析的办法,掌握系统的时域分析方法。 2.熟悉Simulink 仿真环境。 二、实验原理及方法: 系统仿真实质上就是对系统模型的求解,对控制系统来说,一般模型可转化成某个微分方程或差分方程表示,因此在仿真过程中,一般以某种数值算法从初态出发,逐步计算系统的响应,最后绘制出系统的响应曲线,进而可分析系统的性能。控制系统最常用的时域分析方法是,当输入信号为单位阶跃和单位冲激函数时,求出系统的输出响应,分别称为单位阶跃响应和单位冲激响应。在MATLAB 中,提供了求取连续系统的单位阶跃响应函数step ,单位冲激响应函数impulse ,零输入响应函数initial 等等。 二、实验内容: 二阶系统,其状态方程模型为 ? 1x -0.5572 -0.7814 1x 1 = + u ? 2x 0.7814 0 2x 0 1x y = [1.9691 6.4493] +[0] u 2x 四、实验要求: 1.编制MATLAB 程序,画出单位阶跃响应曲线、冲击响应曲线、系统的零输入响应、斜坡输入响应; (1)画出系统的单位阶跃响应曲线; A=[-0.5572 -0.7814;0.7814 0 ]; B=[1;0];

高频电子线路Matlab仿真实验

高频电子线路Matlab 仿真实验要求 1. 仿真题目 (1) 线性频谱搬移电路仿真 根据线性频谱搬移原理,仿真普通调幅波。 基本要求:载波频率为8kHz ,调制信号频率为400Hz ,调幅度为0.3;画出调制信号、载波信号、已调信号波形,以及对应的频谱图。 扩展要求1:根据你的学号更改相应参数和代码完成仿真上述仿真;载波频率改为学号的后5位,调制信号改为学号后3位,调幅度设为最后1位/10。(学号中为0的全部替换为1,例如学号2010101014,则载波为11114Hz ,调制信号频率为114,调幅度为0.4)。 扩展要求2:根据扩展要求1的条件,仿真设计相应滤波器,并获取DSB-SC 和SSB 的信号和频谱。 (2) 调频信号仿真 根据调频原理,仿真调频波。 基本要求:载波频率为30KHz ,调制信号为1KHz ,调频灵敏度32310f k π=??,仿真调制信号,瞬时角频率,瞬时相位偏移的波形。 扩展要求:调制信号改为1KHz 的方波,其它条件不变,完成上述仿真。 2. 说明 (1) 仿真的基本要求每位同学都要完成,并且记入实验基本成绩。 (2) 扩展要求可以选择完成。

1.0 >> ma = 0.3; >> omega_c = 2 * pi * 8000; >> omega = 2 * pi * 400; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t); >> fa = cos(omega * t); >> u_am = u_cm * (1 + fa).* fc; >> U_c =fft(fc,1024); >> U_o =fft(fa,1024); >> U_am =fft(u_am, 1024); >> figure(1); >> subplot(321);plot(t, fa, 'k');title('调制信号');grid;axis([0 2/400 -1.5 1.5]); >> subplot(323);plot(t, fc, 'k');title('高频载波');grid;axis([0 2/400 -1.5 1.5]); >> subplot(325);plot(t, u_am, 'k');title('已调信号');grid;axis([0 2/400 -3 3]); >> fs = 5000; >> w1 = (0:511)/512*(fs/2)/1000; >> subplot(322);plot(w1, abs([U_am(1:512)']),'k');title('调制信号频谱');grid;axis([0 0.7 0 500]); >> subplot(324);plot(w1, abs([U_c(1:512)']),'k');title('高频载波频谱');grid;axis([0 0.7 0 500]); >> subplot(326);plot(w1, abs([U_am(1:512)']),'k');title('已调信号频谱');grid;axis([0 0.7 0 500]); 1.1 >> ma = 0.8; >> omega_c = 2 * pi * 11138; >> omega = 2 * pi * 138; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t);

电磁场的Matlab仿真

Matlab 与电磁场模拟 一 单电荷的场分布: 单电荷的外部电位计算公式: 等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线。 MATLAB 程序: theta=[0:.01:2*pi]'; r=0:10; x=sin(theta)*r; y=cos(theta)*r; plot(x,y,'b') x=linspace(-5,5,100); for theta=[-pi/4 0 pi/4] y=x*tan(theta); hold on ; plot(x,y); end grid on 单电荷的等位线和电力线分布图: r q 04πεφ=

二多个点电荷的电场情况: 模拟一对同号点电荷的静电场 设有两个同号点电荷,其带电量分别为+Q1和+Q2(Q1、Q2>0 )距离为2a则两电荷在点P(x, y)处产生的电势为: 由电场强度可得E = -?U,在xOy平面上,电场强度的公式为: 为了简单起见,对电势U做如下变换: 。 Matlab程序:

q=1; xm=; ym=2; x=linspace(-xm,xm); y=linspace(-ym,ym); [X,Y]=meshgrid(x,y); R1=sqrt((X+1).^2+Y.^2); R2=sqrt((X-1).^2+Y.^2); U=1./R1+q./R2; u=1::4; figure contour(X,Y,U,u) grid on legend(num2str(u')) hold on plot([-xm;xm],[0;0]) plot([0;0],[-ym;ym]) plot(-1,0,'o','MarkerSize',12) plot(1,0,'o','MarkerSize',12) [DX,DY] = gradient(U); quiver(X,Y,-DX,-DY); surf(X,Y,U); 同号电荷的静电场图像为:

MATLAB仿真实验报告

MATLA仿真实验报告 学院:计算机与信息学院 课程:—随机信号分析 姓名: 学号: 班级: 指导老师: 实验一

题目:编写一个产生均值为1,方差为4的高斯随机分布函数程序, 求最大值,最小值,均值和方差,并于理论值比较。 解:具体的文件如下,相应的绘图结果如下图所示 G仁random( 'Normal' ,0,4,1,1024); y=max(G1) x=mi n(G1) m=mea n(G1) d=var(G1) plot(G1);

实验二 题目:编写一个产生协方差函数为CC)=4e":的平稳高斯过程的程序,产生样本函数。估计所产生样本的时间自相关函数和功率谱密度,并求统计自相关函数和功率谱密度,最后将结果与理论值比较。 解:具体的文件如下,相应的绘图结果如下图所示。 N=10000; Ts=0.001; sigma=2; beta=2; a=exp(-beta*Ts); b=sigma*sqrt(1-a*a); w=normrnd(0,1,[1,N]); x=zeros(1,N); x(1)=sigma*w(1); for i=2:N x(i)=a*x(i-1)+b*w(i); end %polt(x); Rxx=xcorr(x0)/N; m=[-N+1:N-1]; Rxx0=(sigma A2)*exp(-beta*abs(m*Ts)); y=filter(b,a,x) plot(m*Ts,RxxO, 'b.' ,m*Ts,Rxx, 'r');

periodogram(y,[],N,1/Ts); 文件旧硯化)插入(1〕 ZMCD 克闻〔D ]窗口曲) Frequency (Hz) 50 100 150 200 250 300 350 400 450 500 NH---.HP)&UO 二 balj/ 」- □歹

Matlab 编程方法及仿真实验

《现代机械工程基础实验》之机械工程控制基础综合实验报告 姓名 学号 班级 山东建筑大学机电工程学院 2012.06.04~06

第一部分 Matlab 编程方法及仿真实验 实验1. 三维曲面的绘制(略) 实验2. 系统零极点绘制例:求部分分式展开式和)(t g 一个线性定常系统的传递函数是 1 5422 3)(2 3 ++++= s s s s s G (1) 使用MATLAB 建立传递函数,并确定它的极点和零点,写出)(s G 的部分分式展开式并绘制 系统的脉冲响应。 实验结果:零点-0.6667 极点-0.8796 + 1.1414i -0.8796 - 1.1414i -0.2408 实验3. 系统的阶跃响应 例. )(s G 的阶跃响应 对例2中由(1)式给出的传递函数)(s G ,增加一个0=s 处的极点,使用impulse 命令绘制其拉普拉斯反变换式曲线,得到阶跃响应图。将该响应与对)(s G 使用step 命令所得到的响应比较,确定系统的DC 增益。利用初值定理和终值定理来校验结果。 实验结果:DC 增益= 2

实验4. 双输入反馈系统单位阶跃响应 考虑一个如图1所示的反馈系统,它既有参考输入也有干扰输入,其中对象和传感器的传递函数是 )12)(15.0(4)(++=s s s G p ,105.01 )(+=s s H 控制器是一个增益为80,有一个在3-=s 处的零点,极点/零点比15=α超前控制器。推导 两个独立的MATLAB 模型,其中一个模型的输入为)(s R ,另一个输入为)(s D 。使用这些模型确定闭环零点和极点,并在同一坐标系内绘制它们的阶跃响应。 D (s ) 图1 具有参考和干扰输入的反馈系统方框图 实验结果: 参考输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 参考输入的DC 增益:320 干扰输入的CL 零点:-45 干扰输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 干扰输入的DC 增益:4 -20

电磁场的matlab仿真实验--m语言1

实验三:等量异号点电荷的电势分布 一、实验目的与要求 1.掌握命令窗口中直接输入语句,进行编程绘制等量异号点电荷的电势分布图; 2.掌握二维网格和三维曲面绘图的语句。 二、实验类型 设计 三、实验原理及说明 这里在命令窗口中直接输入简单的语句进行编程设计。MATLAB有几千个通用和专用 五、实验内容和步骤 (一)建立等量异号点电荷的电势方程

物理情景是oxy平面上在x=2,y=0处有一正电荷,x= -2,y=0处有一负电荷,根据 计算两点电荷电场中电势的分布,由于 (二)利用MA TLAB的函数, 绘制等量异号点电荷的电势分布图 首先选定一系列的x和y后,组成了平面上的网络点,再计算对应每一点上的z值。例如-5:0.2:5,-4:0.2:4分别是选取横坐标与纵坐标的一系列数值,meshgrid是生成数据网格的命令,[x,y]是xy平面上的坐标网格点。z是场点(x ,y)的电势,要求写出z的表达式。这里用到MA TLAB的函数mesh()描绘3D网格图,meshgrid()描绘在3D图形上加坐标网格,sqrt()求变量的平方根。mesh()是三维网格作图命令,mesh(x,y,z)画出了每一个格点(x,y)上对应的z值(电势)。在命令窗口中直接输入简单的语句,如下。 解1

解2

当场点即在电荷处时,会出现分母为零的情况,因此在r里加了一个小量0.01,这样既可以完成计算,又不会对结果的正确性造成太大影响。 另外需要注意的是表达式中的“./ ”、“.^ ”是对数组运算的算符,含义与数值运算中的“./ ”、“.^ ”相同,不同之处是后者只对单个数值变量进行运算,而前者对整个数组变量中的所有元素同时进行运算。 解2为了减少计算量,增加精确度,与先前的示例相比,计算范围由原先的-5

相关文档
最新文档