[問題] 有關convolution的問題....已回收
剛剛在研究跟convolution有關的數學式
但是碰到了一些問題不知道是程式錯誤還是觀念錯了.....
ps其實我很好奇下面為啥會相等....(他們的"長度"不是不同嗎?)
-------------------------------分隔線------------------------------------
N-1
y(k)= Σ [x(n).e^(-i(πn^2)/N)].[e^(i(π(k-n)^2)/N)] = a(k) * b(k)
n=0 ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ ↑
a(n) b(k-n) convolution
↑_____________________a________________________↑ ↑____b____↑
從數學式子來看這ab兩部分式相同的....
但是我將ab部分分別用matlab程式去寫,發現結果卻不是相同的
------------------------------下面是程式碼--------------------------------
(a部分的程式碼)
clear;
clc;
for n=1:128
x(n)=1024*sin(n*(2*pi)/128);
end
for k=1:128
for n=1:128
a1(n)=(x(n)*exp(-i*(pi*(n-1)^2)/128));
b1(n)=exp(i*(pi*((k-1)-(n-1))^2)/128);
a(k,n)= a1(n)*b1(n) ;
end
end
temp(k)=sum(a(k,:));
(b部分的程式碼)
clear;
clc;
for n=1:128
x(n)=1024*sin(n*(2*pi)/128);
end
for k=1:128
q(k)=x(k)*exp(-i*(pi*(k-1)^2)/128);
w(k)=exp(i*(pi*(k-1)^2)/128);
end
tt=conv(w,q);
%取前面128個
for k=1:128
ans(k)=tt(k);
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.198.217
※ 編輯: arloha 來自: 140.118.107.144 (08/20 10:34)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章