怎么用matlab画出冲激函数与斜坡函数的卷积波形

怎么用matlab画出冲激函数与斜坡函数的卷积波形,第1张

在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积

(1)即y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。

实现差分方程,先从简单的说起:

filter([1,2],1,[1,2,3,4,5]),实现y[k]=x[k]+2x[k-1]

y[1]=x[1]+20=1 (x[1]之前状态都用0)

y[2]=x[2]+2x[1]=2+21=4

(2)y=conv(x,h)是用来实现卷级的,对x序列和h序列进行卷积,输出的结果个数等于x的长度与h的长度之和减去1。

卷积公式:z(n)=x(n)y(n)= ∫x(m)y(n-m)dm

程序一:以下两个程序的结果一样

(1)h = [3 2 1 -2 1 0 -4 0 3]; % impulse response

x = [1 -2 3 -4 3 2 1]; % input sequence

y = conv(h,x);

n = 0:14;

subplot(2,1,1);

stem(n,y);

xlabel('Time index n'); ylabel('Amplitude');

title('Output Obtained by Convolution'); grid;

(2)x1 = [x zeros(1,8)];

y1 = filter(h,1,x1);

subplot(2,1,2);

stem(n,y1);

xlabel('Time index n'); ylabel('Amplitude');

title('Output Generated by Filtering'); grid;

程序二:filter和conv的不同

x=[1,2,3,4,5];

h=[1,1,1];

y1=conv(h,x)

y2=filter(h,1,x)

y3=filter(x,1,h)

结果:y1 = 1 3 6 9 12 9 5

y2 = 1 3 6 9 12

‍ y3 = 1 3 6

可见:filter函数y(n)是从n=1开始,认为所有n<1都为0;而conv是从卷积公式计算,包括n<1部分。

因此filter 和conv 的结果长短不同

yrec=[zeros(1,45000),ones(1,10001),zeros(1,45000)];

>> t=linspace(-4,4,length(yrec));

>> plot(t,yrec),8,

真的是爱你 举报

你好,里面的X3(t)函数图像怎么画啊?

举报 曲中

如果题目说的那个函数,对应于-4到4的数据是yrec 那么我这三句就画出了它的图像 不知道那个pi函数是什么函数

真的是爱你 举报

yrec我也会画,但那个不知道什么符号的电脑不会打出来当它pi吧!反正 X(t)=pi(t)=yrec=[zeros(1,45000),ones(1,10001),zeros(1,45000)]; 然后它要画出 X3(t)=pi(t-1) ; 的图像 麻烦了谢谢,刚刚学不会画啊!! 那我原来画的yret就是-4<=t<4时候pi(t)图像 现在画pi(t-1)只是原来的图像向右移动一个单位 yrec=[zeros(1,45000),ones(1,10001),zeros(1,45000)]; >> t=linspace(-4,4,length(yrec))+1; >> plot(t,yrec) 这样就可以了,MATLAB 菜鸟怎么用matlab画出这个函数的波形图像啊

yrec=[zeros(1,45000),ones(1,10001),zeros(1,45000)];

矩形波:

sys=tf([3,10],[1,10,40,100])

[u,t] = gensig('square',4,10);

lsim(sys,'k',u,t)

hold on;plot(t,u,'-')

三角波:

T = 10(1/50);

Fs = 1000;

dt = 1/Fs;

t = 0:dt:T-dt;

x = sawtooth(2pi50t);

plot(t,x)

扩展资料:

注意事项

产生一个三角形的单脉冲信号。有三个参数,三种调用形式:

1、y=tripuls(T)    T是一个数组,表示信号时间。  

2、y=tripuls(T, w)    w是三角波的宽度。  

3、y=tripuls(T, w, s)    s是三角波是斜率(-1<s<1)。  

y=tripuls(t)产生非周期的三角波信号,三角波宽度为时间轴的一半。

y=tripuls(t,w,s)制定三角波的宽度为w,斜率为s(-1<s<1)。s说是斜率,其实代表了最大值在w区间内出现的最大值,比如s=0,则最大值出现在对称点上,s=05,最大值出现在右半区间的中点处,s=1,则出现在右半区间的右边界点处,也即最大值为出现在距离对称点w/2s处。

以上就是关于怎么用matlab画出冲激函数与斜坡函数的卷积波形全部的内容,包括:怎么用matlab画出冲激函数与斜坡函数的卷积波形、MATLAB 菜鸟怎么用matlab画出这个函数的波形图像啊、用matlab怎么才能产生矩形波和三角波等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9529031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存