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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于序列卷积,之前写了3篇:
/ x% _# c7 z8 V3 w9 H- R3 ?, n8 [/ r1 O
MATLAB之conv 函数介绍(卷积和多项式乘法): y. T% t/ P  j) |( n, P" f

8 x: S& d1 |. q6 i这篇介绍的是MATLAB本身自带的函数,但这个函数conv有个不如意的地方,就是求过卷积之后我们不知道各个卷积值的位置。
' y1 c+ X+ s& v1 n4 E5 r& U" v  K7 l) {
然后我们后面扩展了下这个函数,命名为conv_m,这个函数在这个的最后给出。
# Q/ j6 t4 o" p6 @* O
& O" u! a- K- M8 i& g' V5 G两个序列的卷积和运算的MATLAB实现(2), n; R& _$ @, I0 X5 L

% Y  @# b' }! w1 h- d  h还有一篇:
* A3 m% f6 X- ~' Z/ Z+ n
. X$ h7 \3 W8 J3 e& j) J( A两个序列的卷积和运算的MATLAB实现(1)1 d5 q& @( j2 ]
: K; B: i" _' r& R8 ^1 }" N
这篇只是给出了一个实例,程序里面隐藏了求卷积值位置的脚本程序。
% L) F& h- t6 s3 t3 g, h) f$ ?1 F' {2 D& ?1 E- i. {
序列卷积和公式:
( c5 a' X. B  G& \& i+ E7 G3 q0 U* d3 Z$ ]

' A1 r- }# Z: T9 s( ^& B, j. V) G! B* P1 ^7 @* A6 h0 D
而序列的互相关公式为:
9 e! B) j' X( _7 ?$ o7 ~- v. x. H% _8 X- K; m
  ~. W/ L# q6 e) s

" X+ ~% C/ b$ a3 P如果x等于y,那么就得到自相关函数的公式:
: a% o3 m4 j! q8 q2 s' l. R0 n. x: i  Y+ R" X) z

6 Q  L5 X4 U" u. ~' {  x
  S) c/ d4 I' v, C) [比较卷积和公式和互相关函数的公式,我们可以发现二者之间的关系:8 w& P9 Y7 O7 w) }- \3 s

