基于 Matlab 的数字信号处理实验报告_第1页
基于 Matlab 的数字信号处理实验报告_第2页
基于 Matlab 的数字信号处理实验报告_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 MATLAB基本知识MATLAB是一种面向科学和工程计算的高级语言,包含的几十个工具箱,覆盖了通信、自动控制、信号处理、图像处理、生命科学等科技领域,现已成为国际公认的最优秀的科技本章目的是帮助新用户在领略MATLAB非凡能力的同时能轻松跨越的门槛。§1.1MATLAB语言的基本使用环境一.MATLAB的安装MATLAB5.3版本仅有一张光盘,运行其上的安装文件setup.exe可以按提示安装整个MATLAB6.1的安装文件setup.exe系统。MATLAB6.x与以前的版本相比,在界面上的变化是很大的,以前的版本只给出一个又一个命令窗口,MATLAB6.1的程序界面,除了其右侧的CommandWindow(命令窗口)之外,还有LaunchPad(程序调用板)和CommandHistory(命令的历史记录)两个子窗口,以及Workspace(工作空间管理程序)和CurrentDirectory(当前目录管理程序)等,使MATLAB的操作更容易、方便了。二.MATLAB5.3的操作步骤由于实验室安装的是,下面我们介绍MATLAB5.3的操作步骤。双击桌面的CommandWindow(1-2。1.帮助[Help]选项HelpWindows 打开分类帮助窗HelpTips 打开函数文件命令帮助窗HelpDesk 打开以超文本形式存储的帮助文件主页ExamplesandDemos 打开演示窗主页About注册图标、版本、制造商和用户信息选择[Help]2.用户目录的设置必须建立用户自己的工作目录MATLAB因此应该建立自己的工作目录,用于存放用户自己创建的各种文件和数据。在路径浏览器中加入用户自己的路径①可以在命令窗中选中[File:SetPath]菜单项,在[Path]窗中选中[Addtopath],点击Browse,在出现的目录中选定所需的目录,便完成设置,退出此菜单前保存。②也可以在命令窗口选择PathBroser图标,在弹出的PathBroser窗口中选择Path,在AddtoPath下选中需要加入的目录,如图1-3,完成设置,退出此菜单前保存。建立M脚本文件所谓M脚本文件,指文件的扩展名是.m的文件。Command命令窗M脚本文件来解决此矛盾。在命令窗[File]下拉菜单中选择New选项中的M--File子项,如图1-4,就会出现M文件编辑器,如图1-5所示。把指令全部写在M[Save,myfile1。运行M脚本文件。在CommandWindow()中键入myfile1结果显示在命令窗。建立M函数文件函数文件的目的是扩展MATLAB功能,即利用MATLAB语言构造了一个新的MATLAB函数,而且该函数的使用同MATLAB本身提供的库函数是一样的。例如,函数文件mean.m,用来计算一组向量的平均值。functiony=mean(x)%meanaverageormeanm=length(x);y=sum(x)/m;例如在M文件输入:z=1:99;m=mean(z)运行程序结果为:m=50关于函数文件的几点说明:文件与函数文件的一个重要标志。函数的文件名与函数名是相同的。§1.2 数值数组的创建一.一维数组的创建和寻访一维数组的创建逐个元素输入法这是最简单,但又最通用的构造方法例:x=[2 pi/2 sqrt(3) 3+5*j]x=2.0000 1.5708 1.7321 3.0000+5.0000i冒号生成法这是通过“步长”设定,生成一维“行”数组的方法。该方法通用格式为:x=a:inc:b说明:a是采样点之间的间隔,即步长;若(b-a)是inc生成数组的最后一个元素等于b,否则小于b。inc1,即inc=1;inc可以取正数或负数,若inc要保证a<b;若inca>b。一维数组的寻访x=rand(1,5) %产生(1×5)(5列)的均匀分布随即数组x=ones(1,5) %产生(1×5)(即:1行5列)的数值全部为1的数x=zeros(1,5) %产(1×5)(即:1行5列)的数值全部为0的数组x(3) %寻访数组x的第三个元素x(1:3) %寻访数组x的前三个元素x([125]) %寻访数组x的第一、二、五个元素组成的子数组x(find(x>0.5)) %0.5二.二维数组的创建和寻访直接输入法[]为其首尾数组的行与行之间必须用分号“[Enter隔离数组元素必须由逗号“例:c=[1,2,5;7,4,9]c=1 2 57 4 9“全下标”标识A(3,5)表示二维数组A35列”的元素§1.3数值数组的运算数值数组及数组运算始终是Matlab的核心内容。Matlab的在于使计算程序简单、易读、程序指令更接近教科书上的数学计算公式。§1.4控制流语句for循环语句其功能是重复执行一条或一组语句的固定次数(也可以是零次格式: for expression(表达式)statement(描述)end循环可以嵌套例: forI=1;5forj=1:4a(i,j)=endendwhile循环语句次数是不能预先确知的。格式: while expression(表达式)statement(描述)endif和break语句if或者执行else后面的语句。if条件语句的一般格式有两种:格式一:if statementend格式二:if conditionstatement1elseend

statement2Break语句一般出现在循环语句中,它表示跳出循环体,即结束循环。§1.5绘图用于绘图函数中常用的主要包括以下几种:1.绘图(1).Plotplot函数用来绘制二维线性坐标曲线,它的调用格式:plot(y):若y为实数向量,将以y为纵坐标,y中对应元素的下标为横坐标来绘制曲线;若y为复数,将以实部为横坐标、虚部为纵坐标来绘制曲线。plot(x1,y1,„„):该格式将绘制x1yn(2).stemstem函数用来绘制二维离散序列的杆状图,它的调用格式:stem(y):以y中对应元素的下标为横坐标来绘制杆状图。stem(x,y):该格式将绘制x为横坐标、y为纵坐标的杆状图。2.设置坐标轴属性axis函数用于设置当前图形的坐标轴属性,它的调用格式:axis([xminxmaxyminymax]):分别设置x轴、y轴刻度的最小值和最大值。分割图形窗口subplot函数可以将图形窗口分割,以满足用户对图形显示的要求,它的调用格式:subplot(m,n,p):将当前的窗口中的坐标轴分割成mn列的子坐标轴,选定第p为当前显示窗口。图形标注函数title函数用来给图形添加标题,其调用格式为:title(‘string’):在图形的正上方添加标题。xlable、ylable、zlable式:xlable(‘string’):在x轴上用指定的字符串标注。ylable(‘string’):在y轴上用指定的字符串标注。zlable(‘string’):在z轴上用指定的字符串标注。text在曲线某点处标注:text(x,y,‘string’):在点(x,y)处显示字符串。text(x,y,z,‘string’)处显示字符串。第二章基于MATLAB的数字信号处理实验实验一离散系统时域分析与Z域分析一.实验目的熟悉Matlab的主要操作命令;掌握典型离散信号的特性掌握离散系统的频率响应三.实验中调用的函数eig(x):xfliplr(x)x矩阵的列倒序。[h,w]=freqz(b,a):系统函数的频率响应h,w0~π范围,其中b表示系统函数的分母系数,按降幂顺序排列。20*log10(abs(h)):对系统函数的的频率响应h取绝对值得到幅频响应h(分贝angle(h): 是对系统函数的的频率响应h求取相频响应四.实验内容熟悉Matlab的主要操作命令例1A=[010;1021]; % 矩阵的写法,每行结束用;表示[X D]=eig(A) % eig(A)是求解A运行结果:X=-0.3887+0.0965i-0.3887-0.0965i-0.16740.4191-0.6436i0.4191+0.6436i-0.63710.2142+0.4515i0.2142-0.4515i-0.7524D=-1.4029+1.3078i000-1.4029-1.3078i00 0 3.8058例2:编写函数,可对信号移位和反折。编写一名为sigshift.m的函数文件function[y,n]=sigshift(x,m,n0)%Implementsy(n)=x(n-n0)n=m+n0;y=x;编写一名为sigshift.m的函数文件。%Implementsy(n)=x(-n)function[y,n]=sigfold(x,n)y=fliplr(x);n=-fliplr(n); % fliplr(x)x矩阵的列倒序。调用上述函数的主程序如下:%h(n)=(0.9)^n*u(n)n=0:50;h=((0.9).^n);%n的取值范围是0到50,按1递增的。figure(1)%创建一个新的图像窗口subplot(2,2,1)%221个图像stem(n,h);%将h用杆图形式表示axis([-70,70,0,1])%设定显示图形的x轴的范围是-70~70,y轴的范围是0~1title('x(n)')%图像的题名是x(n)gridon% 在图像上显现网格subplot(2,2,2)[h2,n2]=sigshift(h,n,20);stem(n2,h2);%调用前面编辑的sigshift函数(信号移位)axis([-70,70,0,1])title('sigshift:x(n-20)')gridonsubplot(2,2,3)[h3,n3]=sigshift(h,n,-20);stem(n3,h3);axis([-70,70,0,1])title('sigshift:x(n+20)')gridonsubplot(2,2,4)[h1,n1]=sigfold(h,n);stem(n1,h1);%调用前面编辑的sigfold函数(信号反折)axis([-70,70,0,1])title('sigfold:x(-n)')gridon例3:给定一因果系统 ,求出并绘制的幅频响应与相频响应。程序如下:%H(z)=(1-z^-1)/(1-sqrt(2)*z^-1+0.9z^-2)b=[1,-1]; %系统函数H(Z)的分子系数,按降幂顺序a=[1,-sqrt(2),0.9]; %系统函数H(Z)的分母系数,按降幂顺[h,w]=freqz(b,a); %系统函数的频率响应h,w表示0~πam=20*log10(abs(h)); %对系统函数的的频率响应h取绝对值得到幅频响应h(分贝subplot(2,1,1);plot(w,am) % 在0~π 范围内连续画出系统函数幅频响应h的曲线title('Amplitude')ph=angle(h); %angle(h)是对系统函数的的频率响应hsubplot(2,1,2)plot(w,ph) %在0~π 范围内连续画出系统函数相位响应ph的曲title('Phase')结果如下:上机实验内容数组的加、减、乘、除和乘方运算。输入A=[1234],B=[3456],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B,用stem语句画出A,B,C,D,E,F,G。A=[1234];B=[3456];stem(A)stem(B)C=A+B;stem(C)D=A-B;stem(D)E=stem(E)F=A./Bstem(F)G=A.^B;stem(G)A43.532.521.510.501 1.5 2 2.5 3 3.5 4B65432101 1.5 2 2.5 3 3.5 4C1098765432101 1.5 2 2.5 3 3.5 4D0-0.2-0.4-0.6-0.8-1-1.2-1.4-1.6-1.8-21 1.5 2 2.5 3 3.5 4E25201510501 1.5 2 2.5 3 3.5 4F0.70.60.50.40.30.20.101 1.5 2 2.5 3 3.5 4G45004

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论