我是靠谱客的博主 妩媚煎饼,最近开发中收集的这篇文章主要介绍《数字信号处理》用matlab实现序列的卷积与相关,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实验一:用convwthn求解x(n)=[1,2,3,-1,-2],nx=[-1,3]与h(n)=[2,2,1,-1,4,-2],nh=[-3,2]的卷积。

1.实验代码

%用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.实验代码

%用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)实验代码

%方法二:用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)实验代码

%输入单位抽样序列,取其长度为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实现序列的卷积与相关所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部