matlab中的X=x*(exp(-j*pi/500)).^(n'*k);是什么意思?

问题描述:

matlab中的X=x*(exp(-j*pi/500)).^(n'*k);是什么意思?
取自:
n=-1:3;x=1:5;
k=0:500;w=(pi/500)*k;
X=x*(exp(-j*pi/500)).^(n'*k);
magX=abs(X);angX=angle(X);
subplot(2,1,1);plot(w/pi,magX);title('幅度响应');grid;
ylabel('幅度');xlabel('以\pi为单位的频率');
subplot(2,1,2);plot(w/pi,angX);title('相位响应');grid;
ylabel('相位/\pi');xlabel('以\pi为单位的频率');
1个回答 分类:综合 2014-09-25

问题解答:

我来补答
X是x序列的离散傅里叶变换.
原本应该这么编:
for k=0:500
for n=-1:3
X(k+1)=X(k+1)+x(n+2)*(exp(-1j*pi/500)).^(n*k);
end
end
但原程序比较牛,直接用矩阵相乘代替了向量求和.
再问: x序列的离散傅里叶变换 本来应该是X(exp(jw)) = ∑x[n]*exp(-j*k*w0*n) .n=(-∞,∞)。但是这里n只取了N个而不是无穷多个对吗?
再答: 请参阅 wiki百科中 离散傅里叶变换,网址我贴不上来,被河_蟹了 该程序做的是离散傅里叶变换 (DFT), 不是连续的
 
 
展开全文阅读
剩余:2000
上一页:这一步看不懂
下一页:这题详细解释