数字信号处理实验全部程序MATLAB

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一熟悉MATLAB环境

一、实验目的

(1)熟悉MATLAB的主要操作命令。

(2)学会简单的矩阵输入和数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容

认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。

上机实验内容:

(1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。

实验程序:

A=[1 2 3 4];

B=[3 4 5 6];

n=1:4;

C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;

subplot(4,2,1);stem(n,A,'fill');xlabel ('时间序列n');ylabel('A');

subplot(4,2,2);stem(n,B,'fill');xlabel ('时间序列n ');ylabel('B'); subplot(4,2,3);stem(n,C,'fill');xlabel ('时间序列n ');ylabel('A+B'); subplot(4,2,4);stem(n,D,'fill');xlabel ('时间序列n ');ylabel('A-B'); subplot(4,2,5);stem(n,E,'fill');xlabel ('时间序列n ');ylabel('A.*B'); subplot(4,2,6);stem(n,F,'fill');xlabel ('时间序列n ');ylabel('A./B'); subplot(4,2,7);stem(n,G,'fill');xlabel ('时间序列n ');ylabel('A.^B');

运行结果:

(2)用MATLAB实现以下序列。

a)x(n)=0.8n0≤n≤15

实验程序:

n=0:15;x=0.8.^n;

stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x(n)=0.8^n');

b)x(n)=e(0.2+3j)n0≤n≤15

实验程序:

n=0:15;x=exp((0.2+3*j)*n);

stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x(n)=exp((0.2+3*j)*n)'); 运行结果:

a)的时间序列 b)的时间序列c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15

实验程序:

n=0:1:15;

x=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);

stem(n,x,'fill'); xlabel('时间序列n ');

ylabel('x(n)=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi)');

运行结果:

d)将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期

实验程序:

n=0:1:63;

x=3*cos(0.125*pi*rem(n,16)+0.2*pi)+2*sin(0.25*pi*rem(n,16)+0.1*pi); stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x16(n)');

e)将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期

实验程序:

n=0:1:39;

x=3*cos(0.125*pi*rem(n,10)+0.2*pi)+2*sin(0.25*pi*rem(n,10)+0.1*pi); stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x10(n)');

运行结果:

d )的时间序列

e )的时间序列

(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。

a )x 1(n)=2x(n+2)-x(n-1)-2x(n)

实验程序:

n=0:3;

x=[1 -1 3 5];

x1=circshift(x,[0 -2]);x2=circshift(x,[0 1]);x3=2*x1-x2-2*x; stem(x3,'fill'); xlabel ('时间序列n

');ylabel('x1(n)=2x(n+2)-x(n-1)-2x(n)');

b )∑=-=5

1k 2)k n (nx (n) x

实验程序:

n=0:3;

x=[1 -1 3 5];

x1=circshift(x,[0 1]);x2=circshift(x,[0 2]);x3=circshift(x,[0 3]); x4=circshift(x,[0 4]);x5=circshift(x,[0 5]);

xn=1*x1+2*x2+3*x3+4*x4+5*x5;

stem(xn,'fill'); xlabel('时间序列n ');

ylabel('x2(n)=x(n-1)+2x(n-2)+3x(n-3)+4x(n-4)+5x(n-5)');

运行结果:

a)的时间序列b)的时间序列(4)绘出时间函数的图形,对x轴、y轴图形上方均须加上适当的标注。

a) x(t)=sin(2πt) 0≤t≤10s b) x(t)=cos(100πt)sin(πt) 0≤t≤4s

实验程序:

clc;

t1=0:0.001:10;t2=0:0.01:4;

xa=sin(2*pi*t1);xb=cos(100*pi*t2).*sin(pi*t2);

subplot(2,1,1);

plot(t1,xa);xlabel ('t');ylabel('x(t)');title('x(t)=sin(2*pi*t)'); subplot(2,1,2);

plot(t2,xb);xlabel

('t');ylabel('x(t)');title('x(t)=cos(100*pi*t2).*sin(pi*t2)');

运行结果:

相关文档
最新文档