当前位置:文档之家› 数字信号处理实验报告(实验1_4)

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法实验容1、帮助命令使用 help 命令,查找 sqrt (开方)函数的使用方法;2、MATLAB 命令窗口(1)在MATLAB 命令窗口直接输入命令行计算31)5.0sin(21+=πy 的值;(2)求多项式 p(x) = x3 + 2x+ 4的根;3、矩阵运算(1)矩阵的乘法已知A=[1 2;3 4],B=[5 5;7 8],求A^2*B(2)矩阵的行列式已知A=[1 2 3;4 5 6;7 8 9],求A(3)矩阵的转置及共轭转置已知A=[1 2 3;4 5 6;7 8 9],求A'已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B'(4)特征值、特征向量、特征多项式已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;(5)使用冒号选出指定元素已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素;4、Matlab 基本编程方法(1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π](3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(a)线形为点划线、颜色为红色、数据点标记为加号;(b)坐标轴控制:显示围、刻度线、比例、网络线(c)标注控制:坐标轴名称、标题、相应文本;>> clear;t=0:pi/10:4*pi;y=10*sin(t);plot(t,y);plot(t,y,'-+r');grid>> xlabel('X'),ylabel('Y');>> title('Plot:y=10*sin(t)');>> text(14,10,'完整图形');实验二常见离散信号的MATLAB产生和图形显示实验容与步骤1. 写出延迟了np个单位的单位脉冲函数impseq,单位阶跃函数stepseq, n=ns:nf function [x,n]=impseq[np,ns,nf];function [x,n]=stepseq[np,ns,nf];2. 产生一个单位样本序列x1(n),起点为ns= -10, 终点为nf=20, 在n0=0时有一单位脉冲并显示它。

修改程序,以产生带有延时11个样本的延迟单位样本序列x2(n)= x1(n-11),并显示它。

>> clear;>> ns=-10;nf=20;n0=0;>> [x1,n1]=impseq(n0,ns,nf);>> subplot(1,2,1),stem(n1,x1);title('n0=0时的单位脉冲')>> np=11;>> [x2,n2]=impseq(np,ns,nf);>> subplot(1,2,2),stem(n2,x2);title('延迟11个样本后')3.产生一个序列X(n)= n(u(n)-u(n-8)), 0<=n<=20,并显示。

>> clear>> n=[0:20];>> x=n.*(stepseq(0,0,20)-stepseq(8,0,20));>> stem(n,x);4.编写序列相加,相乘,以及序列翻转、移位的函数文件 function [y,ny] = seqadd(x1,n1,x2,n2);function [y,ny] = seqmult(x1,n1,x2,n2);function [y,ny] = seqfold(x,nx);function [y,ny] = seqshift(x,nx,k);5.已知序列x=[0,1,2,3,4,3,2,1,0],n= -5:3, 产生一个序列y(n) =2*x(n+3)+x(-n);并显示它。

>> x=[0,1,2,3,4,3,2,1,0]; >> n=[-5:3];>> y=2*seqshift(x,n,3)+seqfold(x,n);stem(x,y) >> stem(n,y)6.复杂信号的产生:复杂的信号可以通过在简单信号上执行基本的运算来产生 试产生一个振幅调制信号 ,并显示出来。

)1.02cos())01.02cos(4.01()2cos())2cos(1()(n n n f n f m n y H L ⨯⋅⨯⋅+=⋅⋅+=ππππn=0:100>> n=[0:100];>> y=(1+0.4*cos(2*pi*0.01*n)).*cos(2*pi*0.1*n); >> stem(n,y)实验三 离散时间系统的时域分析实验容与步骤1. 假定一因果系统为y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2) 用MA TLAB 程序仿真该系统,输入三个不同的输入序列:)1.02cos()(1n n x ⋅=π,)4.02cos()(2n n x ⋅=π,)(3)(221n x n x x -= 计算并并显示相应的输出)(1n y , )(2n y 和)(n y 。

>> n=0:40; a=2; b=-3;x1=cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n); x=a*x1+b*x2;num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75];y1=filter(num,den,x1); %计算出y1(n) y2=filter(num,den,x2); %计算出y2(n) y=filter(num,den,x); %计算出y(n) stem(y1);n=0:40; a=2; b=-3;x1=cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n); x=a*x1+b*x2;num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75];y1=filter(num,den,x1); %计算出y1(n) y2=filter(num,den,x2); %计算出y2(n) y=filter(num,den,x); %计算出y(n) stem(y1);>> stem(y2);>> stem(y);2.用MA TLAB程序仿真步骤1给出的系统,对两个不同的输入序列x(n)和x(n-10),计算并显示相应的输出序列y3(n)和y4(n)。

