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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设矩形脉冲 是脉冲响应 的LTI系统的输入,求输出 y(n).
/ p  x$ P8 F8 F0 H; b
5 z/ }" R! k# E( l下面的脚本中用到了一个自定义的函数,也就是两个信号相加的函数:  G: S- Q4 a, O6 j+ u

6 g* S% S. b/ Y! ?function [y,n] = sigadd(x1,n1,x2,n2)
/ l" x0 v8 {2 A5 A0 k" g% implements y(n) = x1(n) + x2(n)
* R) n$ Y0 ~- g# ~! F% [y,n] = sigadd(x1,n1,x2,n2)
  D- [' q) a! {) M+ o%——————————————————————————————2 n1 t0 W/ Z" Y
% y = sum sequence over n, which includes n1 and n2
! F3 {7 `9 R! r5 O% x1 = first sequence over n1; J' |# K+ J5 T8 s
% x2 = second sequence over n2( n2 can be different from n1)
) ^' X7 X, H0 m%: ?5 s- J' v& Q! `
n = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n). U9 u# u! k% k- D- A7 s
y1 = zeros(1,length(n)); y2 = y1; %initialization
7 t! i: S% W  r5 ty1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1
) b( ]" |+ g* `- m# k& s+ sy2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x1; %x2 with duration of y2
- ?4 T, {1 M8 ly = y1 + y2;2 W$ i7 F9 A6 G7 ]& e6 [

+ f) ?" x0 u2 n( K0 t2 q& n" @+ D  j/ i& q* h$ o: F3 W: t: H; v; S
直接给出MATLAB脚本:, i" ?# Z/ N3 l- Y& D
" V/ d! D* E: n
clc
" M1 @# M3 B) O5 x( }0 T2 ^" Wclear
* d1 n9 h: B- P) R; Bclose all' E* X. n" I- e* _- w5 n: e9 U
6 ?+ k* l7 ^4 D- {9 o
% help stepseq
8 r3 Y4 u7 a4 m6 y/ D%   generate x(n) = u(n - n0); n1 <= n <= n2
2 @- g' ^$ @- O. X$ n, z2 r1 y%  _____________________________________________( g  q; T8 ^" b
%  [x,n] = stepseq(n0, n1, n2);
+ u% f; ]' h  i$ k% n' r2 i, W[u1,n1] = stepseq(0,-5,45);" G& u' M8 ^( c
[u2,n2] = stepseq(10,-5,45);1 R* [/ U, ~2 k3 `% B

4 \3 q5 u1 q4 B) n% generate signal x(n); f% r/ R' T5 |0 \
[x,n] = sigadd(u1,n1,-u2,n2);0 v+ n8 e3 s( U  j6 a$ x: l- X* t

5 z# c# l/ t7 u" s  c' K  D. l" m% generate signal h(n)
  u7 q! \0 z* ^6 q3 zm = -5:45;( t& C7 K$ c9 L4 W! w* N
h = ( (0.9).^m ).* u1;
- U8 [! g5 a$ j2 m! [
: q" W* \, ]6 o4 q) p: F" I) `
" c2 `; |+ [+ d$ R6 E6 W% the convolution of x(h) and h(n)
# u( j- N/ E0 py = conv(x,h);' }/ V7 E" }3 E! R+ Q: `% E9 `
% ensure the index
. w: \# J2 Y) l' j7 b1 vnyb = n(1)+ m(1);
2 K& P5 O  v3 x( b. i( c5 N) l0 fnye = n(length(x)) +n(length(h));2 u: R$ s" ?+ t$ o/ P
ny = nyb:nye;- y) r( s4 x9 X9 R; P) _

# N8 v$ d$ R, [) R( _* Y4 R$ h: o# k* B( r
subplot(3,1,1);) C! F' O0 K5 }
stem(n,x);
; B" y5 F0 f" }, n: c8 b5 @title('x(n)');
7 K! d; @) A6 a) txlabel('n')
" J6 X& q  F8 f+ ^5 a+ K2 m4 x, ^
subplot(3,1,2);/ D, D) r% V  o2 \" Y8 Q) C+ \
stem(m,h);. Q  B7 H- y2 R6 O  a
title('h(n)');
* y* s! v. H0 {% T! G3 h' q) n5 t6 Oxlabel('n')
+ h1 Y7 ^' Y* f) Q2 O* g$ B$ m1 K6 b( f' W2 @# F+ {$ F; c& v
subplot(3,1,3);
, g: i# |7 ^9 y. E8 Qstem(ny,y);
- p' K- K( _: V- P9 `4 w) Dtitle('the conv of x(n) and h(n)');
, u, ]  ?' l& b+ p* h; c. \7 Qxlabel('n')
6 |- F+ O1 V9 x% l, u$ Axlim([-5,45]);% C& f. n: q4 `+ f/ _1 M6 K9 K
# W$ C0 A5 X% F( ]

# F: c" [7 S8 S) {) ]1 m! } $ C! d  X+ ]$ k+ K$ B, N

0 {; O. c8 q3 M" }9 R# T# r# W! j; n7 J5 X4 U; j! R2 n

5 M7 a" T/ z5 _/ h4 p3 X! j( r  w8 y
! e; q3 r( K  d, K/ Q! e6 W; O& w3 I1 `+ P# Y6 D/ m
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-6-1 15:08 | 只看该作者
    subplot这个函数经常使用9 a5 f+ J: c% v' B6 H
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 10:46 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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