当取N=22时
n=0:21;
x=cos(n*(pi/8)); y=fft(x);
stem(abs(y)); grid on;
- 26 -
五、结果分析及实验体会 结果分析:
有上面3幅图可以看出,当N=10和N=22时,离散傅里叶变换函数值变化趋于平缓,均呈现两边高中间低的趋势,且22点比10点取值点多,更接近真实情况。而当取16点时,图形变化较大,与另外两种情况明显不同,在图形的中间部分出现了较多零值。再观察原函数,可见16为8的倍数,当N取16时,原函数x的取值呈现了较大的对称性,此时旋转因子也呈现了较大的对称性,这样当旋转因子矩阵和原函数向量点乘时,出现了抵消现象,导致了途中的情况。
- 27 -
实验五:系统时域解的快速卷积求法
一、实验题目:系统时域解的快速卷积求法 用快速卷积法计算系统响应y(n)?x(n)*h(n),已知:
要求取不同的L点数,并画出x(n)、x(n)?sin(0.4n)R15(n),h(n)?0.9nR20(n)。
h(n)、y(n)的波形,分析是否有差别及产生差别的原因。
二、实验目的:
(1)加深对课本中快速卷积相关知识的理解 (2)学会用matlab进行时域解的快速卷积求解 (3)能够对比分析快速卷积求解与普通求解方法的区别 三、解题分析:
根据实验四的解题方法,通过对参与卷积的两个序列进行DFT变换,然后求代数积,对乘积再进行IDFT变换便可得到结果。 四、实验程序
用快速卷积法计算系统响应
y(n)?x(n)*h(n),已知:
x(n)?sin(0.4n)R15(n),h(n)?0.9nR20(n)。要求取不同的L点数,并画出
x(n)、h(n)、y(n)波形,分析是否有差别及产生差别的原因。
程序:
n1=0:14;
x=sin(0.4*n1);
- 28 -
n2=0:19;
h=(0.9).^n2;
L=length(x)+length(h)-1;%所取的长度为两个序列长度之和减一 X=fft(x,L); H=fft(h,L); y=ifft(X.*H); figure(1); stem(x); grid on; figure(2); stem(h); grid on; figure(3); stem(y); grid on;
- 29 -
取N=10时
- 30 -