您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 西北工业大学Matlab实验报告(2016)
1西北工业大学《基于MATLAB的数字信号处理》实验报告学院:学号:姓名:专业:实验时间:2016年6月指导教师:冯燕西北工业大学2016年06月2实验一MATLAB基本编程实验一、实验目的及要求1.熟悉MATLAB运行环境;2.掌握MATLAB的基本语法和函数;3.掌握MATLAB的基本绘图功能二、实验设备(环境)及要求1.计算机2.Matlab软件编程实验平台三、实验内容与步骤1.求下列线性方程组的解2.编写一个MATLAB函数文件,该函数的功能是求出最大的n值,使得。通过M文件或命令行调用该函数文件计算realmax=50000时的n值。3.某多项式的定义为:其中x的值介于[-1,1]之间。当m的值由1变化到5,可以得到5条曲线。将这5条曲线画在同一图形窗口上,并标明每一条曲线。四、设计思想1.采用矩阵求逆的方法,将系数矩阵求逆,乘以单元矩阵,直接得到未知数。2.在M文件中使用循环语句,判断是否符合条件,返回值,主程序进行调用3.将5条曲线分别绘制,plot用不同颜色标志,采用holdon画在一个图中,五、程序代码及注释123123123634325748437xxxxxxxxx!maxnreal1cos(*cos())ymx31.A=[6,3,4;-2,5,7;8,-4,-3];%系数矩阵b=[3;-4;-7];x=inv(A)*b%求逆2.M文件:function[n]=fun(max)%UNTITLEDSummaryofthisfunctiongoeshere%Detailedexplanationgoesherea=1;b=1;whilebmaxa=a+1;b=b*a;endn=a-1;end主程序max=input('pleaseinputtherealmax:');n=fun(max)3.x=-1:0.01:1;y1=cos(acos(x));plot(x,y1,’r’);%第一条holdony2=cos(2*acos(x));plot(x,y2,’b’);%第二条holdon4y3=cos(3*acos(x));plot(x,y3,’g’);%第三条holdony4=cos(4*acos(x));plot(x,y4,’y’);%第四条holdony5=cos(5*acos(x));plot(x,y5,’k’);%第五条六、实验结果1.结果:2.结果:53.结果:6实验二MATLAB基本编程实验一、实验目的及要求1.回顾数字信号处理的主要内容;2.掌握利用MATLAB进行信号处理的方法;3.了解信号处理工具箱中一些函数的功能;二、实验设备(环境)及要求1.计算机2.Matlab软件编程实验平台三、实验内容1.x(n)=[8,5,3,11,7,0,-1,4,2,6,5],55n是原序列,设y(n)是原序列受到噪声污染并移位了的序列y(n)=x(n-3)+w(n),其中w(n)是均值为0,方差为1的高斯随机序列。计算y(n)与x(n)的相关性。2.一个线性时不变系统由下面差分方程描述1)求频率响应;2)画出其幅频和相频图;3)如果系统输入为,求出在0100n内的响应y(n),并画出输入序列和输出序列的曲线图说明。3.设计IIR滤波器(带通,三种方法,fs=2000Hz,通带频率500~700Hz,阶数自选,画频率特性并分析比较)四、设计思想1.由normrnd函数产生高斯序列,判断函数位进行赋值,产生移位序列,通过函数xcorr进行互相关处理2.用freq函数求出频率相应,通过abs和angle函数求出幅频和相频图,采用filter函数求出输出序列()0.8(1)()ynynxn()cos(0.02)()xnnun73.分别采用butterworth滤波器、椭圆滤波器和cheby滤波器,求出频率特性五、程序代码及注释1.x=[8,5,3,11,7,0,-1,4,2,6,5];forn=1:1:11ifn4yy(n)=0;elseyy(n)=x(n-3);endendw=normrnd(0,1,1,11);y=yy+w;a=xcorr(x,y);2.fs=1000;b=[1];a=[1,-0.8];[h,f]=freqz(b,a,512,fs);mag=abs(h);ph=angle(h);subplot(4,1,1);plot(f,mag);grid;8xlabel('frequency(hz)');ylabel('magnitude');subplot(4,1,2);plot(f,ph);grid;xlabel('frequency(hz)');ylabel('phase');n=1:100;x(n)=cos(0.02*pi*n);y=filter(b,a,x);subplot(4,1,3);stem(x);subplot(4,1,4);stem(y)3.(1)n=10;wn=[500700]/1000;[b,a]=butter(n,wn);[h,f]=freqz(b,a,256,1000);mag=abs(h);ph=angle(h);9subplot(2,1,1);plot(f,mag);grid;xlabel('frequency(hz)');ylabel('magnitude');subplot(2,1,2);plot(f,ph);grid;xlabel('frequency(hz)');ylabel('phase');(2)n=10;wn=[500700]/1000;[b,a]=ellip(n,0.5,20,wn)[h,f]=freqz(b,a,256,1000);mag=abs(h);ph=angle(h);subplot(2,1,1);plot(f,mag);grid;xlabel('frequency(hz)');ylabel('magnitude');subplot(2,1,2);10plot(f,ph);grid;xlabel('frequency(hz)');ylabel('phase');(3)n=10;wn=[500700]/1000;[b,a]=cheby1(n,0.5,wn);[h,f]=freqz(b,a,256,1000);mag=abs(h);ph=angle(h);subplot(2,1,1);plot(f,mag);grid;xlabel('frequency(hz)');ylabel('magnitude');subplot(2,1,2);plot(f,ph);grid;xlabel('frequency(hz)');ylabel('phase');六、实验结果111结果:2.结果:123.(1)(2)(3)1314实验三基于MATLAB的图像处理实验一、实验目的及要求1.了解图像处理的基本概念和功能;2.掌握利用MATLAB进行图像处理的方法;3.了解图像处理工具箱中一些函数的功能;二、实验设备(环境)及要求1.计算机2.Matlab软件编程实验平台三、实验内容1.对barbaran.tif图像进行DCT变换,分别选取最大的1/4、1/8、1/16个变换系数(其余置为0),进行反DCT得到重构图像,显示原图像和各重构图像并分别计算重构图像的峰值信噪比。2.对cameraman.tif图像至少用3种方法进行边缘增强,给出实验结果并分析。四、设计思想1.先用imread函数读取,找出其中最大值,采用dct2函数进行dct变换,显示出来,判断小于最大值的变换系数的值赋零,再用idct反变换处理,改变变换系数,分别重构图像,最后再计算重构图像和原图像峰值信噪比2.采用直方图处理、对比度扩展增强、对数变换这三种方式处理,分别采用histeq、imadjust和log函数。五、程序代码及注释1.grb=imread('barbaran.tif');a=max(grb(:));i=rgb2gray(grb);subplot(2,1,1);imshow(i);15j=dct2(i)subplot(2,1,2);imshow(j);b=a/4;j(abs(j)b)=0;k=idct2(j);figure;imshow(k,[0255]);A=double(i);B=double(k);[m,n]=size(i);D=sum(sum((A-B).^2));MSE=D/(m*n);grb=imread('barbaran.tif');a=max(grb(:));i=rgb2gray(grb);subplot(2,1,1);imshow(i);j=dct2(i)subplot(2,1,2);16imshow(j);b=a/8;j(abs(j)b)=0;k=idct2(j);figure;imshow(k,[0255]);A=double(i);B=double(k);[m,n]=size(i);D=sum(sum((A-B).^2));MSE=D/(m*n);grb=imread('barbaran.tif');a=max(grb(:));i=rgb2gray(grb);subplot(2,1,1);imshow(i);j=dct2(i)subplot(2,1,2);imshow(j);b=a/16;j(abs(j)b)=0;17k=idct2(j);figure;imshow(k,[0255]);A=double(i);B=double(k);[m,n]=size(i);D=sum(sum((A-B).^2));MSE=D/(m*n);2.i=imread('cameraman.tif');subplot(2,2,1);imshow(i);[j,t]=histeq(i);subplot(2,2,2);imshow(j);k=imadjust(i,[0.150.9],[01]);subplot(2,2,3);imshow(k);i=double(i);l=log(i+1);18subplot(2,2,4);imshow(l,[]);六、实验结果1.结果:和原图像的峰值噪声比为19019和原图像的峰值噪声比为73和原图像的峰值噪声比为202.结果:20三种图像,直方图对比度明显,整体较为中和,对比扩展方式导致黑色更黑,黑色的细节看不到,而对数增强方式,画面偏白,对比也明显。实验四基于MATLAB神经网络编程实验一、实验目的及要求1.了解神经网络的基本概念和原理;2.掌握用MATLAB实现神经网络的思路和方法;3.了解神经网络工具箱函数的功能。21二、实验设备(环境)及要求1.计算机2.Matlab软件编程实验平台三、实验内容1、利用2输入的MP模型是否可实现“与”、“或”、“非”和“异或”功能?若能,编程实现并给出实现各种功能的权值和实验结果,若不能,请说明原因。2、用人工神经网络拟合函数说明:1)网络结构为三层(输入层、1个隐层和输出层)2)获取两组数据,一组作为训练集,一组作为测试集3)用训练集训练网络4)用测试集检验训练结果四、设计思想1.使用MP模型解决此问题,选择初值,计算误差,更新全值,对所有模式进行所有训练,直到输出满足。2.使用三层BP网络来完成函数逼近。因为函数为一元函数,所以输入层有一个输入,输出层有一个输出,隐层神经元的个数为10。五、程序代码及注释1.p=[0011;0101];%与t=[0001];d=[0101];w1=0.2;w2=0.5;yita=-0.1;theta=0.1;while~isequal(t,d)forj=1:1:40.15()sin()0.46cos(1.2),04xfxxexx22w1=w1+yita*(d(j)-t(j))*p(1,j);w2=w2+yita*(d(j)-t(j))*p(2,j);theta=theta+yita*(d(j)-t(j));d(j)=w1*p(1,j)+w2*p(2,j)+theta;d(j)=round(d(j));en
本文标题:西北工业大学Matlab实验报告(2016)
链接地址:https://www.777doc.com/doc-6660483 .html