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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于序列卷积,之前写了3篇:
" Q" \: i# }' V4 G4 S4 D& d; k/ W2 h/ S7 Q
MATLAB之conv 函数介绍(卷积和多项式乘法)6 i7 i5 H2 Y9 O* b# h8 o" a+ c7 y

9 _4 b# N6 V) g$ u  s1 S8 O这篇介绍的是MATLAB本身自带的函数,但这个函数conv有个不如意的地方,就是求过卷积之后我们不知道各个卷积值的位置。
2 U4 s+ J# Z7 Q: I/ d: I4 }
; n1 D; g' L8 W, F6 Y' i3 p- i" V" g8 p然后我们后面扩展了下这个函数,命名为conv_m,这个函数在这个的最后给出。
/ a+ I  A$ R/ b$ F" t$ T6 J) I- f! F2 v5 M
两个序列的卷积和运算的MATLAB实现(2)8 q' i5 L" N& `: X. _1 W
. |' b- c8 I4 n
还有一篇:
3 X' B2 e& J) G( Z* b
: I: ~1 G, e8 n- Q: }两个序列的卷积和运算的MATLAB实现(1)
: d& ]$ N8 a6 M+ u! C* ?9 }
4 k. c5 P  m. p+ W/ z- `! i这篇只是给出了一个实例,程序里面隐藏了求卷积值位置的脚本程序。
* z" X7 X6 D& ~+ l0 M* @7 ?8 \: e7 E- J. [/ h0 W8 ^: b
序列卷积和公式:" q2 W: A6 v: ]  B8 c
" b) C8 |/ M+ P

8 R2 d+ X5 o& ?4 v" u2 q9 K* u3 ]$ `# H: f# J
而序列的互相关公式为:
" S; J. @1 F% H2 Q0 @
: l; M6 I& V2 o, U* O9 [' S2 L' s% r- z 4 U1 p6 Q9 \' `# G" T

5 j& i7 i$ |5 Q0 ~. {如果x等于y,那么就得到自相关函数的公式:
) V+ a6 G8 [9 n- z/ p5 }; ?8 [
$ D+ p5 D6 O( V# @+ `' B1 g6 z
1 G- L& e6 @/ X" n- w6 C7 y
2 I( w) ~, g: D- N比较卷积和公式和互相关函数的公式,我们可以发现二者之间的关系:
; v5 X- s$ F* V3 E6 x/ Z" ?
+ v3 P0 @/ C. u- W/ T% J, z* G
! _4 g. j! K  E9 a7 v: i* u) X# N9 ^: s/ b1 K' _
有了这个关系,我们就可以使用卷积的函数来求两个序列的互相关了。2 Z1 K  Y2 B+ L" M4 Z( f
2 Y* a9 ]8 K% _  ]' i
首先给出扩展后的卷积函数conv_m的脚本:
( t% d6 L* J" }! B5 n
- Q( E. l/ e  ]) I2 ufunction [y,ny] = conv_m(x,nx,h,nh)
0 _; U; d6 U+ `3 F# u+ J% Modified convolution routine for signal processing
2 @# }% s1 ^$ Z7 K%___________________________________________________
) `2 }& x2 Q- Q$ P% [y,ny] = conv_m(x,nx,h,nh)
( k" x6 h5 g& T( {& v; x; |) k$ K4 E2 G% [y,ny] = convolution result- h. W; h8 e( C4 J
% [x,nx] = first signal
0 D8 T" x  w! ^9 R  C% [h,nh] = second signal
7 {; w9 I4 J% W$ U, ]; o* Y1 L( Y4 ~%
- _/ [8 M2 C! u, enyb = nx(1) + nh(1);
( r" t, ]! A  j7 w! Snye = nx(length(x)) + nh(length(h));
; w& g" j1 K6 J' ^ny = nyb:nye;, E8 j3 g: J5 ]0 S% D1 ]3 m* Z
y = conv(x,h);
6 B/ X1 O* w- w2 \+ `
5 v; ?! @& ?! `" ~6 B, o, P2 l2 P5 n8 ?( d  p3 k+ A5 N: {- C$ c
两个信号相加的函数sigadd:
' z+ q; t; _3 M# L0 _% F
0 D  S$ k7 p6 V5 ffunction [y,n] = sigadd(x1,n1,x2,n2)) F  E+ I: m0 b/ U0 B) b
% implements y(n) = x1(n) + x2(n)$ ^/ Q- n6 N. I- g* X! f1 G; S
% [y,n] = sigadd(x1,n1,x2,n2)
% S0 n, N# c/ t6 x# |! C* X% Y. U%____________________________________
4 B9 p- I. d' Z) ^5 v% [; e# c' c% y = sum sequence over n, which includes n1 and n2
, o. h9 Q7 Z2 d. h% y$ J% x1 = first sequence over n1
& Y1 O5 _' `7 ~1 Z9 o, ~5 v% x2 = second sequence over n2( n2 can be different from n1)
# T8 ~# `2 d: K  i2 E1 S0 X7 i0 q%# I7 S- S, W- T+ H( N/ [- P  l
n = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n)
/ U3 l3 s' ~2 A# N% B9 b) `* Py1 = zeros(1,length(n)); y2 = y1; %initialization
' a6 Z) U4 z/ n3 M' M$ ]y1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1' P4 w* u8 ~- h5 l  M
y2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x2; %x2 with duration of y22 H" s' v+ n2 [6 h% ~
y = y1 + y2;
" F5 n- ?: P, f5 I. R4 F( b8 _7 K/ c+ o' B" f7 M# T# @  \: p

