EDA365电子论坛网
标题:
求助:卷积函数conv,怎么用?
[打印本页]
作者:
dapmood
时间:
2020-4-24 14:13
标题:
求助:卷积函数conv,怎么用?
做了个简单的例子:
% u: ]$ I2 l: U: z
(1)把间隔设为0.1
6 f0 A7 M/ h8 ^5 K
f=0:
0.1
: 2*pi;
- s5 w, ~* j. Y) _
u=sin(f);
4 c( c# U% q) T
v=cos(f);
, N4 y4 V! U4 \& N3 |6 Q
plot(conv(u,v))
4 X2 h- ]% o n6 P/ E6 @/ ~, y8 Z5 ?
, j+ H: }- o9 b3 h# F1 s- g$ [% p, P
9.jpg
(3.27 KB, 下载次数: 8)
下载附件
保存到相册
2020-4-24 14:13 上传
" h @7 c; f: F! U8 V
6 P, y6 H+ V# @6 \3 A
(1)把间隔设为0.01
4 v4 `- R1 i% e
f=0:
0.01
: 2*pi;
. o" @# h% `. y1 m9 l- G4 i2 G, `
u=sin(f);
# c+ k4 |7 _3 D; M
v=cos(f);
9 h. j5 N9 i# ~. Q" }9 ]
plot(conv(u,v))
9 L: A+ ^0 O3 ?: y0 u
U, S! B e |& m9 ~
10.jpg
(3.47 KB, 下载次数: 7)
下载附件
保存到相册
2020-4-24 14:13 上传
% _1 l8 E/ L& Y8 o
( c; @- I$ N6 Y/ g: \. f' H
为什么会出现这样的差异呢??
% W/ b; [. o% c+ Y% {& H M, D/ ~6 @
; u. D0 R% I( v
6 N2 c0 R; a! p2 i- G/ E8 |+ r+ P
作者:
NingW
时间:
2020-4-24 14:55
这个近似的方法解释这个问题:
2 p4 t3 w T) {
a=1:1e-7:1+1e-6; %相当于间隔是1e-6采样
" T# Q4 n# M* M9 k) Q2 F) h
b=1:1e-8:1+1e-6; %相当于间隔是1e-7采样
+ O. ]# i5 J" R* F8 p8 I
x1=conv(a,a);
) D3 [) r7 i @) l3 C* y
x2=conv(b,b);
( R$ N6 F- A$ w* j: g
由于采样间隔<<1,所以就将它忽略,然后
$ K0 J9 j1 Y2 `1 F
x1≈10个1自卷积
& Q* S0 s7 g0 M0 S! ~
x2≈100个1自卷积
; x, K! A6 S: l. }8 ?
很显然x1的最大值为10,而x2的最大值为100(都是最中间的那个值),大概就是10倍
j G. N N8 ~4 Q2 R% L
当然实际上通过
3 t6 V; D5 X; B1 E! K/ |
y1=max(x1);
: Z9 ^0 i1 J( ~+ i" I. }
y2=max(x2);
& E3 j0 V: F, E
可以发现,实际的最大值之间倍数关系好像也没有到10,会不会其中某些值取到极限,倍数会达到10,这我就没试过了。
+ q( d" [) u, t P# w `. q. u
不知道这样解释算不算投机取巧~呵呵~
作者:
yin123
时间:
2020-4-24 14:55
& N# T. l: s& H. ~6 R% L1 J
conv函数相当于把两个函数对应处的元素相乘并求和,所以采样越密,参与运算的元素就越多,其和自然也就越大。以楼上那个程序为例,a有11个元素,所以x1最大值为11;b有101个元素,所以x2最大值为101。这不一定是10倍的关系,而是取决于究竟有多少元素参加了运算。
; c2 N$ f, h2 @/ H7 {" J$ [7 l# E
+ n$ Y; y% ~( K9 M/ y) {
所以,想得到稳定的结果,应该对其进行适当缩放。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2