傅里叶变换的循环卷积不等于两个傅里叶变换乘法?gydF4y2Ba
39视图(30天)gydF4y2Ba
显示旧的评论gydF4y2Ba
范家谦阮gydF4y2Ba
2023年6月15日15:31gydF4y2Ba
评论道:gydF4y2Ba
范家谦阮gydF4y2Ba2023年6月17日21:01gydF4y2Ba
在傅里叶理论中,无论离散或连续傅里叶变换,我们有一个重要的属性gydF4y2Ba
所以,圆形的傅里叶变换的卷积gydF4y2Ba
fgydF4y2Ba
和gydF4y2Ba
ggydF4y2Ba
应该等于乘法的傅里叶变换gydF4y2Ba
fgydF4y2Ba
和gydF4y2Ba
ggydF4y2Ba
。虽然我是严格从MATLAB教程,我不能证明这个属性。我做错了什么?你能给我解释一下吗?gydF4y2Ba
N = 32;gydF4y2Ba%数量的网格点gydF4y2Ba
L = 1;gydF4y2Ba%的问题领域gydF4y2Ba
h = L / N;gydF4y2Ba% 1细胞大小= x (2) - (1)gydF4y2Ba
x = 0: h: L-h;gydF4y2Ba%的网格点gydF4y2Ba
规模= 2 *π/ L;gydF4y2Ba%规模整数个波数为波数域[0,1]gydF4y2Ba
ξ= fftshift (- N / 2: N / 2 - 1) *规模;gydF4y2Ba%波数gydF4y2Ba
f = exp (cos(2 *π* x));gydF4y2Ba%函数1gydF4y2Ba
g = exp (sin(2 *π* x));gydF4y2Ba%功能2gydF4y2Ba
dfdx =传输线(1 j *。* fft (f));gydF4y2Ba% f使用fft的导数gydF4y2Ba
dgdx =传输线(1 j *。* fft (g));gydF4y2Ba% g使用fft的导数gydF4y2Ba
关闭gydF4y2Ba所有gydF4y2Ba
图(位置= [100、100、800、300])gydF4y2Ba
%衍生品是完全正确的,因此xi的定义就可以了。gydF4y2Ba
次要情节(1、3、1)gydF4y2Ba
情节(x, dfdx,gydF4y2Ba“k -”gydF4y2Bax - 2 *π* f。*罪(2 *π* x),gydF4y2Ba“——”gydF4y2Ba线宽= 2),网格gydF4y2Ba在gydF4y2Ba、标题(gydF4y2Ba“df / dx美元”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
次要情节(1、3、2)gydF4y2Ba
情节(x, dgdx,gydF4y2Ba“k -”gydF4y2Bax 2 *π* g。* cos(2 *π* x),gydF4y2Ba“——”gydF4y2Ba线宽= 2),网格gydF4y2Ba在gydF4y2Ba、标题(gydF4y2Ba“dg / dx美元”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
%计算循环卷积后MATLAB文档:gydF4y2Ba
% https://uk.mathworks.com/help/signal/ug/linear-and-circular-convolution.htmlgydF4y2Ba
fpad = [f, 0(1,长度(g) 1)];gydF4y2Ba
gpad = (g, 0(1,长度(f) 1)];gydF4y2Ba
ccirc =传输线(fft (fpad)。* fft (gpad));gydF4y2Ba
f_cconv_g = ccirc (1: N);gydF4y2Ba
次要情节(1、3、3)gydF4y2Ba
情节(x, f_cconv_g,线宽= 2),网格gydF4y2Ba在gydF4y2Ba、标题(gydF4y2Ba“f \ ast g美元”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
f_lconv_g = conv (f, g);gydF4y2Ba
%比较线性卷积和循环卷积(后gydF4y2Ba
% MATLAB文档)- - - >结果很好,所以没有问题!gydF4y2Ba
规范(ccirc f_lconv_g,gydF4y2Ba“正”gydF4y2Ba)gydF4y2Ba%比较好gydF4y2Ba
%我的问题是这里!gydF4y2Ba
f_cconv_g_fft = fft (f_cconv_g);gydF4y2Ba
fhat_time_ghat = fft (f)。* fft (g);gydF4y2Ba
%在数学上,我们知道fft (f-convolute-g)应该等于fft (f)gydF4y2Ba
%,* fft (g)。但这不是验证。gydF4y2Ba
图(位置= [500、500、800、300])gydF4y2Ba
次要情节(1、2、1),gydF4y2Ba
情节(x,真实(f_cconv_g_fft),gydF4y2Ba“k -”gydF4y2Ba,x,真正的(fhat_time_ghat),gydF4y2Ba“——”gydF4y2Ba线宽= 2),网格gydF4y2Ba在gydF4y2Ba
标题(gydF4y2Ba" $ \ mathrm{你}[\ widehat {f ast g} \] $”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
次要情节(1、2、2)gydF4y2Ba
情节(x,图像放大(f_cconv_g_fft),gydF4y2Ba“k -”gydF4y2Ba,x,图像放大(fhat_time_ghat),gydF4y2Ba“——”gydF4y2Ba线宽= 2),网格gydF4y2Ba在gydF4y2Ba
标题(gydF4y2Ba" $ \ mathrm {Im} [\ widehat {f ast g} \] $”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
1评论gydF4y2Ba
接受的答案gydF4y2Ba
保罗gydF4y2Ba
2023年6月15日21:21gydF4y2Ba
编辑:gydF4y2Ba保罗gydF4y2Ba
2023年6月15日21:22gydF4y2Ba
嗨,速度gydF4y2Ba
考虑下面的环形和线性卷积的区别。gydF4y2Ba
N = 32;gydF4y2Ba%数量的网格点gydF4y2Ba
L = 1;gydF4y2Ba%的问题领域gydF4y2Ba
h = L / N;gydF4y2Ba% 1细胞大小= x (2) - (1)gydF4y2Ba
x = 0: h: L-h;gydF4y2Ba%的网格点gydF4y2Ba
f = exp (cos(2 *π* x));gydF4y2Ba%函数1gydF4y2Ba
g = exp (sin(2 *π* x));gydF4y2Ba%功能2gydF4y2Ba
补零输入用于计算fft线性卷积,对其持续时间,两个有限时间信号。gydF4y2Ba
f和g的线性卷积的持续时间gydF4y2Ba
D =元素个数(f) +元素个数(g) - 1;gydF4y2Ba
%这段代码工作gydF4y2Ba
% fpad = [f, 0(1,长度(g) 1)];gydF4y2Ba
% gpad = (g, 0(1,长度(f) 1)];gydF4y2Ba
%,但我更喜欢gydF4y2Ba
fpad = [f, 0 (1 D -元素个数(f)));gydF4y2Ba
gpad = (g, 0 (1 D -元素个数(g)));gydF4y2Ba
现在,因为填充,传输线计算下一个是真正从n = 0到n = D 1 D元素的线性卷积f和g,必须这样基于相比conv接下来(f, g)。gydF4y2Ba
% ccirc =传输线(fft (fpad)。* fft (gpad));gydF4y2Ba
clinear =传输线(fft (fpad)。* fft (gpad));gydF4y2Ba
% f_cconv_g = ccirc (1: N);gydF4y2Ba
f_lconv_g = conv (f, g);gydF4y2Ba
%比较线性时域卷积计算和线性卷积gydF4y2Ba
通过在频域零填充%计算。比较完整的gydF4y2Ba
%序列,而不仅仅是第N个元素。gydF4y2Ba
%规范(ccirc f_lconv_g,“正”)%比较好gydF4y2Ba
规范(clinear f_lconv_g,gydF4y2Ba“正”gydF4y2Ba)gydF4y2Ba%比较好gydF4y2Ba
%我的问题是这里!gydF4y2Ba
% f_cconv_g_fft = fft (f_cconv_g);gydF4y2Ba
没有补零,fft的产物的f和g的f和g的循环卷积gydF4y2Ba
fhat_time_ghat = fft (f)。* fft (g);gydF4y2Ba
f_cconv_g_fft = fft (cconv (f, g,元素个数(f)));gydF4y2Ba
显示平等gydF4y2Ba
规范(f_cconv_g_fft fhat_time_ghat,gydF4y2Ba“正”gydF4y2Ba)gydF4y2Ba
图(位置= [500、500、800、300])gydF4y2Ba
次要情节(1、2、1)gydF4y2Ba
情节(x,真实(f_cconv_g_fft),gydF4y2Ba“k -”gydF4y2Ba,x,真正的(fhat_time_ghat),gydF4y2Ba“——”gydF4y2Ba线宽= 2),网格gydF4y2Ba在gydF4y2Ba
标题(gydF4y2Ba" $ \ mathrm{你}[\ widehat {f ast g} \] $”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
次要情节(1、2、2)gydF4y2Ba
情节(x,图像放大(f_cconv_g_fft),gydF4y2Ba“k -”gydF4y2Ba,x,图像放大(fhat_time_ghat),gydF4y2Ba“——”gydF4y2Ba线宽= 2),网格gydF4y2Ba在gydF4y2Ba
标题(gydF4y2Ba" $ \ mathrm {Im} [\ widehat {f ast g} \] $”gydF4y2Ba翻译=gydF4y2Ba“乳胶”gydF4y2Ba)gydF4y2Ba
总之,与f和g信号长度为N的:gydF4y2Ba
的产品在fft的f和g的fft线性卷积的f和g(只要填充足够长)gydF4y2Ba
fft的产物的f和g的金融交易税N-circular f和g的卷积gydF4y2Ba
5个评论gydF4y2Ba
更多的答案(0)gydF4y2Ba
另请参阅gydF4y2Ba
类别gydF4y2Ba
找到更多的在gydF4y2Ba离散傅里叶余弦变换gydF4y2Ba在gydF4y2Ba帮助中心gydF4y2Ba和gydF4y2Ba文件交换gydF4y2Ba