实验七 离散时间信号和系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统实验报告
实验七 离散时间信号和系统
§7.1离散时间正弦信号
1.考虑下面离散时间信号:
⎪
⎭⎫
⎝⎛=N Mn n x M π2sin ][,假设N=12。
对于M =4,5,7和
10,在120-≤≤N
n 区间上画出][n x M 。
用
stem 创建这些图,并在图的各坐标轴上
给出适当标注。
每一个信号的基波周期是什么?由任意的整数M 和N 值,一般如何来确定信号的基波周期?务必考虑N
M
>的情况。
clc;
N=12;
n=0:(2*N-1); i=1;
for M=[4 5 7 10 15] x=sin(2*pi*M*n./N); figure(i)
stem(n,x,'fill'); i=i+1; end
答:第一个信号的基波周期为3;第二个信号的基波周期为12;第三个信号的基波周期为12;第四个信号的基波周期为6。
由任意的整数M和N值,一般来说信号的基波周期为N/(M与N的最大公约数)
2.考虑信号()n n x k k ωsin ][=,式中5
2k k
πω=。
对于6
,4,2,1=k
,用stem 对][n x k 画出
在区间90<<n 内的图。
应利用subplot 在一张图上用单独的坐标轴画出全部信号。
已画出的图中有多少个唯一的信号?如果两个信号是完全一样的,请解释为何不同的k ω会产生同一个信号。
clc; n=1:8; i=1;
for k=[1 2 4 6] x=sin(2*pi*k/5*n); subplot(2,2,i) stem(n,x,'fill')
i=i+1; end
答:图中有2个唯一的信号。
因为信号是离散的信号,而连续的余弦信号又为周期信号,因此当k 值取值符合一定要求时,两个离散信号图形可能一模一样。
3.考虑下面3个信号
⎪
⎭⎫
⎝⎛+⎪⎭⎫ ⎝⎛=⎪
⎭⎫
⎝⎛+⎪⎭⎫ ⎝⎛=⎪
⎭⎫
⎝⎛+⎪⎭⎫ ⎝⎛=N n N n n x N n N n n x N n N n n x 25sin 32cos ][3sin 2cos 2][3sin 2cos ][321ππππ
假设对每个信号N=6。
试确定是否每个信号都是周期的。
如某一信号是周期的,从0=n 开始画出该信号的两个周期;如该信号不是周期的,对N n 40≤≤画出该信号,并说明为何它不是周期的。
clc; N=6;
subplot(311) n1=0:24;
x1=cos(2*pi*n1./N)+sin(3*pi*n1./N); stem(n1,x1) subplot(312) n2=0:24;
x2=2*cos(2*n2./N)+sin(3*n2./N); stem(n2,x2) subplot(313) n3=0:48;
x3=cos(2*pi*n3./N)+3*sin(5*pi*n3./(2*N)); stem(n3,x3)
答:若2*pi/w0不是有理数,则该信号不是周期的。
4.在310≤≤n 内画出下列信号:
⎪
⎭
⎫
⎝⎛⎪⎭⎫ ⎝⎛=⎪
⎭
⎫
⎝⎛=⎪
⎭
⎫
⎝⎛⎪⎭⎫ ⎝⎛=8cos 4sin ][4cos ][4cos 4sin ][3221n n n x n n x n n n x πππππ
每个信号的基波周期是什么?对于这3个信号不依赖MATLAB 如何确定基波周期?
答:第一个信号的基波周期是 4,第二个信号的基波周期是4,第三个信号周期为32。
5.考虑上面3和4中已画出的信号。
两个周期信号的相加必定还是周期信号吗?清说明你的理由?
clc; n=0:31;
x1=sin(pi*n./4).*cos(pi*n./4); x2=(cos(pi*n./4)).^2;
x3=sin(pi*n./4).*cos(pi*n./8); subplot(311) stem(n,x1) subplot(312) stem(n,x2) subplot(313)
stem(n,x3)
答:若两个相加信号的周期不一样,那么相加后的结果可能不在按规律重复,得到的信号也就不是周期信号。
§7.2离散时间信号时间变量的变换
1.定义一个MATLAB 向量nx 是在73≤≤-n 上的时间变量,而MATLAB 向量x 是信号][n x 在这些样本上的值,][n x 给出如下:
⎪⎪⎪⎩⎪
⎪⎪
⎨⎧==-===n n n n n n x 其余 ,04 ,33
1,2 ,10 ,2][
请正确定义][n x ,用stem(nx,x)画出该离散时间序列。
clc; n=-3:7;
x=zeros(1,11); x(4)=2; x(6)=1; x(7)=-1;
x(8)=3; stem(n,x);
2.定义MATLAB 向量y1~y4,来表示下列离散时间信号:
]1[][]
[][]1[][]2[][4321+-=-=+=-=n x n y n x n y n x n y n x n y
为此,应该定义y1~y4,关键是要正确定义标号向量ny1~ny4。
首先应判断当变换到][n y i 时,一个给定的][n x 样本的变量时如何改变的。
标号向量不必要跨于和nx 相同的一组变量值,但至少都是11个样本长,并包含了与有关信号全部非零样本的变量值。
clc;
x=zeros(1,11) x(4)=2 x(6)=1 x(7)=-1 x(8)=3 n=-3:7 n1=n-2 n2=n+1 n3=-n n4=-n+1 y1=x y2=x y3=x y4=x y1 =
Columns 1 through 10
0 0 0 2 0 1 -1 3 0 0
Column 11 0 y2 =
Columns 1 through 10
0 0 0 2 0 1 -1 3 0 0
Column 11
0 y3 =
Columns 1 through 10
0 0 0 2 0 1 -1 3 0 0
Column 11 0 y4 =
Columns 1 through 10
0 0 0 2 0 1 -1 3 0 0
Column 11 0
3.利用stem 产生][1n y 到]
[4n y 的图。
根据这些图,陈述每个信号与原始信号]
[n x 是如何相关联的。
clc;
x=zeros(1,11); x(4)=2; x(6)=1; x(7)=-1; x(8)=3; n=-3:7; n1=n-2; n2=n+1; n3=-n; n4=-n+1; y1=x; y2=x; y3=x; y4=x;
subplot(2,2,1)
stem(n1,y1);title('y1') subplot(2,2,4)
stem(n4,y4);title('y2')
subplot(2,2,2)
stem(n2,y2);title('y3') subplot(2,2,3)
stem(n3,y3);title('y4')
§7.3离散时间系统的性质 1.系统()
][2sin ][n x n y π
=不是线性的。
利用信号][][1n n x δ=和][2][2n n x δ=来证明该系
统是如何违反线性性质的。
答:当n=0时,若输入 ][][1n n x δ=,则x1(0) =1,y10)=1;若 ][2][2n n x δ=,则x2(0)=2,y2(0)=sin(pi/4)=2/2, 结果不等于 2倍y1(0),因此是非线形的。
2.系统]
1[][][++=
n x n x n y 不是因果的。
利用信号][][n u n x =证明它。
定义MATLAB
向量x 和y 分别代表95≤≤-n 上的输入和96≤≤-n 上的输出。
中等题
答:y[n]=x[n]+x[n+1]=u[n]+u[n+1],当n=-1时,y[-1]=u[-1]+u[0]=1,即当n<0时,存在y(n)不等于0,因此系统
]
1[][][++=n x n x n y 不是因果的。
clc; i=0; for n=-5:9
i=i+1;
x(i)=Heaviside(n);
end
i=0;
for n=-6:9
i=i+1;
y(i)=Heaviside(n)+Heaviside(n+1);
end
3.系统()][log ][n x n y =不是稳定的。
答:当n<0时,x[n]=0,而log 0等于负无穷大,此时y[n]无界,也就是说y 不是绝对可和,因此系统()][log ][n x n y =不是稳定的。
4.上述1中的系统不是可逆的。
答:因为三角函数是一个周期函数,当求反三角函数时,因为不知道pi/(2x(n))落在哪一个周期内而无法确定此系统的逆系统,因此1中的系统不是可逆的。
5.][][3n x n y =
答:此系统非线性。
当输入为2x[n]时,输出为8倍y[n]。
6.][][n nx n y =
答:此系统时变。
因为系统方程中含有n 显示函数,因此为时变系统。
7.]2[][n x n y =
答:此系统时变。
因为系统中含尺度变换。
§7.4实现一阶差分方程
1.写出一个函数y=diffeqn(a,x,yn1),该函数计算][]1[][n x n ay n y +-=所描述的因果系统的输出][n y 。
输入向量x 包含10-≤
≤N n 内的][n x ,yn1提供y[-1]的值。
输出向量y 包含10-≤
≤N n 内的][n y 。
M 文件的第一行应该读出function
y=diffeqn(a,x,yn1)
提示:从y[-1]计算y[0]是自递归的第一步。
在M 文件中利用for 循环从0=n 开始依次计算到较大n 值的][n y 。
function y=diffeqn(a,x,yn1);
N=length(x);
for n=1:N
if n==1
y(n)=a*yn1*x(n)
else y(n)=a*y(n-1)+x(n)
end
end
2.假设0]1[,1=-=y a ,而且仅关心300≤≤n 内的输出。
利用这个函数计算][][1n n x δ=和][][2n u n x =时的响应,用stem 画出每个响应。
clc;
a=1;yn1=-1;
for n=0:30
x2(n+1)=1;
if n==0
x1(n+1)=1;
else x1(n+1)=0;
end
end
y1=diffeqn(a,x1,yn1)
y2=diffeqn(a,x2,yn1)
n=[0:30];
subplot(211)
stem(n,y1,'fill');
title('y1');
subplot(212)
stem(n,y2,'fill');
title('y2');
3.假设1]1[,1-=-=y a ,利用这个函数计算][][1n u n x =和][2][2n u n x =时,在300≤≤n 内的][1n y 和][2n y ,利用stem 画出这两个输出,并画出][][221n y n y -。
已知系统方程的是一线性差分方程,为什么这个差不恒为零?
clc;
a=1;yn1=-1;
for n=0:30
x2(n+1)=1;
x1(n+1)=1;
end
y1=diffeqn(a,x1,yn1)
y2=diffeqn(a,x2,yn1)
n=[0:30];
subplot(311)
stem(n,y1)
title('y1');
subplot(312)
stem(n,y2)
title('y2');
subplot(313)
stem(n,2*y1-y2)
title('2*y1-y2');
答:此系统为非因果,有初始储能,因此虽然系统方程的是一线性差分方程,但这个差不恒为零。
4.只要1<a ,方程][]1[][n x n ay n y +-=描述的因果系统是BIBO 稳定的。
这类系统
的一个性质就是对于足够大的n ,初始条件的影响是不重要的。
假设21=a ,x
向量包含在300≤≤n 内的][][n u n x =。
假定0]1[=-y 和21]1[=-y 的两种情况下,计算300≤≤n 内的两个输出信号。
利用stem 画出这两个响应,它们的差异怎样? clc;
a=1/2;yn1=0;yn2=-1;
for n=0:30
x(n+1)=1;
end
y1=diffeqn(a,x,yn1);
y2=diffeqn(a,x,yn1);
n=[0:30];
subplot(211)
stem(n,y1);
axis([0 30 -0.5 2.5]);
title('y1');
subplot(212)
stem(n,y2);
axis([0 30 -0.5 2.5]);
title('y2');。