实验一:用convwthn求解x(n)=[1,2,3,-1,-2],nx=[-1,3]与h(n)=[2,2,1,-1,4,-2],nh=[-3,2]的卷积。
1.实验代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19%用conv函数编出有位置矢量ny的输出y(n)的convwthnHS.m程序 function [y,ny]=convwthnHS(x,nx,h,nh) y=conv(x,h); ny1=nx(1)+nh(1); ny2=nx(end)+nh(end); %end表示最后一个下标 ny=[ny1:ny2]; 代码2 %用convwthn求解x(n)=[1,2,3,-1,-2],nx=[-1,3], %与h(n)=[2,2,1,-1,4,-2],nh=[-3,2]的卷积。 x=[1,2,3,-1,-2],nx=-1:3; h=[2,2,1,-1,4,-2];nh=-3:2; [y,ny]=convwthnHS(x,nx,h,nh) stem(ny,y,'b.'); title('y(n)的图形'); xlabel('n'); ylabel('y(n)');grid;
2.实验结果
实验二:计算下列两个序列的互相关:rxy(n),x(n)=[2,1,3,2,1,5,1],y(n)=[2,1,3,4],采用rxy(n)=x(m)*y(-m)公式,即用卷积代替相关。
1.实验代码
复制代码
1
2
3
4
5
6
7
8
9%用convwthn函数求互相关 x=[2,1,3,2,1,5,1],y=[2,1,3,4]; N1=length(x)-1,N2=length(y)-1; rxy=conv(fliplr(y),x),k=(-N2):N1; stem(k,rxy,'m.'); title('互相关rxy(m)=x(m)*y(-m)图形'); xlabel('n'),ylabel('rxy(n)'); axis([-N2,N1,0,35]),grid;
实验三:输入单位抽样序列,取其长度为6,,差分方程为y(n)-0.5y(n-1)=x(n)。初始条件为y(-1)=0(一阶方程只需要一个初始条件),输入为δ(n),求输出y(n)=h(n)。
1.方法一:用filter函数求解
(1)实验代码
复制代码
1
2
3
4
5
6
7%方法二:用filter函数求解 %输入单位抽样序列,取其长度为6,,差分方程为y(n)-0.5y(n-1)=x(n)。 %初始条件为y(-1)=0(一阶方程只需要一个初始条件),输入为δ(n),求输出y(n)=h(n)。 a=[1,-0.5];b=1; x=[1,0,0,0,0,0]; y=filter(b,a,x)
(2)实验结果
2.方法二:用impz函数求解
(1)实验代码
复制代码
1
2
3
4
5
6%输入单位抽样序列,取其长度为6,,差分方程为y(n)-0.5y(n-1)=x(n)。 %初始条件为y(-1)=0(一阶方程只需要一个初始条件),输入为δ(n),求输出y(n)=h(n)。 a=[1,-0.5];b=1; x=[1,0,0,0,0,0]; y=filter(b,a,x)
(2)实验结果
最后
以上就是妩媚煎饼最近收集整理的关于《数字信号处理》用matlab实现序列的卷积与相关的全部内容,更多相关《数字信号处理》用matlab实现序列内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复