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

序列相关与序列卷积之间的关系

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于序列卷积,之前写了3篇:
8 A  s! L& E3 @% P/ K. m1 m. o0 D: p" p' ?1 _/ y
MATLAB之conv 函数介绍(卷积和多项式乘法)! m; M; z9 s& `; T( Y( {

1 a1 u# ?( w% J: q& Q9 O, A! D/ C) t这篇介绍的是MATLAB本身自带的函数,但这个函数conv有个不如意的地方,就是求过卷积之后我们不知道各个卷积值的位置。- Q( t7 r  _) U2 X

) i7 }  k$ m; p5 K6 ?然后我们后面扩展了下这个函数,命名为conv_m,这个函数在这个的最后给出。7 m, F( M- u* U

3 m+ e: y( m2 s两个序列的卷积和运算的MATLAB实现(2)% t4 S0 U, o, Y6 _2 O- x
0 H" T9 A7 {8 n) m
还有一篇:) V: n4 F. U; K% W5 S7 X" `

4 U. ]- K+ Y6 G1 v+ X$ c0 p两个序列的卷积和运算的MATLAB实现(1); Z; {3 c# D* F. n4 G: k  p% |

. b. y# _3 N% |这篇只是给出了一个实例,程序里面隐藏了求卷积值位置的脚本程序。
9 e9 K- v5 S3 u7 Z2 z0 b7 F
4 ]) f( Z% [/ f4 x; I序列卷积和公式:
' ^2 b! i% s6 k& ?- a1 q# {$ [& ]# c9 g& B: t: F
3 k0 A0 ]% ]& N

& W& p% T5 \6 C9 |而序列的互相关公式为:
+ a0 V" `, L$ L& N4 A
  }0 {, d6 S$ A $ W0 C3 V" w! ~# z& J2 R" f  V
; x9 G; N8 f6 U3 b+ s$ X
如果x等于y,那么就得到自相关函数的公式:( `+ Q3 |# B* v
5 S$ k' f4 T* B8 G+ C
* w4 q! j1 P$ \! C; J

& A6 C. M( y$ N  U) n$ ^. e比较卷积和公式和互相关函数的公式,我们可以发现二者之间的关系:
6 M/ n" q, Q8 v7 ^8 W* l% E
" b4 p: S& k- c% z4 c2 ?
# Z0 k" D4 L0 G" w6 x6 ~& h, U7 h: L# z' |+ g) W- ^
有了这个关系,我们就可以使用卷积的函数来求两个序列的互相关了。" C& T: F2 Y  i# @- G5 j1 y) M

  @, P0 m  N7 Z$ S首先给出扩展后的卷积函数conv_m的脚本:/ V2 Y/ s' ?; Y3 b/ [6 b2 [$ m
/ H0 W& J# ]* f! s/ }* C4 i- j1 \, M
function [y,ny] = conv_m(x,nx,h,nh)
5 D1 T! F/ u7 L0 M9 k% Modified convolution routine for signal processing, U3 q, R7 u& P, U
%___________________________________________________/ v6 D3 q9 y! t# O7 j* s1 i
% [y,ny] = conv_m(x,nx,h,nh)/ e2 w( V- u: u
% [y,ny] = convolution result0 H7 b$ B4 ~" O$ c* `) Y: I3 e) d
% [x,nx] = first signal
0 L9 i$ a3 G% |- V  D8 X! [% [h,nh] = second signal
, I. P7 }8 o; L5 i5 j& |6 k1 m% v%- `5 n2 V, ]8 i6 |
nyb = nx(1) + nh(1);. Y% A4 t. ~1 B; h" n1 a
nye = nx(length(x)) + nh(length(h));
3 T; X$ t) Y/ {7 w% U% W  u. Hny = nyb:nye;* X1 t( @0 B$ d; F! A9 `
y = conv(x,h);) Q1 ~  B4 g& b

