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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于序列卷积,之前写了3篇:
' r( M5 \! A: z) \
% \  o( B  r7 oMATLAB之conv 函数介绍(卷积和多项式乘法). U, g" ?0 G, I( X2 b
5 Z- t  b* n1 e+ b9 w' d
这篇介绍的是MATLAB本身自带的函数,但这个函数conv有个不如意的地方,就是求过卷积之后我们不知道各个卷积值的位置。, ?; l; R! v2 o) S
) l& ?% K5 l( S+ U% ^# l9 N4 O" u. V
然后我们后面扩展了下这个函数,命名为conv_m,这个函数在这个的最后给出。/ D; @+ O! K4 E8 x: C- n4 z

* h# |2 Z6 q$ N& D- \7 Z! R& Q8 w两个序列的卷积和运算的MATLAB实现(2)+ W2 Z, r  J: \- g3 s7 ^0 Z( `
" G8 S; A! I+ s; w
还有一篇:
2 Q/ j9 Z0 }! U6 g3 H; W  |4 s5 K, O1 R$ ]/ W' j
两个序列的卷积和运算的MATLAB实现(1)
3 ?& @9 n* m7 _2 _' \
4 T- e) @, w1 V1 i这篇只是给出了一个实例,程序里面隐藏了求卷积值位置的脚本程序。
: Q) J, x0 n5 [# g8 D# R3 @" ]9 L! p& S. |: `# j# R9 g, x3 T4 X7 m
序列卷积和公式:7 G# b% Q0 |/ T+ w3 i4 f
, [8 j) \. Q" c0 o: p8 S

3 F6 N4 g# }- E3 x
; I: p# k6 j% g; P而序列的互相关公式为:% }% U! Y; F) }& p, l4 Y9 I7 ~
. s2 m" m2 `' e" \" k8 |, Z
+ Y8 I, N4 Y2 r+ `# F

, q# ?- l9 u9 \5 D( F* k% k如果x等于y,那么就得到自相关函数的公式:
4 t" V( L+ {4 o+ F3 S( p; V5 f# ?) g7 r" L
& w: c3 \6 L4 {; V0 A/ N
* C+ {4 n& A0 w& V# l5 D, z1 `  S& s
比较卷积和公式和互相关函数的公式,我们可以发现二者之间的关系:
0 a7 ]0 r7 G& n% h0 ^1 D# A
' s1 A  N0 e+ c
% x, J( S2 l- W( Z# t  H# a& o  M" L9 B+ n
有了这个关系,我们就可以使用卷积的函数来求两个序列的互相关了。
) [% u8 C1 l$ X/ F
8 I' x+ s4 r8 ~! ]) j3 Q) D首先给出扩展后的卷积函数conv_m的脚本:
* F6 G; e/ W7 E+ [4 Z9 x1 i! `$ p% S1 _$ M7 q8 q# J
function [y,ny] = conv_m(x,nx,h,nh)) Y6 c! ~7 ^* K0 T3 z
% Modified convolution routine for signal processing  c% X# ~8 f+ N1 ]* G
%___________________________________________________. Y3 X% F% C; _7 W
% [y,ny] = conv_m(x,nx,h,nh)
3 `' T- Y2 a7 n; x2 Z. w% [y,ny] = convolution result
! [+ A. ]. I# y. E+ p% [x,nx] = first signal
$ D8 W# H! o4 c! Q4 e- H% [h,nh] = second signal
4 c" X6 b0 a8 v5 ~4 V, L3 C%8 u& |. f6 m9 y% m: G2 m
nyb = nx(1) + nh(1);8 e; w9 ^7 b9 P; _
nye = nx(length(x)) + nh(length(h));1 [* F7 ^" i: m5 |! e* T# K
ny = nyb:nye;
2 j* {9 {- E( wy = conv(x,h);7 N, W( R8 ~1 ?
! _! I7 |& R# l1 c; z: Y
& r+ i4 r+ f6 ^" O8 {. o& u
两个信号相加的函数sigadd:; H* N8 I( J& ^0 D8 a5 f' T& I+ f
1 O) M, z; P4 M+ g
function [y,n] = sigadd(x1,n1,x2,n2)
  ~( w, ?8 b( W6 ^* |! X/ h% implements y(n) = x1(n) + x2(n)
1 r) }8 H2 ^% Z- U- p% [y,n] = sigadd(x1,n1,x2,n2)' L8 `+ }5 `5 ?4 f$ U8 k" m# J
%____________________________________" g( ]8 B  w8 I( }: ]7 g- N, L
% y = sum sequence over n, which includes n1 and n2! L6 L- V$ u# U* b% l
% x1 = first sequence over n1+ ^- S8 f: ~  K* s; @4 f- u
% x2 = second sequence over n2( n2 can be different from n1): e* g9 m* y% \7 ~* L
%
, n9 J# _( f: @" [+ t2 s/ v) fn = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n)
4 f& d. T; W! F; \9 xy1 = zeros(1,length(n)); y2 = y1; %initialization) c8 K9 v+ b3 V6 j
y1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1
. l$ Z6 C# `# o" c2 G' P# Zy2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x2; %x2 with duration of y22 I% K8 z: q: J: ^2 X  o
y = y1 + y2;+ {4 c" _$ ~. B; y. |/ x0 L7 f8 O
: c" D" m0 T5 v8 _' a6 `$ w. f. J

: ^, x, J+ c4 S) `( ?' }信号移位函数:% v* n8 R1 h& c+ j# @4 T

, F6 S: R5 ]2 U( Gfunction [y,n] = sigshift(x,m,k)
  ]& G$ P2 r4 k- }! A2 \. Y5 t%implements y(n) = x(n - k)3 p: w' g3 |, \& y: t
%_________________________
4 J" X+ w2 ]8 X" A%[y,n] = sigshift(x,m,k)
2 v" y3 p1 n1 l) Z% S%
6 Q+ C+ ?* F4 _6 b& X$ mn = m+k;
) a. }6 P1 ]; t* y$ vy = x;
1 s$ `  z2 X, I7 r* W0 {! V5 Y) r7 ~+ ?& U1 q  i

$ D+ r0 H4 b% k0 E* l预备工作做好了,下面给出一个例子:
  C' T0 p9 G$ E. O: T9 s/ j5 q/ S
设:
$ h+ Y% N' [& G% F; U' i5 n) U$ X8 m$ v4 t

+ y4 b1 i6 Z3 E6 \6 o0 I
, z9 Y4 y- C8 U$ J+ Z" N3 P3 v1 x是原序列,设 y(n) 是原 x(n) 受到噪声污染并移位了的序列5 }( g7 b6 w: A# k
# R4 L  X- B/ b( j
y(n) = x(n-2) + w(n)
/ X7 S. A3 A4 O& S7 l0 [& x' n3 ~( V1 K
这里 w(n) 是均值为0,方差为1的高斯随机序列。计算y(n)和x(n)之间的互相关。% k$ y) U+ Q/ _- h/ P. k+ J1 B" n

- ?4 R7 e! N5 f5 i% N题解:8 E/ v+ B1 n+ \, y& s) L

9 u( p3 ~/ T) T, e. }clc! y9 G# |, C  }1 x; F2 r
clear
$ }7 u6 Y* A0 u0 Zclose all) h) y  U- {, D8 R
+ n$ E2 Q) g4 P0 T" F9 L% o
% noise sequence 1
7 A$ Z4 O$ I& [# p2 qnx = -3:3;" |( f5 N6 Z' P( m+ O
x = [3,11,7,0,-1,4,2];
/ w. g! b: D6 c0 K# y% u%
! K; E$ Z% A9 I%  implements y(n) = x(n - k)% {( U% K5 O: M1 @- H
%  _________________________2 ^% Y" H% ^; {# a* v' d
%  [y,n] = sigshift(x,m,k)
% t+ }* y! @+ \7 D3 [7 j- V, w5 U) S[y1,n1]= sigshift(x,nx,2);: e" b* w- q1 c3 u3 p

1 W+ n6 w" v9 l. Gw = randn(1,length(y1));( a7 k. \) B; `9 X1 o; [6 |: g
nw = n1;, [& w3 k% M( {6 g" d8 Q( k0 _
! M# Q- W" x. x& I
[y,ny] = sigadd(y1,n1,w,nw);
* e0 O: e: b9 ]( ^3 ~
3 {( e& v; l8 w: ?[x,nx]=sigfold(x,nx);
/ C2 Y# c) F3 P# @! ^7 T7 D  {, X6 p7 k/ f, X6 v% ]
[rxy,nrxy]=conv_m(x,nx,y,ny);
) z; F. s) l' ^7 e% r7 D2 J/ B6 K7 M! b+ J  m
subplot(2,1,1);% h& v( z& A; O
stem(nrxy,rxy);
' @3 Q1 t. A( j1 r# I8 U/ j1 _, @title('noise sequence 1');
' u; q4 b; a( O9 m* @' Y- B3 \
9 v) o7 y9 c- U8 X( s+ Q7 [% P- M. e3 S
% noise sequence 2
. E9 W& g" O1 Q% `$ l- W) U8 Nnx = -3:3;! A9 _, J- m* Q2 G
x = [3,11,7,0,-1,4,2];
. q6 y& I2 f7 e8 \) }%
7 l7 j3 Y* N: w% _6 s' c%  implements y(n) = x(n - k)
$ c# W/ m+ a8 d1 q& [3 t%  _________________________$ H. J& c/ v: R$ _; L
%  [y,n] = sigshift(x,m,k)3 B% |/ u, c) q* ?" \
[y1,n1]= sigshift(x,nx,2);: J: K5 P3 u+ s8 ?' O) U

9 X4 ^" {$ O' A  F, Nw = randn(1,length(y1));& S* f7 M* r. N: [. v9 t& [# D) x
nw = n1;
' |2 a+ b0 y. k5 R6 y' ?
" g/ P. q. I, _5 J2 l[y,ny] = sigadd(y1,n1,w,nw);
1 C/ h$ K- c9 D% L+ _' f& N/ U
  K% U# p0 i6 h/ m5 b* K[x,nx]=sigfold(x,nx);
! C* w& A( S" ~5 x: V8 _5 q1 N# M- ~' f* |  q. N- i
[rxy,nrxy]=conv_m(x,nx,y,ny);
( y+ O) @6 {/ m  V& w
% @4 W7 T- i5 O+ l* E( l. psubplot(2,1,2);5 ?" ^% F1 Z6 w4 b/ D; O1 V
stem(nrxy,rxy);( |4 r' J% t' u
title('noise sequence 2');
* O! G0 x- j! `- w4 u2 R4 ^& h9 Z$ e, r( X/ }  [% c( P: v

5 ?2 ~8 P! Q2 }9 d+ ?' l# ^  v/ ]: {4 }) C6 v, Y7 g1 O" b$ n3 Z1 B) m

) Q. z. D7 W9 ~- f8 d9 N! Q噪声是随机的,所以把互相关的计算执行了两次,可见,两幅图的细节有一点点不同,但互相关的峰值都在l = 2上。
% k0 o9 f( V* A9 w8 ~( o! x1 S$ d) r$ [) E3 O6 r

5 }2 p: A  C+ D# B( q/ W) Q' _/ h1 I0 A6 }9 n% [' ?) |# U
. q* P; L  Z+ S$ O# m0 H8 h- b

/ z9 j+ M. y. v) Z* V% F% h
  • TA的每日心情

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

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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