n=0:40;x1=2*n;num=[2.2403, 2.4908,2.2403];den=[1,-0.4,0.75];ic=[0 0]; %设置零初始条件y3=filter(num,den,x1,ic); %计算输入为x1(n)时的输出y1(n)[y,ny]=seqshift(x1,n,10)y4=filter(num,den,y,ic);subplot(2,1,1)stem(n,y3);ylabel('振幅');title('y3(n)');subplot(2,1,2)stem(ny,y4);ylabel('振幅');title('y4(n)');3.用MA TLAB 程序仿真计算下列两个有限长序列的卷积和并显示图形。

)2(2)1(3)()(1-+-+=n n n n x δδδ )3()()(2--=n u n u n xfunction[y,ny]=convwthn(x,nx,h,nh) nys=nx(1)+nh(1);nyf=nx(end)+nh(end); y=conv(x,h);ny=[nys:nyf];n=0:20;x1=impseq(0,0,20)+3*impseq(1,0,20)+2*impseq(2,0,20) x2=stepseq(0,0,20)-stepseq(3,0,20) subplot(3,1,1) stem(n,x1); subplot(3,1,2) stem(n,x2);[y,ny]=convwthn(x1,n,x2,n); subplot(3,1,3) stem(ny,y);实验四 离散时间信号的DTFT一、实验目的1. 运用MATLAB 计算离散时间系统的频率响应。

2. 运用MATLAB 验证离散时间傅立叶变换的性质。

二、实验原理(一)、计算离散时间系统的DTFT 已知一个离散时间系统∑∑==-=-Nk k Nk kk n x b k n y a)()(,可以用MA TLAB 函数frequz 非常方便地在给定的L 个离散频率点l ωω=处进行计算。

由于)(ωj e H 是ω的连续函数,需要尽可能选取L 的值(因为严格说,在MA TLAB 中不使用symbolic 工具箱是不能分析模拟信号的,但是当采样时间间隔充分小的时候,可产生平滑的图形),以使得命令plot 产生的图形和真实离散时间傅立叶变换的图形尽可能一致。

在MA TLAB 中,freqz 计算出序列{M b b b ,,,10 }和{N a a a ,,,10 }的L 点离散傅立叶变换,然后对其离散傅立叶变换值相除得到L l e H lj ,,2,1),( =ω。

为了更加方便快速地运算,应将L 的值选为2的幂,如256或者512。

例3.1 运用MATLAB 画出以下系统的频率响应。

y(n)-0.6y(n-1)=2x(n)+x(n-1) 程序:w=-4*pi:8*pi/511:4*pi; num=[2 1];den=[1 -0.6]; h=freqz(num,den,w); subplot(2,1,1)plot(w/pi,real(h));gridtitle(‘H(e^{j\omega}的实部’)) xlabel(‘\omega/ \pi ’); ylabel(‘振幅’);subplot(2,1,1)plot(w/pi,imag(h));gridtitle(‘H(e^{j\omega}的虚部’)) xlabel(‘\omega/ \pi ’); ylabel(‘振幅’);(二)、离散时间傅立叶变换DTFT 的性质。

相关主题