数字信号处理实验

您所在的位置:网站首页 用双线性变换法设计数字低通滤波器若通带上限频率为 数字信号处理实验

数字信号处理实验

2023-10-28 17:24| 来源: 网络整理| 查看: 265

实验一 MATLAB基础 (标题,宋体四号,加粗,2倍行距,居中,大纲1级,段前1行段后0.5行) 1.MATLAB的启动 (宋体小四,加粗,21磅行距,左对齐,大纲2级,段前0.5行,悬挂2字符) 有多种方式可启动MATLAB,最常用的方法就是双击系桌面的MATLAB图标,也可以在开始菜单的程序选项中选择MATLAB快捷方式。 初次启动MATLAB后,将进入MATLAB默认设置的桌面平台。(宋体小四,21磅行距,两端对齐,正文文本,首行2字符) 2.桌面平台 默认设置情况下的桌面平台包括6个窗口,分别是MATLAB主窗口、命令窗口、历史窗口、当前目录窗口、发行说明书窗口和工作间管理窗口。 3. 实验心得(实验心得内容全部手写完成!) (1)实验内容(对实验内容进行阐述,具体描述掌握的知识及自己的操作学习过程,不少于200字) 1.MATLAB程序编辑/调试器(编写算法程序的地方) 在MATLAB的命令窗口中有3种方式可进入程序编辑/调试器 (1)选择菜单栏的“File”项中的“New”或“Open”项。 (2)选择工具栏的“New”或“Open”项。 (3)在命令窗口中输入edit命令。 MATLAB的程序类型有以下三种 (1)脚本M文件 (2)程序M文件 (3)函数M文件(常称为M函数) 2.MATLAB帮助系统 (1)单击MATLAB主窗口菜单的“Help”|“Demos”选项,或在命令窗口输入demo,将进入MATLAB的演示界面。 (2)命令窗口查询帮助有“help+关键词”,显示所有帮助说明;“lookfor+关键字”,查询相关函数等。 3.变量 (1)变量的命名 (2)一些特殊的变量 ans:用于结果的缺省变量名; i、j:虚数单位; pi:圆周率; nargin:函数的输入变量个数; eps:计算机的最小数; nargout:函数的输出变量个数; inf:无穷大; nan:不定量。 4.向量的生成 由冒号运算符生成:A=初值:增值:终值 5.矩阵的生成 (1)在命令窗口中直接输入 (2)由多个向量生成矩阵 (3)一些常用的特殊矩阵 单位矩阵:eye(m,n);eye(m); 零矩阵:zeros(m,n);zero(m); 一矩阵:ones(m,n);ones(m); 对角矩阵:对角元素向量V=[a1,a2,…an],A=diag(V); 随机矩阵:rand(m,n)产生一个mn均匀分布的随机矩阵,如Y=randn(m,n)%生成mn正态分布随机矩阵 6.矩阵运算 矩阵的四则运算,运算符有+、-、、\、.\、/、./、、.、’和.’ 7.基本平面图形绘制命令plot的调用格式 (1)plot(X,Y) (2)plot(Y) (3)plot(X1,Y1,X2,Y2,…) (4)plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,…) 8.二维图形注释命令 (1)axis(V) (2)grid on (3)title(‘string’) (4)text(x,y,’string’) (5)xlabel(‘string’)、ylabel(‘string’) (6)[x,y]=ginput(n) (7)gtext(‘string’) (8)hold on/off (9)plotyy(x1,y1,x2,y2) (10)多子图,subplot (11)syem (2)实验收获及总结(不少于150字) 通过本次实验在原有的matlab基础上加深了对于matlab的认知,复习了各种二维矩阵的运算,掌握了一些新的命令,对于matlab绘图有了更深刻的理解,同时对于函数文件的编写有了更加深刻的印象。复习了matlab的窗口使用,对于基本上的matlab知识掌握更加熟练,同时编写了很多脚本文件,掌握了很多特殊变量,运用注释将程序的可读性有了进一步的提高。 实验二 信号的表示 (前一页末尾插入分页符) 1.实验目的 (标号重新开始于1) 1.了解MATLAB程序设计语言的基本特点,熟悉MATLAB软件运行环境。 2.掌握各种信号的建模方式。 3.掌握各种信号的图形表示方法。 4.掌握变量等有关概念,具备初步的将一般数学模型转化为对应的计算机模型并进行处理的能力。 2.实验设备 PC机 MATLAB7.0软件 3.实验内容 学习使用MATLAB7.0软件;学习信号的图形表示方法;掌握各种信号的建模方式;实现单位采样序列δ(n)、单位阶跃序列u(n)、矩形序列Rg(n)、三角波、方波、锯齿波、Sinc函数。 4.思考题 (1)实现单位采样序列δ(n)、单位阶跃序列u(n)、矩形序列Rg(n),并用图形显示。写出程序及输出图形。 单位采样序列δ(n) n=-5:10; y=[zeros(1,5),1,zeros(1,10)]; stem(n,y); axis([-5,10,0,2]); title(‘单位采样序列’); 在这里插入图片描述 单位阶跃序列u(n) n=-5:10; y=[zeros(1,5),ones(1,11)]; stem(n,y,‘r’); axis([-5,10,0,2]); title(‘单位阶跃序列u(n)’) 在这里插入图片描述 矩形序列Rg(n) n=-5:10; y=[zeros(1,5),ones(1,5),zeros(1,6)]; plot(n,y,‘b’); stem(n,y,‘b’); axis([-5,10,0,2]); title('矩形序列Rg(n '); 在这里插入图片描述 (2) 实现三角波、方波、锯齿波、Sinc函数,并用图形显示。写出程序及输出图形。 三角波 x=0:0.01:1 y=abs(sawtooth(10pi*(x+0.05),0.5)); plot(x,y,‘m’); axis([0,1,0,2]) title(‘三角波’); 在这里插入图片描述 方波 x=-2pi/100:pi/1024:2pi/100; y=square(2pi30x,60); plot(x,y,‘y’); title(方波’’); ylim([-1.5,1.5]); 在这里插入图片描述 锯齿波 x=0:0.01:1 y=sawtooth(10pi*(x+0.05),1); plot(x,y,‘y’); axis([0,1,-2,2]) title(‘¾â³Ý’); 在这里插入图片描述 Sinc函数 y=sinc(x); plot(x,y,‘k’); title(‘sincº¯Êý’); 在这里插入图片描述 实验三 FFT频谱分析及应用 1.实验目的 1.通过实验加深对FFT的理解。 2.熟悉应用FFT对典型信号进行频谱分析的方法。 2.实验设备 PC、MATLAB7.0软件 3.实验内容 使用MATLAB程序实现信号频域特性的分析。涉及离散傅里叶变换(DFT)、快速傅里叶变换(FFT)及信号频率分辨率等知识点。 4.思考题 被噪声污染的信号,比较难看出所包含的频率分量,如一个有50Hz和120Hz正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz,试用FFT函数来分析其信号频率成分,要求: 画出时域波形; 分析信号功率谱密度; t=0:0.001:0.8; x=sin(2pi50t)+cos(2pi120t); y=x+1.5*randn(1,length(t)); subplot(3,1,1);plot(t,x); subplot(3,1,2);plot(t,y); Y=fft(y,512); P=Y.conj(Y)/512; f=1000(0:255)/512; subplot(3,1,3);plot(f,P(1:256)); title(‘FFT N=512’); xlabel(‘频率(单位:Hz)’); ylabel(‘P’); 在这里插入图片描述 实验四 信号的运算-卷积 1.实验目的 1.掌握信号的线性卷积运算。 2.掌握信号的循环卷积运算。 3.信号的循环卷积计算线性卷积的条件。 2.实验设备 PC、MATLAB7.0软件 3.实验内容 学习使用MATLAB7.0软件进行建模;学习信号卷积运算的MATLAB实现;实现信号的线性卷积运算、应用DFT实现线性卷积运算、验证循环卷积计算线性卷积的条件。 4.思考题 1.如果信号x(n)=x1(n)*x2(n)利用线性卷积计算。用conv函数实现如下:y=conv(x1,x2)。 function y = circonvt(x1,x2,N) if(length(x1)>N||length(x2)>N) error(‘N必须大于等于x的长度’); end x1=[x1 zeros(1,N-length(x1))]; x2=[x2 zeros(1,N-length(x2))]; x1=fft(x1,N);x2=fft(x2,N);x=x1.*x2; y=ifft(x,N);y=real(y); end circonvt( [1 5 4],[4 2 5],4) 在这里插入图片描述 2.假设卷积下面信号

