找回密码
 注册
关于网站域名变更的通知
查看: 541|回复: 1
打印 上一主题 下一主题

数字信号处理中的几个常用序列的MATLAB代码产生

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-13 10:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 mytomorrow 于 2020-1-13 10:21 编辑 # u0 E% X5 E& C9 T$ u8 b+ y
( p2 W7 ]+ T; s! K0 \# G+ c
常用离散时间序列的Matlab产生:https://www.eda365.com/thread-271002-1-1.html6 a8 E7 y+ w4 C

5 B: f9 L* O5 U7 Y4 P# g' A! @2 V上篇文章介绍了例如单位样值序列、单位阶跃序列产生的脚本以及函数,这篇博文利用到的函数,将直接贴过来:& o3 Z. c& u) q2 G$ Z" t
/ F" [# n$ L3 p/ P" q7 f
单位样值序列:
% G. @% u  ^& b
5 r; v4 j6 }! t+ @. k; { # _' N& q& z  ^  d5 u
5 E1 }( H$ h4 X7 K/ I9 B+ V
  • 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];
  •   w1 i! w4 w* J& Q% G& }

6 W* _- v* C5 o3 {( i# D) b单位阶跃序列:, d0 L* ]. s) x, t
: h) v( F7 g1 `  c% E) b% {
1 r8 I6 K7 l$ e& [2 @- i- u1 Y2 y

" b. X1 H9 P$ V
  • 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];
    $ p2 }7 X" Q# O# y% O
$ v0 h$ |1 T7 X& I* q
这篇文章给出几个序列,请使用脚本实现:
& h- W; c9 V5 |: J! t4 J# \
5 W) y" l% [4 T% }9 b+ |例1:
5 q6 B- I. {! d+ H7 G* `! r, B7 ^
7 y: z3 F: L% v ' U  s, B  d) n) C  S
) S2 [* O1 s- d4 R' h
  • 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]);; p+ X& w1 `; v/ B) j' @# Y
* n; k1 Y( Z+ \: Z- C; k) i" r

: F$ G! E# m* |运行即可得到结果:
+ ^1 t, z4 G7 G3 @# x2 V
) H) B8 f4 a& y3 ~- x/ h & G; C8 z8 R4 i$ m

) g' N+ G# j& r% ~/ E. l例2:$ _# l4 S* ]; ~( V7 X

& A6 m1 g8 M1 V" |. ^9 u. x9 l7 R
7 _" X: j0 `4 @7 l+ e+ z- ~1 l# u: Q- V0 r& s6 x" k
  • 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]);% x, ^! ?' E# Q' P5 M3 ]
) E0 z( G' f/ D- i  A/ M; V

  O4 @& C2 t7 |6 G
. L  c6 _. ~7 O( y! v
% I; }% b* f1 h' z$ R1 B例3:9 ~+ |% Z6 G: h) w  r" R- R

4 R) Z" i# k- ?+ V9 B! r9 w
4 U' k4 P' D/ W, j" Z* \
0 P) L  h( U8 m, F; v其中,w(n)是均值为0,方差为1的高斯随机序列。; c  Y6 D' x) [: J. M

6 m2 ^" `% j5 \4 i. |+ ~
  • 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)');
    % ~+ y3 ~) k& A: A! K2 S6 U

5 V9 K! p; P+ Q$ J3 I! D) t" K
% _' `3 O( v# O7 K% a- B" b( `# C2 t4 h3 j& N) r& u

3 A0 Y; w/ o1 Q$ r' x- x4 e; M例4:0 v4 f1 M! C5 W
4 P) ]( Y! |$ m" l; C5 D7 E

3 t- C9 r* W- B2 Z$ @) n9 @+ W. u: |9 P
  • 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)');
    " d3 t, `9 s& R/ y# n; r# U* s

1 a8 r7 C2 i) r' \  y / c6 q+ M+ _+ f  v" [

- D2 j# h6 J6 c. U; m& \, T7 I* A/ H! {$ S' Y
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-1-14 19:55 | 只看该作者
    数字信号处理中的几个常用序列的MATLAB代码产生
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 22:11 , Processed in 0.156250 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表