数字信号处理实验教程
数字信号处理实验讲义上课【精选】
plot(n/32,abs(F_32),'o');
set(gca,'xtick',[0,0.25,0.5,0.75,1]);
set(gca,'ytick',[0,2,4,6,8]);
grid on ;
xlabel('Normalized frequency');
ylabel('Magnitude');
hold off
要求:
(1)确定DFT 计算的各参数;
(2)进行理论值与计算值比较,分析各信号频谱分析的计算精度;(3)详细列出利用DFT 分析离散信号谱线的步骤;(4)写出实验原理。
思考题:
(1)既然可以直接计算DTFT ,为什么利用DFT 分析离散信号谱?
(2)若信号持续时间无限,且无解析表达式,如何利用DFT 分析其频谱?(3)在利用DFT 分析离散信号频谱时,会出现哪些误差?如何克服或减弱?(4)在利用DFT 分析离散信号频谱时,如何选择窗函数?
(5)补零和增加信号长度都可以提高频谱分辨率,两者有何本质区别?
实验四
离散系统分析
实验目的:
1、学习系统响应的MATLAB 求解方法。
2、深刻理解离散系统的系统函数零极点对系统频响的影响,可以根据零极点知识设计简单的滤波器。
实验原理:
离散LTI 系统可用系统函数的分子分母多项式形式,零极点-增益形式或状态空间形式来描述。
(1)系统函数的分子分母多项式形式
4 11 201628。
数字信号处理实验讲义
数字信号处理实验指导书淮北煤炭师范学院物理与电子信息学院电子技术实验室目录实验一数字信号处理系统结构和编程 (1)实验二用FFT作谱分析 (4)实验三IIR滤波器的设计 (10)实验四FIR滤波器的设计 (17)附录一 (24)附录二 (26)附录三 (31)实验一数字信号处理系统结构和编程一、实验目的1.学习C语言的编程;2.掌握在CCS环境下的C程序设计方法;3.学会使用C和汇编语言混合编程;4.熟悉用C语言开发DSP程序的流程。
二、实验设备计算机,仿真器,THRS-1实验箱三、实验步骤与内容1.连接好DSP开发系统,实验箱上电,运行CCS;2.按流程图编写C程序,实现所要求的功能;3.例程序操作说明。
启动CCS 2.0,用Project/Open打开“DSP54X-01”目录下的“DSP54X01.pjt”工程文件,双击“DSP54X01.pjt”及“Source”可查看各源程序;并加载“DSP54X01.out”;单击“Run”运行程序;可以观察到D8指示灯闪烁;用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;观察变量为x,长度为500,数值类型为16位有符号整型变量;如下图所示,图中下半部分为观察图形窗口的设置,上半部分为观察的图形。
四、程序框图五、实验说明CCS包含C编译器,支持标准C以及C和汇编混合编程。
C编译器包括三个功能模块:语法分析、代码优化和代码产生,如下图所示。
其中,语法分析(Parser)完成C语法检查和分析;代码优化(Optimizer)对程序进行优化,以便提高效率;代码产生(Code Generator)将C程序转换成C54x的汇编源程序。
本实验通过一些对数组及数据指针的基本操作,让实验者能够对使用C语言在CCS环境下编程有一个一目了然的认识。
并使用汇编语句,以体会两者综合运用时的优越性。
实验源程序如下:#include <math.h>#define pi 3.1415926#define N 500void main(){ int i,j;int *p;int x[500];for(i=0;i<N;i++)x[i]=0; for(i=0;i<N;i++){ x[i]=(int)100*sin(2*pi*i/250);}p=(int *)0x100;for(i=0;i<N;i++){ *p=x[i];p++ ;}for(;;){ asm(" rsbx xf");for(i=0;i<30000;i++)for(j=0;j<10;j++){ asm(" nop");asm(" nop");}asm(" ssbx xf");for(i=0;i<30000;i++)for(j=0;j<10;j++){asm(" nop");asm(" nop");}}}实验二用FFT作谱分析一、实验目的1.加深对DFT算法原理和基本性质的理解;2.熟悉FFT算法原理和FFT子程序的应用;3.学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
数字信号处理实验4
实验4 离散时间系统的频域分析一、实验目的(1)了解离散系统的零极点与系统因果性和稳定性的关系; (2)加深对离散系统的频率响应特性基本概念的理解; (3)熟悉MATLAB 中进行离散系统零极点分析的常用子函数; (4)掌握离散系统幅频响应和相频响应的求解方法。
二、知识点提示本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB 相关子函数的使用。
三、实验原理1.离散时间系统的零极点及零极点分布图设离散时间系统系统函数为NMzN a z a a z M b z b b z A z B z H ----++++++++==)1()2()1()1()2()1()()()(11 (4-1) MATLAB 提供了专门用于绘制离散时间系统零极点图的zplane 函数: ①zplane 函数 格式一:zplane(z, p)功能:绘制出列向量z 中的零点(以符号"○" 表示)和列向量p 中的极点(以符号"×"表示),同时画出参考单位圆,并在多阶零点和极点的右上角标出其阶数。
如果z 和p 为矩阵,则zplane 以不同的颜色分别绘出z 和p 各列中的零点和极点。
格式二:zplane(B, A)功能:绘制出系统函数H(z)的零极点图。
其中B 和A 为系统函数)(z H (4-1)式的分子和分母多项式系数向量。
zplane(B, A) 输入的是传递函数模型,函数首先调用root 函数以求出它们的零极点。
②roots 函数。
用于求多项式的根,调用格式:roots(C),其中C 为多项式的系数向量,降幂排列。
2.离散系统的频率特性MATLAB 提供了专门用于求离散系统频响特性的freqz 函数,调用格式如下: ①H = freqz(B,A,W)功能:计算由向量W (rad )指定的数字频率点上(通常指[0,π]范围的频率)离散系统)(z H 的频率响应)e (j ωH ,结果存于H 向量中。
数字信号处理实验指导书(需印刷)
实验一 常见离散信号的MATLAB 产生和图形显示1、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)加深对常用离散时间信号的理解。
(3)掌握简单的绘图命令。
(4)掌握线性卷积的计算机编程方法。
2、实验原理:(1)单位抽样序列⎩⎨⎧=01)(n δ0≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n(2)单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n(3)矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N n(4)正弦序列)sin()(ϕ+=wn A n x(5)复正弦序列jwnen x =)((6)指数序列na n x =)((7)线性时不变系统的响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y )()()()()(3、实验内容及步骤:(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。
(3)已知系统的单位脉冲响应),(9.0)(n u n h n=输入信号)()(10n R n x =,试用卷积法求解系统的输出)(n y ,并绘出n n x ~)(、n n h ~)(及n n y ~)(图形。
4、实验用MATLAB 函数介绍(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()(2)离散时间信号产生可能涉及的函数zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag(); (3)卷积计算可能涉及的函数conv(); length()注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。
数字信号处理实验讲义(电子10)
实验一 离散时间信号与系统一、 实验目的1. 加深对常用离散信号的理解;2. 熟悉连续信号经理想采样前后的频谱变化关系,理解时域采样定理。
3. 掌握序列傅里叶变换的计算机实现方法,熟悉时域离散系统的时域特性。
二、 实验原理1 单位抽样序列1 0()0 0n n n δ==≠⎧⎨⎩2 单位阶跃序列1 0()0 0n u n n ≥⎧=⎨<⎩3 正弦序列()sin(2/)s x n A fn f πϕ=+4 复正弦序列()j n x n Ae ϖ=5 实指数序列 ()n x n Aa =6.采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域特性和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅立业变换、Z 变换和序列傅立业变换之间关系式的理解。
采样原理详见课本。
三、 实验内容1、 产生10点的单位抽样序列δ(n);2、 以上序列右移3位的单位抽样序列δ(n-3); 3、 产生10点的任意序列:f(n)=8δ(n)+7δ(n-1)+6δ(n-2) +5δ(n-3)+ 4δ(n-4)+7δ(n-5);4、产生N =32点的单位阶跃序列;5、产生斜率为3,n0=4,点数为20点的斜坡序列g(n)=B(n-n0);6、产生幅度A=3,频率f =100,初始相位ϕ=1.2,点数为32的正弦序列; 7、产生幅度A=3,角频率ω=314,点数为32点的复正弦序列; 8、产生幅度A=3,a =0.7,点数为32点的实指数序列;9、分析采用不同频率时,对函数50()218.2sin(50)()t a x t e t u t ππ-=的频谱影响。
观测时间Tp=50微秒。
(a ):以1000s f Hz =,对其进行采样得到x1(n)。
(b ):以300s f Hz =,对其进行采样得到x2(n) (c ):以200s f Hz =,对其进行采样得到x3(n)四、 实验报告要求(1)独立完成以上实验内容;(2)采用标准实验报告纸书写实验报告;(3)实验报告内容包括:实验名称、实验目的、实验原理、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析(实验中的主要结论及个人实验心得)。
数字信号处理实验讲义
数字信号处理实验讲义实验一序列、频谱、卷积一、实验目的1.掌握序列的输入方法;2.熟悉不同序列的特征;3.了解确定性信号谱分析的方法;4.验证卷积的计算过程;二、实验要求1.利用matlab程序,生成几种常用的序列,如矩形序列,单位脉冲序列;2.绘制图形,观察序列特征;3.研究其频率特性,绘制图形,观察频率响应特征;4.利用matlab程序,验证卷积的过程;三、实验步骤1.矩形序列(1)生成长度为N的矩形序列,观察并记录生成的图形;n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title('单位矩形信号序列');(2)研究其频率特性,()∑∞-∞=-=n nj Nj en R e H ωω)(,分别研究其幅频特性和相频特性,观察并记录生成的图形;k=-25:25;X=x*(exp(-j*pi/25)).^(n'*k); magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位矩形信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位矩形信号的相位谱')2.单位脉冲序列(1)生成单位脉冲序列,观察并记录生成的图形;n=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;close all;subplot(3,1,1);stem(x);title('单位冲击信号序列');(2) 研究其频率特性,()∑∞-∞=-=n nj j en x e H ωω)(,分别研究其幅频特性和相频特性,观察并记录生成的图形;k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k); magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位冲击信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位冲击信号的相位谱')3.卷积过程∑∞-∞=-= =mmnhmxnhnxny)()()(*)()(,n=1:50; %定义序列的长度是50hb=zeros(1,50); %注意:MATLAB中数组下标从1开始hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1;close all;subplot(3,1,1);stem(hb);title('系统hb[n]');m=1:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=0.001; %采样率w0=50*sqrt(2.0)*pi;x=A*exp(-a*m*T).*sin(w0*m*T);subplot(3,1,2);stem(x);title('输入信号x[n]');y=conv(x,hb);subplot(3,1,3);stem(y);title('输出信号y[n]');四、实验报告要求1.写出生成对应序列的matlab程序,并分析;2.记录生成的图形;3.描述对应的序列和频率特性的特征;4.验证卷积计算结果;五、思考:1.如何生成实指数序列?写出对应的matlab程序a1=2n=1:50x1=(a1.^n)subplot(1,1,1)stem(x1);title('实指数序列')2.编写程序验证卷积定律。
数字信号处理实验教案五篇范文
数字信号处理实验教案五篇范文第一篇:数字信号处理实验教案数字信号处理实验教案信息工程学院-通信工程教研室数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼同学们的独立解决问题的能力。
本讲义在第三版的基础上编写了五个实验,前2个实验属基础性的验证性实验,第3、4、5个实验属基本应用综合性实验。
实验一离散时间信号的MATLAB实现实验二线性卷积与循环卷积的原理及应用实验三频率采样定理实验四离散系统的因果性和稳定性及频率响应特性实验五基于MATLAB的快速傅里叶变换根据教学进度,理论课结束后进行相关实验。
实验一时域离散信号的产生一实验目的(1)了解常用的时域离散信号及其特点。
(2)掌握MATLAB产生常用时域离散信号的方法。
二实验内容(1)编写程序,产生下列离散序列:A.f(n)=δ(n)(-3B.f(n)=e(0.1+j1.6π)n(0(2)一个连续的周期性三角波信号频率为50Hz,信号幅度在0~+2V之间,在窗口上显示2个周期信号波形,对信号的一个周期进行16点采样来获取离散信号。
试显示原连续信号和采样获得的离散信号波形。
(3)一个连续的周期性方波信号频率为200Hz,信号幅度在-1~+1V 之间,在窗口上显示2个周期信号波形,用Fs=4kHz的频率对连续信号进行采样,试显示原连续信号和采样获得的离散信号波形。
三实验步骤(1)在matlab命令窗口中逐行输入下列语句>> n1=-3;n2=4;n0=0;%在起点n1、终点n2的范围内,于n0处产生冲激 >> n=n1:n2;%生成离散信号的时间序列 >> x=[n==n0];%生成离散信号x(n)>> stem(n,x,'filled');%绘制杆状图,且圆心处用实心圆表示>> title('单位脉冲序列');>> xlabel('时间(n)');ylabel('幅度x(n)');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=δ(n),(-3 >> n1=16;a=0.1;w=1.6*pi;>> n=0:n1;>> x=exp((a+j*w)*n);>>subplot(2,1,1),stem(n,real(x));%在指定位置描绘图像>> title('复指数序列的实部');>> subplot(2,1,2),stem(n,imag(x));>> title('复指数序列的虚部');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=e(0.1+j1.6π)n,(0>> f=50;Um=1;nt=2;%输入信号频率、振幅、显示周期 >> N=16;T=1/f;%N为信号一个采样周期的采样点数,T为信号周期 >> dt=T/N;%采样时间间隔 >> n=0:nt*N-1;%建立离散时间的时间序列 >> tn=n*dt;%确定时间序列样点在时间轴上的位置>> f=Um*sawtooth(2*f*pi*tn)+1;>> subplot(2,1,1),stem(tn,f);%显示经采样的信号>> title('离散信号');>> subplot(2,1,2),plot(tn,f);%显示原连续信号 >> title('连续信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形(4)在matlab命令窗口中逐行输入下列语句>> f=200;Um=1;nt=2;%输入信号频率、振幅、显示周期 >> Fs=4000;N=Fs/f;T=1/f;%输入采样频率、求采样点数N、T为信号周期 >> dt=T/N;%采样时间间隔 >> n=0:nt*N-1;%建立离散时间的时间序列 >> tn=n*dt;%确定时间序列样点在时间轴上的位置>> f=Um*sin(2*f*pi*tn);>> subplot(2,1,2),plot(tn,f);%显示原连续信号 >> title('连续信号');>> subplot(2,1,1),stem(tn,f);%显示经采样的信号 >> title('离散信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形四思考题(1)如何在matlab下生产f(n)=3sin(nπ/4)(0(2)改变实验步骤中最后两个实验的频率参数,分别重新生成相关的信号?实验二线性卷积与循环卷积的原理及应用一、实验目的(1)掌握两种卷积的原理和两者的异同。
数字信号处理实验指导书教程
实验一Max+plusⅡ图形输入的设计过程1.Max+plusⅡ的设计过程Max+plusⅡ的设计过程流程图如下(1)设计输入用户可使用Max+plusⅡ的图形编辑器和文本编辑器实现图形的输入,也可输入网表文件。
(2)项目编译完成对设计的处理,Max+plusⅡ提供了一个完全集成的编译器。
MAX+PLUSⅡ编译器的编译过程如下图用户可使用Max+plusⅡ的图形编辑器和文本编辑器实现图形的输入,也可输入网表文件。
用户可使用Max+plusⅡ的图形编辑器和文本编辑器实现图形的输入,也可输入网表文件。
图1 MAX+PLUSⅡ编译器的编译过程2.图形输入的设计过程将以图形输入法为例讲述设计的整个过程,本例中,以使用74161设计一个模为12的计数器,该设计项目仅含一个设计文件,使用图形输入。
(1)建立图形输入文件在file 菜单下选择“NEW.. ” 出现图2新建文件类型对话框图2新建文件类型对话框在图2中选择“Graphic Editor file ”后,即了开始建立图形输入文件如图3所示。
图3图形编辑器窗口(2).调入元件:74161在图形编辑区双击鼠标左键可打开“Enter symbol ”对话框如图4。
在该地画框你可选择需要输入的元件/逻辑符号。
图4元件输入对话框图5选中74161图6 调入74161(3)保存文件从“File ”菜单下选择“save ”,出现文件保存对话框,选择“OK”,使用默认的文件名存盘。
此处默认的文件名为“cntm12.gdf”。
(4)调入一个三输入与非门:采用同步置零法,使74161在“1011”处置零来实现模为12的计数器。
故需调用一个三输入与非门,三输入与非门位于库“prim”中,名称为“nand3”(n 代表输出反向,and代表与门,3代表输入的个数;所以“nand3”为一个三输入与非们,同样“or6”代表一个6输入或门:xor代表异或门)按照步骤2调入“nand”和代表低电平的“gnd”(位于库prim中),也可在图形编辑区双击鼠标左键后,在符号输入对话框中直接输入“gnd”,按“OK”即可。
数字信号处理--实验三
一、实验目的1.了解工程上两种最常用的变换方法:脉冲响应不变法和双线性变换法。
2.掌握双线性变换法设计IIR 滤波器的原理及具体设计方法,熟悉用双线性设计法设计低通、带通和高通IIR 数字滤波器的计算机程序.3.观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变法相比较,了解双线性变换法的特点。
4.熟悉用双线性变换法设计数字Butterworth 和Chebyshev 滤波器的全过程。
5.了解多项式乘积和多项式乘方运算的计算机编程方法。
二、实验原理与方法从模拟滤波器设计IIR 数字滤波器具有四种方法:微分-差分变换法、脉冲响应不变法、双线性变换法、z 平面变换法。
工程上常用的是其中的两种:脉冲响应不变法、双线性变换法。
脉冲响应不变法需要经历如下基本步骤:由已知系统传输函数H(S)计算系统冲激响应h(t);对h(t)等间隔采样得到h (n )=h (n T);由h (n )获得数字滤波器的系统响应H (Z)。
这种方法非常直观,其算法宗旨是保证所设计的IIR 滤波器的脉冲响应和模拟滤波器的脉冲响应在采样点上完全一致。
而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。
脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(),其确定是有频谱的周期延拓效应,存在频谱混叠的现象。
为了克服脉冲响应不变法可能产生的频谱混叠,提出了双线性变换法,它依靠双线性变换式:, , 其中 ,建立其S 平面和Z 平面的单值映射关系,数字域频率和模拟域频率的关系是: , (3-1) 由上面的关系式可知,当时,终止在折叠频率处,整个轴单值的对应于单位圆的一周。
因此双线性变换法不同于脉冲响应不变法,不存在频谱混叠的问题。
从式(3-1)还可以看出,两者的频率不是线性关系。
这种非线性关系使得通带截至频率、过渡带的边缘频率的相对位置都发生了非线性畸变。
这种频率的畸变可以通过预畸变来校正。
用双线性变换法设计数字滤波器时,一般总是先将数字滤波器的个临界频率经过式(3-1)的频率预畸变,求得相应参考模拟滤波器的个临界频率,然后设计参考模拟滤波器的传递函数,最后通过双T Ω=ω1111--+-=z z s s s z -+=11Ω+=j s σωj re z =)2/(ωtg =Ω)(2Ω=arctg ω∞→Ωωπω=Ωj线性变换式求得数字滤波器的传递函数。
《数字信号处理》实验指导书
R6(n)
0.5
0 0.2
0
5
10
15
20
25 n
30
35
40
45
ቤተ መጻሕፍቲ ባይዱ
50
Magnitude
0.1
0 4
-3
-2
-1
0 Frequency(rad)
1
2
3
Phase
2 0 -2 -4 -3 -2 -1 0 Frequency(rad) 1 2 3
k=0 时的直流分量及其合成的波形:
0.5
the Kth harmonic
the Kth harmonic
0
the Kth harmonic
0 5 10 15 20 25 n 30 35 40 45 50
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
40
45
50
1
0.5
0.5
0 0 5 10 15 20 25 n 30 35 40 45 50
0 0 5 10 15 20 25 n 30 35 40 45 50
《数字信号处理》实验指导书(正文)
实验一 离散时间信号分析一、实验目的1.掌握各种常用的序列,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。
6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列来表示,其中代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对)(t x a 模拟信号进行等间隔采样,采样间隔为T ,得到一个{})(nT x a 有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位采样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算∑∞∞-*=-=)()()()()(n h n x m n h m x n y上式的运算关系称为卷积运算,式中代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤。
(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。
《数字信号处理实验》指导书
《数字信号处理实验》实验1 常用信号产生实验目的:学习用MATLAB编程产生各种常见信号。
实验内容:1、矩阵操作:输入矩阵:x=[1 2 3 4;5 4 3 2;3 4 5 6;7 6 5 4]引用 x的第二、三行;引用 x的第三、四列;求矩阵的转置;求矩阵的逆;2、单位脉冲序列:产生δ(n)函数;产生δ(n-3)函数;3、产生阶跃序列:产生U(n)序列;产生U(n-n0)序列;4、产生指数序列:x(n)=0.5n⎪⎭⎫⎝⎛4 35、产生正弦序列:x=2sin(2π*50/12+π/6)6、产生取样函数:7、产生白噪声:产生[0,1]上均匀分布的随机信号:产生均值为0,方差为1的高斯随机信号:8、生成一个幅度按指数衰减的正弦信号:x(t)=Asin(w0t+phi).*exp(-a*t)9、产生三角波:实验要求:打印出程序、图形及运行结果,并分析实验结果。
实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z , 求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];画出其零极点图3、数字滤波器的冲激响应:b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];求滤波器的冲激响应。
4、 计算离散卷积:x=[1 1 1 1 0 0];y=[2 2 3 4];求x(n)*y(n)。
5、 系统函数转换:(1)将H(z)=)5)(2)(3.0()1)(5.0)(1.0(------z z z z z z 转换为直接型结构。
(2)将H (z )=3213210.31.123.7105.065.06.11-------+--+-zz z z z z 转换为级联型结构。
实验一 数字信号处理
实验一系统响应及系统稳定性一、实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
二实验内容及步骤1、给定一个低通滤波器的差分方程为y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1),输入信号x1(n)=R8(n)x2(n)=u(n)a)分别求出系统对x1(n)=R8(n)和x2(n)=u(n)的响应序列,并画出其波形。
b)求出系统的单位冲响应,画出其波形。
xn1=[1 1 1 1 1 1 1 1 zeros(1,50)];xn2=ones(1,128);xn3=[1,zeros(1,50)];B=[0.05,0.05];A=[1,-0.9];yn1=filter(B,A,xn1);yn2=filter(B,A,xn2);yn3=filter(B,A,xn3);figure(1);n1=0:length(yn1)-1;subplot(2,2,1);stem(n1,yn1,'.');xlabel('n');ylabel('yn1');title('yn1');n2=0:length(yn2)-1;subplot(2,2,2);stem(n2,yn2,'.');xlabel('n');ylabel('yn2');title('yn2');n3=0:length(yn3)-1;subplot(2,2,3);stem(n3,yn3,'.');xlabel('n');ylabel('yn3');title('yn3');2、给定系统的单位脉冲响应为h1(n)=R10(n),h2(n)=δ(n)+2.5δ(n-1)+δ(n-2)+δ(n-3)用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,并画出波形。
《数字信号处理》实验指导书(全)
数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。
(2)掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
数字信号处理实验指导书(带源程序)
实验一离散时间系统与MA TLAB一. 实验目的1. 进一步加深对离散时间系统的理解。
2. 学习在MATLAB中怎样表示离散时间信号。
3. 熟悉离散时间信号的作图。
二. 实验步骤1. 复习离散时间系统的有关容。
2. 复习MA TLAB的基本语法。
3. 按实验容熟悉stem。
4. 编写程序。
5. 输出结果,总结结论,按要求写出实验报告。
三. 实验容1.掌握stem函数STEM(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.STEM(X,Y) plots the data sequence Y at the values specified in X.例:t=[0:0.1:2]; x=cos(pi*t+0.6); stem(t,x);xn=[4,2,2,3,6,7]; stem(xn);思考:STEM(Y)与STEM(X,Y)有什么不同?STEM与PLOT函数有什么不同?2.掌握subplot函数H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.例:n1=0:3;x1=[1,1,1,1];subplot(221);stem(n1,x1);title('x1序列');n2=0:7;x2=[1,2,3,4,4,3,2,1];subplot(222);stem(n2,x2);title('x2序列');n3=0:7;x3=[4,3,2,1,1,2,3,4];subplot(223);stem(n3,x3);title('x3序列');n4=0:7;x41=cos((pi/4)*n4);subplot(224);stem(n4,x41);title('x4序列');思考:subplot是怎样分配各个作图分区的顺序号的?3.信号的运算]0,1.0,4.0,7.0,1[)(1=n x ,]9.0,7.0,5.0,3.0,1.0[)(2=n x ,请作出)()(21n x n x +,)()(21n x n x 的图形。
数字信号处理实验讲义
实验一:用FFT 对信号作频谱分析(2学时)1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。
2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3.实验步骤及内容(1)对以下序列进行谱分析。
⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它n n n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241 选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
4()cos 4x n n π=5()cos(/4)cos(/8)x n n n ππ=+选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。
《数字信号处理》实验指导书
的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10
12
14
16
18
20
(3)用 impz 函数 a1=[1,0.75,0.125]; b1=[1,-1]; impz(b1,a1,21);
Impulse Response 1.5
1
0.5
Amplitude
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10 12 n (samples)
5
……
程序计算结果: I.
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1]
a. 单位冲激响应: (1) 用 filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
3. 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分
别用 filter、conv、impz 三种函数完成。
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1] y[n] = 0.25{x[n − 1] + x[n − 2] + x[n − 3] + x[n − 4]}
《数字信号处理》实验讲义(信息计算)
《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
数字信号处理实验教程
目录第一章绪论 (2)第二章 Matlab简介及其安装使用说明 (3)2.1 MATLAB程序设计语言简介 (3)2.2. MATLAB应用入门 (3)2.3 Matlab基本语句 (9)2.4 Matlab基本数值运算 (14)2.5 Matlab函数、及其调用方法 (17)第三章验证性实验 (21)3.1 实验:常见离散信号产生和实现 (21)3.2 实验:离散系统的时域分析 (23)3.3 实验: FFT算法的应用 (25)3.4 实验:离散系统的变换域分析 (28)3.5 实验:有限冲激响应数字滤波器设计 (33)3.6 实验:无限冲激响应数字滤波器设计 (37)第四章设计性和研究性实验 (42)4.1 设计性实验:图像信号的抽取与插值 (42)4.2设计性实验:语音及音乐信号的采样、滤波 (42)4.3设计性实验:双音多频(DTMF)信号的合成和识别 (43)4.4设计性实验:音乐信号处理 (43)第二章 Matlab简介及其安装使用说明2.1 MATLAB程序设计语言简介MATLAB,Matrix Laboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。
截至目前,MATLAB已经发展到7.x版, 适用于所有32位的Windows操作系统, 按NTFS(NT文件系统)格式下完全安装约需 850 MB。
MATLAB软件主要由主包、仿真系统和工具箱三大部分组成。
2.2. MATLAB应用入门1. MATLAB的安装与卸载MATLAB软件在用户接口设计上具有较强的亲和力,其安装过程比较典型, 直接运行光盘中的安装向导支撑程序SETUP.exe, 按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下的uninstall.exe即可; 也可以通过Windows系统的安装卸载程序进行卸载。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第一章绪论 (2)第二章 Matlab简介及其安装使用说明 (3)2.1 MATLAB程序设计语言简介 (3)2.2. MATLAB应用入门 (3)2.3 Matlab基本语句 (9)2.4 Matlab基本数值运算 (14)2.5 Matlab函数、及其调用方法 (17)第三章验证性实验 (21)3.1 实验:常见离散信号产生和实现 (21)3.2 实验:离散系统的时域分析 (23)3.3 实验: FFT算法的应用 (25)3.4 实验:离散系统的变换域分析 (28)3.5 实验:有限冲激响应数字滤波器设计 (33)3.6 实验:无限冲激响应数字滤波器设计 (37)第四章设计性和研究性实验 (42)4.1 设计性实验:图像信号的抽取与插值 (42)4.2设计性实验:语音及音乐信号的采样、滤波 (42)4.3设计性实验:双音多频(DTMF)信号的合成和识别 (43)4.4设计性实验:音乐信号处理 (43)第二章 Matlab简介及其安装使用说明2.1 MATLAB程序设计语言简介MATLAB,Matrix Laboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。
截至目前,MATLAB已经发展到7.x版, 适用于所有32位的Windows操作系统, 按NTFS(NT文件系统)格式下完全安装约需 850 MB。
MATLAB软件主要由主包、仿真系统和工具箱三大部分组成。
2.2. MATLAB应用入门1. MATLAB的安装与卸载MATLAB软件在用户接口设计上具有较强的亲和力,其安装过程比较典型, 直接运行光盘中的安装向导支撑程序SETUP.exe, 按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下的uninstall.exe即可; 也可以通过Windows系统的安装卸载程序进行卸载。
2. MATLAB的启动与退出MATLAB安装完成后,会自动在Windows桌面上生成一个快捷方式, 它是指向安装目录下\bin\win32\matlab.exe的链接, 双击它即可来到MATLAB集成环境的基本窗口,通常称之为命令窗口。
MATLAB的退出与普通WIN32的程序一样, 值得一提的是它有一个自身专有的快捷键Ctrl+Q。
3. MATLAB界面简介图 2.1 MATLAB基本界面——命令窗口图2.2图2.3图2.4图2.5图2.6 指令历史图2.71)菜单栏菜单栏中包括File、Edit、View、Web、Window和Help六个菜单项。
这里着重介绍File、help项。
File项:数据输入/输出的接口, 包括10个子项, 这里重点介绍其中的5个子项:New:新建文件项。
有四个选择:M File(*.M,文本格式的MATLAB程序文件,可以直接通过文件名的方式在MATLAB环境下解释运行;Figure(图形); Model(仿真模型文件)和GUI(可视化界面文件)。
Open:打开所有MATLAB支持的文件格式,系统将自动识别并采用相应的程序对文件进行处理。
例如, 打开一个.m文件, 系统将自动打开M文件编辑器对它进行编辑。
Set Path...:设置工作路径。
可以打开路径设置(Set Path)对话框(图2),将用户自己建立的目录加入MATLAB的目录系统中, 以便所编制的文件能够在MATLAB环境中直接调用。
单击Add Folder...按钮可以将你的一个文件夹加入到系统路径中;Add with Subfolders...允许把一个文件夹包括其所有的子文件夹加入到系统路径中。
这两种操作均可以直观地在右侧的路径栏内看到结果。
图2.8 路径设置对话框选中一个加入的文件夹,你可以利用Move to Top(移至所有路径的最前面),Move Up(上移一个),Move Down(下移一个),Move to Bottom(移至所有路径的最后面)等四个按钮将改变文件在系统路径中的排列位置以利于对文件的搜索使用, 也可以利用Remove按钮将其删除。
对路径操作完毕后,按Save按钮予以保存;Help 项:Matlab Help:打开以html超文本形式存储的的帮助文件主页;Demos:打开matlab演示窗主页;About Matlab:Matlab注册图标、版本、制造商和用户信息;图2.9 Help选项图2.10 Help窗口2)命令行区进行通用操作,数值计算,编程和数据类型,输入输出,绘图,用户界面等命令,例如,命令:help函数名(*.m文件);edit编辑函数、文件对输入命令的解释MATLAB按以下顺序进行:① 检查它是否是工作空间中的变量, 是则显示变量内容。
② 检查它是否是嵌入函数,是则运行之。
③ 检查它是否是子函数。
④ 检查它是否是私有函数。
⑤ 检查它是否是位于MATLAB搜索路径范围内的函数文件或脚本文件。
请注意,如果有两个以上的方案与输入的命令相匹配, MATLAB将只执行第一个匹配。
2.3 Matlab基本语句一. 程序控制语句1. 循环语句MATLAB的循环语句包括for循环和while循环两种类型。
1)for循环语法格式:for 循环变量 = 起始值:步长:终止值循环体end起始值和终止值为一整形数,步长可以为整数或小数,省略步长时,默认步长为1。
执行for循环时,判定循环变量的值是否大于(步长为负时则判定是否小于)终止值,不大于(步长为负时则小于)则执行循环体,执行完毕后加上步长, 大于(步长为负时则小于)终止值后退出循环。
例1 给矩阵A、B赋值。
MATLAB 语句及运行结果如下:k=5;a=zeros(k, k) %矩阵赋零初值for m=1 : kfor n=1: ka(m,n)=1/(m+n-1);endendfor i=m : -1 : 1b(i)=i;end运行结果:a=1.0000 0.5000 0.3333 0.2500?0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111b=1 2?3 4 52) while循环语法格式:while 表达式循环体end其执行方式为:若表达式为真(运算值非0),则执行循环体; 若表达式为假(运算结果为0),则退出循环体,执行end后的语句。
例2a=3;while aa=a-1end输出:a=2a=1a=02. 条件转移语句条件转移语句有if和switch两种。
1) if语句MATLAB中if语句的用法与其他高级语言相类似, 其基本语法格式有以下几种:格式一:if 逻辑表达式执行语句end格式二:if 逻辑表达式执行语句1else执行语句2end格式三:if 逻辑表达式1执行语句1else? if 逻辑表达式2执行语句2end2) switch语句switch语句的用法与其他高级语言相类似,其基本语法格式为:switch表达式(标量或字符串)case 值1语句1case 值2语句2…otherwise语句nend二. 绘图语句常用的MATLAB绘图语句有figure、plot、subplot、stem等, 图形修饰语句有title、axis、text等。
1.figurefigure有两种用法,只用一句figure命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。
figure(n)表示将第n号图形窗口作为当前的图形窗口, 并将其显示在所有窗口的最前面; 如果该图形窗口不存在, 则新建一个窗口,并赋以编号n。
2.plot线型绘图函数。
用法为plot(x,y,'s')。
参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表1所示。
表2.13.Stem绘制离散序列图,常用格式stem(y)和stem(x,y)分别和相应的plot函数的绘图规则相同,只是用stem命令绘制的是离散序列图。
4.subplotsubplot(m,n,i)图形显示时分割窗口命令,把一个图形窗口分为m行,n列,m×n 个小窗口,并指定第i个小窗口为当前窗口。
5.绘图修饰命令在绘制图形时,我们通常需要为图形添加各种注记以增加可读性。
在plot语句后使用title('标题')可以在图形上方添加标题, 使用xlabel('标记')或ylabel('标记')为X轴或Y轴添加说明,使用text(X值、Y值、'想加的标示')可以在图形中任意位置添加标示。
例3 画图基本语句如图1所示。
MATLAB 语句及运行结果如下:x=0:0.1*pi:2*pi; %定义x向量figure(1); %创建一个新的图形窗口,编号为1subplot(2,2,1); %将窗口划分为2行,2列,在第1个窗口中作图 plot(x,sin(x)); %画图title('正弦线'); %给图形加标题subplot(2,2,2); %在第2个窗口中作图plot(x,sin(x),'r'); %画一正弦波,红色xlabel('X'); %给x轴加说明ylabel('SIN(X)'); %给y轴加说明subplot(2,2,3); %在第3个窗口中作图plot(x,sin(x),'--'); %画一正弦波,破折线subplot(2,2,4); %在第4个窗口中作图plot(x,sin(x),'r+'); %画一正弦波,红色+线text(4,0,'注记');图12.4 Matlab基本数值运算一. MATLAB内部特殊变量和常数∙MATLAB内部有很多变量和常数,用以表达特殊含义。
常用的有:1.变量ans:指示当前未定义变量名的答案;2.常数eps:表示浮点相对精度,其值是从1.0到下一个最大浮点数之间的差值。
该变量值作为一些MATLAB函数计算的相对浮点精度,按IEEE标准,如:,近似为2.2204e-016;3.常数Inf:表示无穷大。
当输入或计算中有除以0时产生Inf;4.虚数单位i,j:表示复数虚部单位,相当于;5.NaN:表示不定型值,是由0/0运算产生的。