7 G9 L, T- Y  e6 }% `2 i: v. L 0 B- R. E4 l6 F6 V
/ f3 C" s2 P9 s8 U/ E
有了这个关系,我们就可以使用卷积的函数来求两个序列的互相关了。9 f4 q. D! }- p( V  H6 Q1 q

4 N8 Y! _4 q) y首先给出扩展后的卷积函数conv_m的脚本:
6 k4 O1 Z7 Q- U4 |5 {* F; d" ^$ Z8 C7 _+ s$ ]
function [y,ny] = conv_m(x,nx,h,nh)3 l$ d) u! `; b- ?
% Modified convolution routine for signal processing
; {, s/ z/ a- k) c%___________________________________________________
+ S2 A; p2 f/ v* I, K! B6 Y) z% [y,ny] = conv_m(x,nx,h,nh)
3 d6 v, K; u/ g( [" y- r8 e% [y,ny] = convolution result+ ~, n1 ]# F0 b9 B2 C/ x% r6 d
% [x,nx] = first signal
, R( t; X2 `, b# X; C% [h,nh] = second signal7 z6 u( T( ?* g7 T3 Q) f. a( b
%! \$ L2 Z$ t! V+ x3 y
nyb = nx(1) + nh(1);2 c: X6 J; _6 A; u* N8 q0 \
nye = nx(length(x)) + nh(length(h));
# F  s, j# b* \! Rny = nyb:nye;
2 S2 d/ r. ?7 ~& o2 `y = conv(x,h);
! E% [8 I- {/ _# M4 ^6 @1 r5 v! ?+ z: n& N! L- W% R" E7 ~( M( V
4 r8 _0 R/ z- L0 }
两个信号相加的函数sigadd:
2 s2 U" ?3 o/ V, z# j" k2 z  y
$ O* d  Z8 z5 q9 o' wfunction [y,n] = sigadd(x1,n1,x2,n2)' l9 T7 Y0 X/ A) E1 g
% implements y(n) = x1(n) + x2(n)- J) a2 K4 Z; f+ M) R) Z. H* k7 j
% [y,n] = sigadd(x1,n1,x2,n2)
$ Q5 y0 E1 q' s( A- }( G" l%____________________________________
8 `1 n5 `# ^+ ]. q- F; O1 u$ \  T- I7 M% y = sum sequence over n, which includes n1 and n2
+ i, j, L2 I9 N/ O$ {* M/ `! z% x1 = first sequence over n1
( w" J$ b" u# A! N5 k% x2 = second sequence over n2( n2 can be different from n1)7 [& g" r/ l9 x" m+ G1 O  `
%, _* s1 J( Q& z
n = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n)
! A# U& m3 ], U/ r0 `y1 = zeros(1,length(n)); y2 = y1; %initialization
0 z( z+ t& j) Jy1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1
1 S5 M" z2 t( c' h+ Z# X9 W2 A- p3 ~# ny2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x2; %x2 with duration of y2
! B" G( u/ W# m9 v6 j9 ]0 S& Hy = y1 + y2;8 X: N9 w) l8 L! B) ]7 s

5 |) ?0 G0 z8 b4 \9 q6 [) [
. `2 z$ S6 W7 i! @信号移位函数:! @* `, Y. x6 {. l, m  S/ x- ~
9 p: K8 S8 Y9 A! v3 @$ c: t
function [y,n] = sigshift(x,m,k)
5 e; j0 S- x! ^. L  ]3 E%implements y(n) = x(n - k)
* r  W+ g, o* N  F0 |4 x%_________________________" W9 g& D; \' f3 W1 v1 F. d) U
%[y,n] = sigshift(x,m,k); H+ \' l0 k' K
%
4 F! w% n" `  p" x' Nn = m+k;! Q- N3 @  I+ j, `+ M
y = x;, g, ]7 Q; t7 h0 c% I2 y' I
+ {4 \! `9 C; ?' h, ~+ F6 g4 ~
, c0 P% G( l, v" V6 ?( g
预备工作做好了,下面给出一个例子:
# z- q4 C* k) z$ A& ^+ y) Y9 |: b  w) H0 s; T" F
设:# E3 F3 e2 O! `# R) b) X* _( I# o

3 B! w2 o' t  P/ |) z3 h * d2 `7 L+ J9 O

; D; X1 e. I$ {# y8 O是原序列,设 y(n) 是原 x(n) 受到噪声污染并移位了的序列
$ ^  V% D2 p" C6 }3 i" c9 B
0 M: z, d+ m4 l3 ]y(n) = x(n-2) + w(n)
% ~" d' e! v7 O5 f% q6 \. f' d$ s
这里 w(n) 是均值为0,方差为1的高斯随机序列。计算y(n)和x(n)之间的互相关。3 M) ^0 _# W9 w7 C9 m
, v5 Y1 E1 M2 u$ M
题解:
/ t8 m7 c) R& C3 M# u5 ^" w
: }" w  o% E- f+ }, S' O$ T! h6 mclc; P' `8 E. S* c0 r) t8 E
clear( K. I# H8 o" a% x0 N
close all/ ?! q  N7 Q' {3 J: K7 h: _

$ Q5 t1 S5 `% U  v7 N% noise sequence 1: z+ _) I6 A; r/ y  ~$ S
nx = -3:3;
( l4 B, J: }$ F. u  ~x = [3,11,7,0,-1,4,2];4 \, p% h: e: z+ m0 S. I0 u' C
% ( g* o7 F8 q# K# i: j
%  implements y(n) = x(n - k)
4 n" r, h, o8 U7 j0 _9 D%  _________________________
5 O+ h3 Q: K' c' ~3 B3 O%  [y,n] = sigshift(x,m,k)
6 G% K0 _( S7 @0 e! r( Y[y1,n1]= sigshift(x,nx,2);" j. w2 |7 Z$ d

+ e# S* c# D6 g  Aw = randn(1,length(y1));
" D+ v. e1 A4 s* m" o3 K/ fnw = n1;
& w% V; c8 _% {4 w0 R" k; }' U7 c$ v
[y,ny] = sigadd(y1,n1,w,nw);1 T: y3 ?# p' d( e2 D% W7 y

7 c% u( g- s2 u) }* V[x,nx]=sigfold(x,nx);; E3 q1 p& G7 p8 y$ M8 x

$ l0 A1 L$ L: f6 d) ?5 a! s& J* c$ G[rxy,nrxy]=conv_m(x,nx,y,ny);
: f: X/ I' O; Y& V8 `
# s" ~3 D4 t! D8 t; T" R, _, Fsubplot(2,1,1);) l+ r' U8 T& b. _# g0 R
stem(nrxy,rxy);& b0 \8 M  y* O" ?) F, s: [& n2 A
title('noise sequence 1');
! O( \) q2 s, k8 J: Z) R/ U* b9 ?. M+ z3 L
" ^' G' z, M/ L8 Z7 D5 F& L
% noise sequence 2
2 a; o4 Y  t; d2 {2 |nx = -3:3;& B; ^5 I& M2 u& h
x = [3,11,7,0,-1,4,2];
5 K# h& t. F! J7 S4 H6 d%
( H6 R8 k; F% z3 n% m%  implements y(n) = x(n - k)
1 o6 F. s$ f* L* b- j$ z%  _________________________
8 [+ R! E" M* A5 e& }% X8 f! Q%  [y,n] = sigshift(x,m,k)
2 S4 A0 I) |( D# ~* s[y1,n1]= sigshift(x,nx,2);
4 z" n' c5 r! t+ F1 K. c' i
6 E6 |0 H6 R- D' b: vw = randn(1,length(y1));
1 \" A) W. K) l& I; jnw = n1;6 E. p/ V) w* k; Z& w/ o

: c- }0 ^( s0 w[y,ny] = sigadd(y1,n1,w,nw);2 S- s6 ~8 p& d" Z, h2 {

0 M2 f  j; |( n: E0 c[x,nx]=sigfold(x,nx);0 G! p/ Q$ Z7 W# A5 v: W9 ]) }
& I3 M- G% [: P2 {
[rxy,nrxy]=conv_m(x,nx,y,ny);
6 R2 y* {% c# w9 T5 V; h, A. C) M$ N; w
subplot(2,1,2);( L; O& j1 [  p" F. s% U4 w/ z
stem(nrxy,rxy);
; \, ~. v! ^' b) q; F4 u4 A' `( Ntitle('noise sequence 2');, v& W# e. c4 W6 `' {; |

; J' q3 m/ W2 d* S% P5 u9 S0 _ / B) P- u; z" U

0 ^6 f. X% H# p5 p+ C
' V5 q) A$ ^& ?9 ]1 V) Z噪声是随机的,所以把互相关的计算执行了两次,可见,两幅图的细节有一点点不同,但互相关的峰值都在l = 2上。
/ o  o# p" c) {  m
% j! ^$ o% F8 s% f, A% B
6 D3 y0 s: P* L5 c4 p: W8 L7 J
7 L! Q& W! ^" y9 G, K7 f# ~( B3 ]4 r7 M% k

8 ~$ [/ d% r8 ?( p3 M- W
  • 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-20 04:34 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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