8 A; }2 Q1 Y9 g& R; b
! d9 L4 t) S7 Y两个信号相加的函数sigadd:3 L( b) c- ~# E) |# w0 N
- v! S* r' ~4 v" b4 K' F
function [y,n] = sigadd(x1,n1,x2,n2)
& c" o7 Z2 v4 c: u: q% implements y(n) = x1(n) + x2(n)
: A- Y# n  d1 D1 d% p% X5 e) ]" n% [y,n] = sigadd(x1,n1,x2,n2)
5 [8 Z0 G* x4 \- y% G# B%____________________________________% E4 z) |7 X, K  G7 O
% y = sum sequence over n, which includes n1 and n2! k: ?4 e, h+ v8 P
% x1 = first sequence over n1" m% C1 q+ J9 \( C0 s. A
% x2 = second sequence over n2( n2 can be different from n1)  @9 o4 @; `* n$ g! }# t* e
%
* d" |* a4 ^( H; G/ Fn = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n)7 H2 S8 F( r1 M5 m  C! w  O! E0 O
y1 = zeros(1,length(n)); y2 = y1; %initialization. m  m% |' e  M6 V
y1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1
- R$ n# h3 q$ r) ny2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x2; %x2 with duration of y2
1 V4 \! w8 E) [' ]  H6 n9 Dy = y1 + y2;  p) W# ]* h3 s

9 Y1 c6 F9 r, n. S' q3 ]
: O" T  S7 X* u  v! t# B7 \信号移位函数:/ o9 I( ^- M( m& u) ~) M

) l% a3 x. k- jfunction [y,n] = sigshift(x,m,k)8 r- ?3 B; ~, `% J, Z
%implements y(n) = x(n - k)
3 r1 y3 Z2 W; f  L6 O%_________________________
6 ?2 P4 {, J+ J) F%[y,n] = sigshift(x,m,k)
, O4 }: ^. S) p" D%  R! T0 L. }$ @' n, R7 V
n = m+k;! q5 i2 m6 E' r% f: y% ^3 G- @: ^( n
y = x;
& Y% b- e% L4 a1 Z5 O7 ^. s: V/ ?8 Z
2 r1 Z9 _" ]. D
预备工作做好了,下面给出一个例子:2 M3 |: X' W0 D' t
7 |) X5 ~3 X# U& h# y; {4 A4 x
设:
& _2 P7 i5 n( T, W
  H9 o/ w: t- } # O3 X7 s2 Z% f2 t" ?7 W" m

  P0 [! t; e3 X8 I; ?. j" w  P是原序列,设 y(n) 是原 x(n) 受到噪声污染并移位了的序列( _, m; N3 {& x% `8 |5 S+ Q
" V8 z: V& p+ ~4 y7 ?; i8 i
y(n) = x(n-2) + w(n)
0 G- A& C6 V4 l$ g8 `! g* |) P, X, @& ]4 F( e
这里 w(n) 是均值为0,方差为1的高斯随机序列。计算y(n)和x(n)之间的互相关。
9 v8 ^- O  V2 I" P; k
; x4 D/ a+ a' m/ r题解:; Y* O" v/ h" p; f; O
5 O3 d# h# P2 S" |; D  w% n: H7 x
clc+ B, ~0 X1 Y: v8 N( z# @$ f
clear+ d" V# Y- ^. f6 H  D: i- x
close all
9 c: z# y0 f4 ^4 ~9 q- D9 I! n! v# H! {. b, X- s
% noise sequence 1
+ y- Q  p% s6 @) _nx = -3:3;
; x! l$ [. E) j9 ux = [3,11,7,0,-1,4,2];
/ y8 K- V4 s1 U* Q% Q% f%
! X9 e  U" z/ m/ t$ m  [  n+ ?%  implements y(n) = x(n - k)
/ E) l- b% o* [; P$ Q%  _________________________
. h2 d+ Q8 t9 I8 L% \) ]" s%  [y,n] = sigshift(x,m,k)
: R% {3 D( W5 L' V) m0 z[y1,n1]= sigshift(x,nx,2);
. O- G- O  x6 l
: F7 f' ^! V6 [9 Z+ W& [w = randn(1,length(y1));( S$ v% U; c9 Z5 Y
nw = n1;6 V* Z+ d$ H  C- I! ?5 q, C

' m- u) q' Q- S. N[y,ny] = sigadd(y1,n1,w,nw);7 _6 s& I0 J+ i% r

- K7 F" Z3 {2 C* V7 d% A: n9 T/ N[x,nx]=sigfold(x,nx);
% B, o: \1 S" c+ _% n' F0 u
1 a4 o" G6 @& T/ u4 m[rxy,nrxy]=conv_m(x,nx,y,ny);
/ ]' a( o/ \# N- f/ r7 F
) L  C# F8 g4 {% qsubplot(2,1,1);! x# }  i" F9 q" Y# S+ m
stem(nrxy,rxy);
; D6 r0 n6 P& R1 {0 p& L  @title('noise sequence 1');
/ w- P8 u/ p+ l4 F5 A$ j, v. ?4 ?, G# q$ K) o; t5 A

6 {- P  r8 T2 \7 m% noise sequence 2' z/ m9 i* x8 A
nx = -3:3;* v2 M' d1 W2 w( ]  `
x = [3,11,7,0,-1,4,2];7 U, ^  Y, e1 w2 u- q
% 2 i2 l6 W4 R% m9 V
%  implements y(n) = x(n - k)" i% e3 j( \- C# ]; R
%  _________________________% r) G) t0 A& c; g
%  [y,n] = sigshift(x,m,k)- X* Q7 t$ G. r0 x$ a
[y1,n1]= sigshift(x,nx,2);
) b( D" ~# @# X9 O1 j: F1 q7 ^! m+ z6 A7 c9 D
w = randn(1,length(y1));+ \8 F  g4 ]- O3 o$ s
nw = n1;% m1 e# y" ^. W  h

