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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 mytomorrow 于 2020-1-13 10:21 编辑
) V) ]$ Y8 W% N# E# Z3 h2 b9 p4 ^: [0 R" C8 P
常用离散时间序列的Matlab产生:https://www.eda365.com/thread-271002-1-1.html
  A' ]4 I$ u) F: C
4 l/ a  K1 r1 Y6 _" A  y3 D上篇文章介绍了例如单位样值序列、单位阶跃序列产生的脚本以及函数,这篇博文利用到的函数,将直接贴过来:
! t5 s/ V& d( _. L' G( N: Y' S+ ?! s* N
单位样值序列:
, f) r2 _1 U4 H: A' _0 @4 s3 I
* S) M$ u) V& ]" T! g + h& @: d# ]; o+ h4 F7 U

# [4 u5 k6 n6 q+ Z; [' _+ T
  • 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];

  • 3 _. [8 R- L0 r1 Y. P; T
5 }# T0 B% n- _8 w& S4 U
单位阶跃序列:
) Y& J% J3 R. ?5 n' i  G/ B
: W4 I  n/ l& Z# N3 R2 G& W) a* U+ M / j+ h' N$ e6 {4 [6 Z
8 a$ {; i  j% y9 f4 Y
  • 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];
    ! B% r5 r- X1 }

$ g+ d  q, c# l5 Y5 [这篇文章给出几个序列,请使用脚本实现:
6 W% K" i: ^9 C7 i8 ^6 [; |6 p4 c/ g1 U% S# w0 J/ Q
例1:( d* e; e/ N# W) c2 b. m

# [0 v" Z7 W& d: R
8 S, _  ~$ F8 ?8 U2 c/ I+ x& q5 Z* x+ l
  • 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]);
    : u( |8 U; q1 h$ u+ ^' Z
- s6 C+ z. i3 T# N7 n8 ?
6 s5 x9 z' h6 S2 ]9 o
运行即可得到结果:
5 i, J/ z& x" g& ?0 ]2 }
6 n9 Y- B: f4 Z; Y " z. V# {  E4 j8 ^4 o/ |1 s* S, W
/ L* q% D' N) X, _0 `& V. F# Q
例2:8 v; T: e( \0 H  I; p) {
/ X8 X! _, H, p
* j- ]0 D! s, N: Z0 D

+ M5 P' {1 E/ L1 y2 B1 ?
  • 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( K5 E  s" A  \  z" @- @" _- L
; j% s, \0 b2 I+ C

# U6 ?& R( {4 S  g" e3 {: o! @. i( U4 E/ @4 V" i$ |
; Z1 m, J# v: a4 g4 R
例3:$ ?6 N5 |! {3 [

, l" B: b; x2 J+ e/ s% o; V, _ ( a6 E7 d5 n3 s. m

; {* Z+ `1 _& w  c  G$ U其中,w(n)是均值为0,方差为1的高斯随机序列。
+ y, S4 a) Q2 A6 _) C8 H: s2 q  n+ }# n, w4 O
  • 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)');
    & E& w- h. G4 r& s# \$ e2 t

) W- c% E- s8 j
2 L7 ~9 X* ?9 |4 C& f6 h& a1 l3 ?9 E" X3 [( Y& V% ?! M& \% f0 p

, B8 P' V/ _, Q1 K# M4 r例4:
7 M* D  m0 T0 ~' [% E+ {; v8 ^- D9 Z1 B+ V+ f7 p  u' X  v" H
" Z9 y2 j5 |$ I1 i5 [( Z& ^* d

2 R0 c% n$ _1 P6 ]' n$ \( H& i
  • 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)');% `& r+ x: m+ R; p7 ~

0 r. n! ~$ b% T# e4 P& @; ?7 u) { / p. U5 I, }. W: \8 r

/ O" j# s" M. U+ z# R
2 E" O) n1 f4 b
  • 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 20:47 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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