matlab 怎样用conv()函数求 sin(t)和cos(t)的卷积 matlab 用卷积conv进行离散序列X{N}和一个正弦波...

作者&投稿:孟筠 (若有异议请与网页底部的电邮联系)
呵呵时域的卷积等于频域的直接相乘

我们先将他们傅里叶变化,相乘后反傅里叶变化就可以了

conv是离散信号的卷积,不是连续信号的卷积函数

>> f=fourier(sin(t))*fourier(cos(t))

f =

i*pi^2*(dirac(w+1)-dirac(w-1))*(dirac(w+1)+dirac(w-1))

>> ifourier(f)

ans =

i*pi^2*(-ifourier(dirac(w-1)^2,w,x)+ifourier(dirac(w+1)^2,w,x))

MATLAB卷积函数conv有几种用法~

conv是卷积运算,同时也可以做多项式的乘法

C=conv2(A,B)
C=conv2(Hcol,Hrow,A)
C=conv2(...,'shape')
说明:对于 C=conv2(A,B) ,conv2 的算矩阵 A 和 B 的卷积,若 [Ma,Na]=size(A), [Mb,Nb]=size(B), 则 size(C)=[Ma+Mb-1,Na+Nb-1]; C=conv2(Hcol,Hrow,A) 中,矩阵 A 分别与 Hcol 向量在列方向和 Hrow 向量在行方向上进行卷积;C=conv2(...,'shape') 用来指定 conv2 返回二维卷积结果部分,参数 shape 可取值如下:

》full 为缺省值,返回二维卷积的全部结果;
》same 返回二维卷积结果中与 A 大小相同的中间部分;
valid 返回在卷积过程中,未使用边缘补 0 部分进行计算的卷积结果部分,当 size(A)>size(B) 时,size(C)=[Ma-Mb+1,Na-Nb+1]。

应用举例:
A = magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

B = [1 2 1;0 2 0;3 1 3]
B =
1 2 1
0 2 0
3 1 3

C = conv2(A,B)
C =

17 58 66 34 32 38 15
23 85 88 35 67 76 16
55 149 117 163 159 135 67
79 78 160 161 187 129 51
23 82 153 199 205 108 75
30 68 135 168 91 84 9
33 65 126 85 104 15 27
可以自己 help conv
至于gggfconv和 ggfconv,matlab 不自带这两个函数,你看到的应该是别人自己写的,用户自定义。

第一 载波和信号不是通过卷积,而是调制。
第二 我不清楚什么叫做卷积的逆运算,请搞清楚概念。
第三 卷积的意思指的是信号在频域上相乘,一般是过滤波器时需要,而不是再调制的时候。
第四 如果不加噪声,调制和解调出来的信号是一样的,没有区别。 你想判断传输质量指的应该是误码率,而误码率与信噪比是相关的。