文档详情

数字信号处理实验一、二

liy****000
实名认证
店铺
DOC
1.62MB
约6页
文档ID:374120102
数字信号处理实验一、二_第1页
1/6

实验一 用于信号处理的MATLAB基本操作一.实验目的:1 学习和掌握MATLAB最基本的矩阵运算与绘图工具2 学习用MATLAB实现信号处理的基本操作二.实验步骤:1 熟悉MATLAB的使用环境和方法2 练习使用基本的向量生成、矩阵运算、绘图等语句A 利用冒号(:)生成向量X1=[1 2 3 4 5]X2=[1.000 1.500 2.000 2.500]X3=[5 4 3 2 1]D 分别生成3*3,3*4的全0矩阵,全1矩阵和随机矩阵E 分别计算A+B,A-B,A+3,A-4,A*B,A.*B,A/B,A./BF 分别计算sin(x1),cos(x1),exp(x1),log(x2),sqrt(x2)三.实验说明1 向量的生成利用冒号(:)生成向量a. X=j:k (j0 且jk,则生成向量X=[j,j+I,j+2I,…,k-I,k]如果I<0 且j>k,则生成向量X=[j,j+I,j+2I,…,k] 例 X1=1:5 X1=[1 2 3 4 5] X2=1:0.5:3 X2=[1.000 1.500 2.000 2.500 3.000] X3=5:-1:1 X3=[5 4 3 2 1]2 矩阵的生成3 zeros 生成全0阵B= zeros(n) 生成n*n的全0矩阵B= zeros(m,n) 生成m*n的全0矩阵B= zeros(size(A)) 生成与与矩阵A大小相同的全0矩阵注:m,n必须是一个非负数2 ones生成全1阵3 rand生成均匀分布的随机阵二 矩阵的算术运算1 加法和减法对于同维矩阵指令的A+BA B对于矩阵和标量(一个数)的加减运算,指令为:A+3;A-92 乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另 表示矩阵的转置运算四.数组函数下面列举一些基本函数,他们的用法和格式都相同。

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) 这时候即可看到一个绘有正弦曲线的窗口弹出另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果五.绘图(二维绘图)利用前例如果要使向量的横纵坐标一一对应,则应写为plot(t,A)如不要横坐标对应时,可只写plot(A)如果A是一个矩阵不是向量,则在同一窗口中可绘出与矩阵行数相同的曲线且颜色不同同时也可指定曲线的颜色和格式如plot(t,A,’b.’)则原来的连续曲线就变成了蓝色的点线下面给出常用选项r红 g绿 b蓝 y 黄 m 洋红 c青 w白 k黑 ━实线 ┅┅虚线*用星号标数据点 用点标 o(字母‘o‘)用圆圈标 x(字母’x‘)用叉标-.点划线6 实验报告要求a 简述实验目的与步骤b 写出实验步骤(2)中各步输入语句和输出结果实验二 离散时间系统及系统响应一. 实验目的1. 进一步加深对离散时间系统的理解。

2. 学习在MATLAB中怎样表示离散时间信号3. 熟悉离散时间信号的作图二. 实验内容1. 复习离散时间系统的有关内容2. 复习MATLAB的基本语法3. 按实验内容熟悉stem4. 编写程序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是怎样分配各个作图分区的顺序号的? subplot(x,y,n) 将一个窗口分割成x行,y列 共x*y个窗口,取第n个窗口为当前窗口 例subplot(3,2,2) 分割3*2个窗口。

取第二个窗口,如果下面有绘图语句,就表示要在第二个窗口中绘图3.信号的运算,,请作出,的图形思考:假如与长度不同,序列的求和和乘积运算能否执行,结果怎样?程序:x1=[1,0.7,0.4,0.1,0]x2=[0.1,0.3,0.5,0.7,0.9]subplot(121);stem(x1+x2);title('x1+x2');subplot(122);stem(x1.*x2);title('x1*x2');4.掌握freqs与freqz函数freqs用于s域的频率响应的计算,f reqz用于z域的频率响应的计算请参看两者的help文件例:建立2个函数文件,分别输入为系统函数的分子,分母,和角频率的最大值,输出为系统频率响应的db,幅度,相位,和角频率参看下面的程序function[db,mag,pha,Omega]=freqs_m(b,a,Omega_Max)% s域频率响应的计算Omega=[0:1:500]*Omega_Max/500;H=freqs(b,a,Omega);mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);function[db,mag,pha,w]=freqz_m(b,a,w_Max);% z域频率响应的计算w=[0:1:499]*w_Max/500;H=freqz(b,a,w);mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);(1)若,请画出该系统幅频和相频特性。

程序:b=1;a=[1 5 6];Omega_Max=2*pi;[db,mag,pha,Omega]=freqs_m(b,a,Omega_Max);subplot(221);plot(Omega,mag);title('AF的幅度响应');subplot(222);plot(Omega,db);title('AF的幅度响应db');subplot(223);plot(Omega,pha);title('AF的相位响应');(2)若,请画出该的幅频和相频特性程序:b=[1 1];a=[1 0.8 0.64];w_Max=2*pi;[db,mag,pha,w]=freqz_m(b,a,w_Max);subplot(221);plot(w,mag);title('AF的幅度响应'); subplot(222);plot(w,db);title('AF的幅度响应db');subplot(223);plot(w,pha);title('AF的相位响应');四. 实验报告要求1. 简述实验目的及原理2. 概括各函数的常用调用方式,记录程序运行的各种结果。

下载提示
相似文档
正为您匹配相似的精品文档