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

两个序列的卷积和运算的MATLAB实现(1)

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设矩形脉冲 是脉冲响应 的LTI系统的输入,求输出 y(n).
3 h; j5 r+ g7 z7 |* q; j0 R( v, P) n$ C; D2 o# I7 d6 Y; H
下面的脚本中用到了一个自定义的函数,也就是两个信号相加的函数:
# }# x4 r5 F# A! W9 `; H; f& d9 n4 ^, J" I
function [y,n] = sigadd(x1,n1,x2,n2)
4 j- M' L: K2 I# u8 O% implements y(n) = x1(n) + x2(n)% g- M/ C2 V$ `, `4 t; h1 R2 M% I2 k* r
% [y,n] = sigadd(x1,n1,x2,n2)
! ?' l! [6 U- Q2 w  L$ X" O+ k6 K%——————————————————————————————
! S8 q' A0 H, y& r% E  A9 ]% y = sum sequence over n, which includes n1 and n2
  v! E. ]. V4 q2 ~# Y% x1 = first sequence over n1" I: T/ d# {5 ]+ y
% x2 = second sequence over n2( n2 can be different from n1)% o4 Z0 _& E, w$ T! a" p4 ]
%
* B1 V( `1 j( sn = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n)
; i% Z  X) A& }, q4 Ey1 = zeros(1,length(n)); y2 = y1; %initialization% a% I- \3 V1 j+ @2 h
y1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1
, H6 H/ e" F& y6 N, ny2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x1; %x2 with duration of y2: o+ B, f% A. @: [* R: S8 R% t
y = y1 + y2;
8 k( X! k/ X! k( t! `, N
0 ]. p7 E3 U8 h& p2 e0 y7 q! ]2 k+ ]
直接给出MATLAB脚本:  g9 Z! K$ T. d8 `! ~

, `2 p* G  p) G6 q) k  y0 j. Tclc8 \" r% y: o! R7 {; j, L
clear
! @' n. X' r: Xclose all
( P; t4 _2 u& A- o9 b1 U' D
7 S7 k6 s3 S+ @  y% help stepseq
4 g6 n( e" x* y! h7 c%   generate x(n) = u(n - n0); n1 <= n <= n25 M! y% b) z) }& U: x1 u
%  _____________________________________________( [8 s& l4 y. u5 e+ _) D
%  [x,n] = stepseq(n0, n1, n2);2 k4 n/ l, g% u- V, L' |. w; N. ^
[u1,n1] = stepseq(0,-5,45);1 |) `; c+ A" l. ^
[u2,n2] = stepseq(10,-5,45);2 t# s5 a" l7 W; _9 [9 j' r

  M$ q9 a0 N$ P. u" H& C% generate signal x(n)6 y. \  N* O8 ?' |
[x,n] = sigadd(u1,n1,-u2,n2);
- R$ Q- F8 w" _- L, c$ {1 W) q) y' q
% generate signal h(n)
( \& d6 N6 j. o' a, _m = -5:45;
8 C' h. \% H! l5 C7 r  Y  ih = ( (0.9).^m ).* u1;
- r6 ~8 ]  b6 v  s4 F7 L- b" |
7 q" p( n+ b' y2 b! E! c3 F
8 ]: P2 b$ Z6 _: X% the convolution of x(h) and h(n)
8 L) k6 U" b. Ay = conv(x,h);
4 v. d2 u2 i+ V% ensure the index6 m  \% _9 R9 s: l! E
nyb = n(1)+ m(1);
) _" O9 Q* ^% s! x: vnye = n(length(x)) +n(length(h));
7 ^! \8 l0 Z7 Q. a0 D/ ^ny = nyb:nye;
: a. ^+ v0 g6 @# ?$ M6 j% C0 ]% q0 ^
0 K  ?: S% n1 e' R. [9 e
subplot(3,1,1);
0 z- P3 q+ U! I7 y! bstem(n,x);
  j; k# H  W0 P  Rtitle('x(n)');; k* U# C9 b( J4 [* n( Z
xlabel('n'); p6 D  `* l% V. U1 Z

8 x, ]7 _6 J5 d1 f1 Qsubplot(3,1,2);
7 B8 p( j! a' @2 Q( ystem(m,h);
7 u" k2 O7 X  k! ~% q" M4 Mtitle('h(n)');
3 _& v) K: x1 j, Lxlabel('n')5 k9 k5 a) D- Z/ U' d( y9 ~
9 B; a" e5 p! F
subplot(3,1,3);4 |3 ?3 f- X0 A# T: A
stem(ny,y);
; ?% r8 h- D0 u  @' A9 @title('the conv of x(n) and h(n)');+ [6 J$ M2 ]3 O+ R/ S+ b: g3 ^5 _- A1 W
xlabel('n')8 a3 u2 M1 ?8 M- A/ g( B2 f1 w$ h7 V
xlim([-5,45]);
8 Q4 l( s. t, M$ H3 c7 a! E  k; R, `7 d7 d3 G

) x" p" h2 L4 t- g
+ Q  }8 @9 Q  \& ~1 C$ {8 V
. K5 E6 o2 L4 g2 ]" o
' Q1 o  z% Y, z: S5 D9 N* i& X  K; l. P0 I; Z- ]) b

9 Y, k' q) m) w4 ^. D: L6 ~5 r* D* @& [0 l" \/ A) K5 {  ]' `
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-6-1 15:08 | 只看该作者
    subplot这个函数经常使用7 N" Y4 A6 C1 ^" |
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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