选定循环卷积的长度为N=21,确定y1(n)=x(n)h(n)的哪些数值与线性卷积y2(n)=x(n)*h(n)结果中的数值相同。编写代码并输出图形,分析错误数据的原因,怎样才能使两者数据相同。 function y = circonvt(x1,h,N) if(length(x1)>N||length(h)>N) error(‘N必须大于等于x的长度’); end x1=[x1 zeros(1,N-length(x1))]; h=[h zeros(1,N-length(h))]; x1=fft(x1,N);h=fft(h,N);x=x1.*h; y=ifft(x,N);y=real(y);

n1=0:1:12; x1=0.9.^n1; h=ones(1,12); h=[zeros(1,9) h]; N=length(x1)+length(h)-1; n=0:N-1; ny=0:20; y1=circonvt(x1,h,21); y2=circonvt(x1,h,N); x1=[x1 zeros(1,N-length(x1))]; h=[h zeros(1,N-length(h))]; X1=fft(x1,N); H=fft(h,N); X=X1.*H; x=ifft(X); x=real(x); subplot(2,2,1);stem(n,x1);title(‘x1(n)’);axis([0,33,0,1]); subplot(2,2,2);stem(n,h);title(‘h(n)’);axis([0,33,0,1]); subplot(2,2,3);stem(ny,y1,‘fill’);title(‘21点循环卷积’);axis([0,33,0,8]); hold on; subplot(2,2,4);stem(n,x);title(‘线性卷积’);axis([0,33,0,8]); subplot(2,2,3);stem(n,x,‘r’,’–’);axis([0,33,0,8]); hold off; 在这里插入图片描述 3.已知系统响应为h(n)=sin(0.2n)+cos(0.5n) 0N) error(‘N必须大于等于X的长度’); end x=[x zeros(1,N-length(x))]; h=[h zeros(1,N-length(h))]; X=fft(x,N); H=fft(h,N); X1=X.H; y=ifft(X1,N); y=real(y); end function y = ovrlpsav( x,h,N ) Lenx=length(x); M=length(h); if N



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3