您好,欢迎来到微智科技网。
搜索
您的当前位置:首页序列的时域表示与运算

序列的时域表示与运算

来源:微智科技网
序列的时域表示与运算

一、实验目的

1. 掌握离散时间信号的表示;

2. 掌握离散时间信号的基本运算(加、减、乘、反折、移位)的规则; 3. 能用MATLAB进行简单的编程;

4. 学习MATLAB函数的调用,实现序列的显示和运算。 二、实验内容与要求

请在实验报告中记录以下程序和结果

1.用MATLAB产生并画出下列序列的样本。

1) x1(n)m1[n2mn2m1],0n25

m0102) x2(n)n2[un5un6]10n200.5[un4un10] 3) x3(n)0.9cos(0.2n/3),0n20

4) x4(n)10cos(0.0008n2)wn,0n100,式中wn是在[-1,1]之间均匀分 布的随机序列;

2. 学习函数的调用。设x(n){1,2,3,4,5,6,7,6,5,4,3,2,1},求解并画出下面序列。

nn y1(n)2x(n5)3x(n4) y2(n)x(3n)x(n)x(n2) 3. 已知序列x[n]e(0.1j0.3)n10n10 ,在一个图形窗中分别画出该序

列的实部、虚部、幅值和相位图。

注:学习abs、angle、real、imag、subplot、title函数的使用。 4. 若线性时不变系统的单位样值响应为h(n)(0.6)nu(n),输入序列

x(n)u(n)u(n10),求系统的输出y(n),并画出其波形图。

实验程序及结果如下: 1.1

N=25; n=0:N; x=0;

for m=0:1:10

x=x+(m+1).*(impseq(2*m,0,N)-impseq(2*m+1,0,N)); end

stem(n,x); xlabel('t'); ylabel('y');

1.2

N=10; n=-5:N;

x=(n.^2).*(stepseq(-5,-5,N)-stepseq(6,-5,N))+10*stepseq(0,-5,N)+20*(0.5.^n).*(stepseq(4,-5,N)-stepseq(10,-5,N)); stem(n,x);

1.3

n=0:0.2:20;

x=0.9.^n.*cos(0.2*pi*n+pi/3); stem(n,x);

title('x=0.9^n*cos(0.2*pi*n+pi/3)'); xlabel('t'); ylabel('y');

1.4

n=0:0.5:100;

x=10*cos(0.0008*pi*n.^2)+(2*(rand)-1); stem(n,x);

title('x=10*cos(0.0008*pi*n.^2)'); xlabel('t'); ylabel('y');

2

n=-2:10;

x=[1:7,6:-1:1];

[x11,n11]=sigshift(x,n,5); [x12,n12]=sigshift(x,n,-4);

[x1,n1]=sigadd(2*x11,n11,-3*x12,n12); subplot(2,1,1); stem(n1,x1);

[x21,n21]=sigfold(x,n);

[x21,n21]=sigshift(x21,n21,3); [x22,n22]=sigshift(x,n,2);

[x22,n22]=sigmult(x,n,x22,n22); [x2,n2]=sigadd(x21,n21,x22,n22); subplot(2,1,2); stem(n2,x2);

3

n=-10:10;

x=exp((-0.1+j*0.3)*n); subplot(2,2,1); r=real(x); stem(n,r);

title('实部图'); i=imag(x);

subplot(2,2,2); stem(n,i);

title('虚部图'); a=abs(x);

subplot(2,2,3); stem(n,a);

title('幅值图'); g=angle(x); subplot(2,2,4); stem(n,g);

title('相位图');

4

N=10; n=0:N;

x=stepseq(0,0,N)-stepseq(10,0,N); h=(0.6.^n).*stepseq(0,0,N); y=conv(x,h);

ny=0:length(y)-1; stem(ny,y); xlabel('t'); ylabel('y');

实验总结:

通过这次实验的学习,我基本上掌握了离散时间信号的表示,以及离散时间信号的基本运算(加、减、乘、反折、移位)的规则,这些规则,能够让我们在编程以及运算的时候变得简单许多。这次的实验,还主要学习了MATLAB函数的调用,实现序列的显示和运算。通过这次的学习,使我能够用MATLAB进行简单的编程。另外,我们在进行变量和文件名的命名时,要注意以英文字母开头,由字母、数字和下划线组成,并且不要与MATLAB内置函数名称相同。总之,这次的实验让我对MATLAB有了更深一步的认识,也巩固了所学的知识,收获不浅。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务