" T! j& Q; d% Y1 i5 a信号移位函数:: p# n3 ?/ d5 _

5 y+ x9 X& ~4 I5 h, qfunction [y,n] = sigshift(x,m,k)' F4 S4 }2 A6 Q5 K) {
%implements y(n) = x(n - k)
$ h" d; J/ M- p$ f* X$ Z$ H%_________________________
3 _  k3 L, }  z, g' A%[y,n] = sigshift(x,m,k)7 ?2 ~5 s$ a& k1 i' Q$ s1 i2 ~
%
1 l% L8 y) o4 c  An = m+k;
3 M6 D% [- N% c2 a! T  uy = x;
! P: V/ d9 R+ l5 E
3 }1 s9 |/ q9 _
- E! Z& v% v- A) Z' R' I4 M( e: B预备工作做好了,下面给出一个例子:9 E% b8 A& g- I( R, X: V3 Z
# F6 |& `5 Q! ^% Q% H* ], y0 ~
设:* O% M& h, J; s" T8 a) s8 a
( {* q1 m6 A! V7 z
+ a% l4 E. U* w" s( p4 [

9 x  g- Q2 k' R' w- _是原序列,设 y(n) 是原 x(n) 受到噪声污染并移位了的序列
, O( z5 C% e, Z/ I
; n9 i6 \$ K2 f8 vy(n) = x(n-2) + w(n), v  w: m  [) y* E7 i; _

& ?0 G9 {. x5 G0 _这里 w(n) 是均值为0,方差为1的高斯随机序列。计算y(n)和x(n)之间的互相关。( I' L: n- s  m
0 Q7 V# R% F( U$ L* @; n5 S7 h
题解:
2 C* L9 A- p$ E4 \1 I: Z* O3 w2 b- x: H. |1 \& \6 t
clc
5 I; ?3 n. Z; S" wclear
* Q1 d9 U5 _* G1 A# yclose all3 V6 I, Z+ u& t8 ^8 L- J! C* M( P; y
# R8 C$ L: @/ G/ o. n2 r
% noise sequence 1/ t% d3 G' Y/ \! g2 T
nx = -3:3;
# p) u0 D% r0 d% d# I- Hx = [3,11,7,0,-1,4,2];
4 O- Q0 p& L/ K$ I6 I6 X1 k%
& _  l0 R1 y6 A5 k%  implements y(n) = x(n - k)! T3 l* s( @0 L' w2 S1 t5 E( ?1 W
%  _________________________2 J& h% L( C- D, x6 `8 R/ r
%  [y,n] = sigshift(x,m,k)  w7 S) X) X! v% Q6 z
[y1,n1]= sigshift(x,nx,2);
6 r  @! i* [# D; Q' \! k0 u  S, t, n* q- p3 v
w = randn(1,length(y1));
+ @# g; F* W# \nw = n1;( R) ^' F6 e% l) {- |$ B4 V

  T, H" t. j+ _3 ][y,ny] = sigadd(y1,n1,w,nw);
' j2 b$ }7 `5 e- H8 ]+ u& B
5 q; h+ U6 u1 M2 A! x4 Y[x,nx]=sigfold(x,nx);# l5 C6 [8 ?% }0 Q( I; U/ P
$ l& i' G' }* }# ^& p
[rxy,nrxy]=conv_m(x,nx,y,ny);
: g7 U1 ~& s' T8 n& X! z' b6 G$ W5 x( h* h2 J6 `+ G& W
subplot(2,1,1);+ e& a. V6 O9 Q  I; ^
stem(nrxy,rxy);
6 H6 m# L) A* w0 }title('noise sequence 1');
( f: s$ Q/ _9 m/ v: C. T9 A& y5 s! ?: ^

' z3 U' F6 W* i) ]# T* \% noise sequence 2
) p/ i$ M+ F3 f5 r# ]" Y5 qnx = -3:3;( m# \9 k) ?9 r, b
x = [3,11,7,0,-1,4,2];( M, M/ ~; P7 u  I% y5 k% G5 {
%
  F0 P# K& L( i: j* g2 c%  implements y(n) = x(n - k)
. E6 Y6 u0 {; i; @%  _________________________: L4 U8 N* ?, Z! ~# [4 w& s
%  [y,n] = sigshift(x,m,k)
+ d+ H6 Q" {  f/ @4 c[y1,n1]= sigshift(x,nx,2);
! \! z+ G+ c! |1 L* j" @2 u* n8 @. M% j9 X, ], D8 `, l4 ]
w = randn(1,length(y1));
( }/ n5 y* S8 H$ {nw = n1;/ K: q6 W4 R( v( Z* H

( C4 r9 o; X7 ]+ L- d" N[y,ny] = sigadd(y1,n1,w,nw);
, b' W, \* ^+ z
9 Z' K1 ~# Q8 E[x,nx]=sigfold(x,nx);% n/ o7 E1 e. V4 w1 h2 c

* {6 R  I6 L+ O  c  W[rxy,nrxy]=conv_m(x,nx,y,ny);; r6 g" _6 l" Z' G# {
3 o8 ?5 E- P0 E) @  s
subplot(2,1,2);$ r! B+ U/ u, G( k3 ]/ Y* }; u
stem(nrxy,rxy);
+ T  {$ Q5 S1 \, t% e# x. Ytitle('noise sequence 2');% x# C6 p# B0 L4 O- W, k

0 t( S5 I# U0 U# |9 f8 \ 5 m5 s0 z  o4 D% h. |3 l4 D9 g

! M) V. P$ ^5 B$ v$ Z9 e, H( |* q: c; G6 F4 n
噪声是随机的,所以把互相关的计算执行了两次,可见,两幅图的细节有一点点不同,但互相关的峰值都在l = 2上。
. {) ~; b* ]) `
, P, A0 z* v; \0 ^9 ^" r/ R3 Z& E% r8 u
. ^! c9 F! @5 |! U) q3 r; I

. ]' e; N: U, O0 f$ O
, T# ^8 g/ _' O# Z
  • TA的每日心情

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

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-24 14:09 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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