实验部分:matlab在数字信号处理中的应用
Matlab在数字信号处理中的应用(基础) 一、数据类型: 1、整数:Matlab支持8位,16位,32位和64位的有符号和无符号整数数据类型。 如:x=int8(50); %指定x的数据类型为int8. x=50 2、浮点数:matlab的默认数据类型是双精度类型(double),为了节约存蓄空间,matlab也支持单精度数据类型的数组。 Realmin(‘single’) Ans= 1.1755e-038 Realmax(‘double’) Ans= 2.2251e-308 3、复数:matlab中虚数单位由i或者j表示。 Z=6+7j 另一种创建复数的方法可以通过complex()函数,complex()函数的调用格式: C=complex(a,b),返回结果c为复数,实部是a,虚部是b。 二、数组的创建 1、一维数组的创建:创建一维行向量,只须要把全部数组元素用空格或者逗号分隔,并用方括号吧全部数组元素括起来即可。如用分号,即为列向量。 创建等差的一维数组:格式 Var=start-val:step:stop-val。假如步长是1,可以省略。 2、二维数组的创建;在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分号或者软回车区分不同的行。 三、函数流程限制 1、依次结构。 2、推断语句(if---else if---else----end). 3、循环语句(for----end) 四、作图 1、二维图:plot(x,y,linespec),linespec参数,用于对图像外观属性的限制,包括线条的形态,颜色和点的形态,颜色。 stem(x,y);绘制脉冲杆图图形。 Stairs(x,y);绘制阶梯图图形。 2、图像子窗口:subplot(m,n,p),将图像分为m╳n个子区域,在第p个区域中绘制图像。 3、坐标轴:axis(xmin,xmax,ymin,ymax).指定当前图像中x轴和y轴的范围。 4、图形注释:1)标题:title(‘图形名字’)。2)坐标轴名:xlabel(‘x轴的名称’),ylabel(‘y轴的名称’)。特别符号的输入: \alpha的输入,则自动转变成,а 试验一、几种典型离散时间序列 Matlab中处理的数组,将下标放在变量后面的小括号内,且约定从1起先递增。例如:x=[5,4,3,2,1,0],表示x(1)=5, x(2)=4, x(3)=3, x(4)=2, x(5)=1, x(6)=0。要表示一个下标不由1起先的数组x(n),一般应采纳两个矢量,如: n=[-3:5]; x=[1,-1,3,2,0,-2,-1,2,1];这表示一个含有9个点的矢量,n为一组时间矢量,对应x有:x(-3)=1, x(-2)=-1.。。。。。。 连续信号作图运用plot()函数,绘制线性图。离散信号作图运用stem()函数,绘制脉冲杆图。 一些常用的函数: abs():求肯定值(幅值)。调用格式:y=abs(x)。 length():取某一变量的长度(采样点数)。调用格式:N=length(n),取n的点数,赋值给N。 real():取一个复数的实部,调用格式:x=real(h);取复数h的实部,赋值给变量x。 imag():取复数的虚部,调用格式:x=imag(h);取复数h的实部,赋值给变量y x=sawtooth(t);类似于sin(t),产生周期为2pi,幅值从-1到+1的锯齿波。x=sowtooth(t,width);产生三角波,其中width(0=0) n=0:49; x=sign(sign(N-1-n)+1); close all; %关闭全部打开的图形窗口 stem(n,x); 注:sign(x), 符号函数,当x大于0时值为1,当x等于0时值为0,当x小于0时值为-1. 4、正弦序列: x=a*sin(omega*n+thwlta); x=a*sin(2*pi*f0/Fs*n+thelta); 例:频率为1.振幅为1的正弦信号,在窗口中显示2个周期的信号波形,并对该信号的一个周期进行32点采样。获得离散信号。做出连续信号和离散信号的图形。 MATLAB程序如下: f=1; Um-1; nt=2; %频率,振幅,周期的个数。 N=32; T=1/f; %采样点数, 周期 dt=T/N; %采样时间间隔 n=0:nt*N-1; tn=n*dt; x=Um*sin(2*f*pi*tn); %作图部分 subplot(2,1,1), plot(tn, x); axis([0, nt*T, 1.1*min(x), 1.1*max(x)]); ylabel(‘连续正弦信号x(t)’); subplot(2,1,2), stem(tn, x); axis([0, nt*T, 1.1*min(x), 1.1*max(x)]); ylab