/ I9 E( t1 T- k4 o9 D7 l0 d, O[y,ny] = sigadd(y1,n1,w,nw);
- e+ \: A" q% [1 ]* h0 P3 c; C' L8 Z* \3 U- v1 E- e9 `# H5 f0 g
[x,nx]=sigfold(x,nx);
9 E6 L# N4 v1 y! P4 W, x: C' d; W3 S2 O4 B0 |* t
[rxy,nrxy]=conv_m(x,nx,y,ny);7 v( }9 I1 ]" K0 t) N
, _% v0 U, f* k+ a, j
subplot(2,1,2);
: e1 y7 l8 v% D6 n: Z0 Dstem(nrxy,rxy);& @9 M! t) ?* i2 L6 F6 n' ?, R7 q5 M' K
title('noise sequence 2');& [, r$ ^8 ^! ~: P- c1 H

9 t4 E! @# @) y5 J4 P  l
/ I  v7 D" H! O% l# a) y  w, T/ D' Y# f" l/ |
6 C# o& {% T* p! H5 J
噪声是随机的,所以把互相关的计算执行了两次,可见,两幅图的细节有一点点不同,但互相关的峰值都在l = 2上。3 n/ X( m4 K8 K; x+ q
7 o- W1 P0 U& B2 A6 y9 D7 t4 `/ R% k7 V
0 B) I. B9 G1 O+ j0 U, j" ^7 m5 K
: B0 B6 Z# [! H7 \8 Y& i4 I
% [3 l6 F- B# d/ ~, }6 l1 q; @% F
! U0 B5 _" T9 N% q* X9 U; b
  • TA的每日心情

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

    [LV.1]初来乍到

    2#
    发表于 2020-6-24 15:48 | 只看该作者
    序列相关与序列卷积之间的关系
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-24 09:42 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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