【 MATLAB 】数字信号处理中的几个常用序列产生的MATLAB代码
【摘要】 【 MATLAB 】常用的离散时间序列的 Matlab 产生
上篇这篇博文介绍了例如单位样值序列、单位阶跃序列产生的脚本以及函数,这篇博文利用到的函数,将直接贴过来:
单位样值序列:
function [x,n]=delta(n0,n1,n2);% generate x(n) = delta(n - n0); n1 <= n <= n2%________...
【 MATLAB 】常用的离散时间序列的 Matlab 产生
上篇这篇博文介绍了例如单位样值序列、单位阶跃序列产生的脚本以及函数,这篇博文利用到的函数,将直接贴过来:
单位样值序列:
-
function [x,n]=delta(n0,n1,n2);
-
% generate x(n) = delta(n - n0); n1 <= n <= n2
-
%_____________________________________________
-
%[x,n] = delta(n0, n1, n2);
-
%
-
n = [n1:n2];
-
x = [(n-n0) == 0];
-
单位阶跃序列:
-
function [x,n]=stepseq(n0,n1,n2);
-
% generate x(n) = u(n - n0); n1 <= n <= n2
-
%_____________________________________________
-
%[x,n] = stepseq(n0, n1, n2);
-
%
-
n = [n1:n2];
-
x = [(n-n0) >= 0];
这篇博文给出几个序列,请使用脚本实现:
例1:
-
clc
-
clear
-
close all
-
-
n = [-5:5];
-
x = 2*delta(-2,-5,5)-delta(4,-5,5);
-
stem(n,x);
-
xlabel('n');ylabel('x(n)');
-
ylim([-2,3]);
运行即可得到结果:
例2:
-
clc
-
clear
-
close all
-
-
n = [0:20];
-
x1 = n.*(stepseq(0,0,20) - stepseq(10,0,20));
-
x2 = 10*exp(-0.3*(n-10)).*(stepseq(10,0,20) - stepseq(20,0,20));
-
x = x1+x2;
-
stem(n,x);
-
xlabel('n');ylabel('x(n)');
-
ylim([-1,10]);
例3:
其中,w(n)是均值为0,方差为1的高斯随机序列。
-
clc
-
clear
-
close all
-
-
n = [0:50];
-
x = cos(0.04 * pi * n) + 0.2*randn(size(n));
-
stem(n,x);
-
xlabel('n');ylabel('x(n)');
例4:
-
clc
-
clear
-
close all
-
-
n = [-10:9];
-
x = [5,4,3,2,1];
-
xtilde = x' * ones(1,4);
-
xtilde = xtilde(:)';
-
stem(n,xtilde);
-
xlabel('n');ylabel('xtilde(n)');
听到这首歌,我遇到的姑娘也是一个南方姑娘。
文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。
原文链接:reborn.blog.csdn.net/article/details/83246159
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)