数字信号 实验四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、 实验目的和要求:
(1)进一步掌握线性卷积的计算机编程方法,利用卷积的方法观察系统响应的时域特性。 (2)掌握循环卷积的计算机编程方法,并比较与线性卷积的差别,验证二者之间的关系。利用循环卷积的方法观察、分析系统响应的时域特性。
二、 实验内容与原理:
1.实验原理:
(1)线性卷积:
线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为:∑∞
-∞
=-=*=m m n h m x n h n x n y )()()()()(;上式称为线性卷积。
(2)循环卷积
设两个有限长序列)(1n x 和)(2n x ,长度分别为1N 和2N ,)()(11k X n x DFT
N −−
−→←点 )()(22k X n x DFT
N −−−→←点。如果)()()(21k X k X k X ⋅=,则
∑---==1
21)())(()()]([)(N m N N n R m n x m x k X IDFT n x
上式称为)(1n x 和)(2n x 的循环卷积。 (3)两个有限长序列的线性卷积
序列)(1n x 和)(2n x ,长度分别为L 点和P 点,)(3n x 为这两个序列的线性卷积,则
)(3n x 为∑∞
-∞
=-=
*=m m n x
m x n x n x n x )()()()()(2
1
213且线性卷积)(3n x 的非零值长度为
1-+P L 点。
(4)循环卷积与线性卷积的关系
序列)(1n x 为L 点长,序列)(2n x 为P 点长,若序列)(1n x 和)(2n x 进行N 点的循环卷积)(n x c ,其结果是否等于该两序列的线性卷积)(n x l ,完全取决于循环卷积的长度。
由教材相关推导,得∑∞
-∞
=+=
q N
l
c n R
qN n x n x )()()(,也就是说,循环卷积是线性卷积
的周期延拓序列再取主值区间。
当1-+≥P L N 时循环卷积等于线性卷积,即)()(n x n x l c =;
当1-+
2.实验内容:
已知长为4的两个有限长序列)()1()(4n R n n x +=, )()4()(4n R n n h -= (1)利用MATLAB 的conv ()函数求线性卷积)()()(n h n x n y *=,并绘出图形。 (2)利用MATLAB 构建的循环卷积函数计算下述4种情况下)()(n h n x 和循环卷积,并绘出图形。 )(n x ⑤)(n h )(n x ⑥)(n h )(n x ⑦)(n h )(n x ⑧)(n h
(3)调用fft()函数利用循环卷积定理计算下述4种情况下)()(n h n x 和循环卷积,并绘出图形。 )(n x ⑤)(n h )(n x ⑥)(n h )(n x ⑦)(n h )(n x ⑧)(n h
(4)比较线性卷积和循环卷积的结果,总结结论。
三、 实验软硬件环境:
计算机一台、MATLAB2014a 仿真软件
四、 实验编程及调试:
(1).
x=[1,2,3,4];nx=0:3; h=[4,3,2,1];nh=0:3; y=conv(x,h);ny=0:6; figure;stem(ny,y); title('线性卷积'); ylabel('Y'); xlabel('n')
(2).
先构建circonv.m 文件
function y=circonv(x1,x2) xn2=[x2(1),fliplr(x2)]; xn2(length(xn2))=[]; C=xn2; R=x2;
M=toeplitz(C,R); y=x1*(M); ①clear;
x=[1,2,3,4];nx=0:3; h=[4,3,2,1];nh=0:3; x5=[x,0];nx5=0:4; h5=[h,0];nh5=0:4;
yn=circonv(x5,h5);nyn=0:4; figure;stem(nyn,yn); title('五点循环卷积'); ylabel('yn'); xlabel('n');
②clear;
x=[1,2,3,4];nx=0:3; h=[4,3,2,1];nh=0:3; x6=[x,0,0];nx6=0:5; h6=[h,0,0];nh6=0:5;
yc6=circonv(x6,h6);nyc6=0:5; figure;stem(nyc6,yc6);
title('六点循环卷积'); xlabel('n');
ylabel('yc6');
③x=[1,2,3,4];nx=0:3;
h=[4,3,2,1];nh=0:3;
x7=[x,0,0,0];nx7=0:6;
h7=[h,0,0,0];nh7=0:6;
yc7=circonv(x7,h7);nyc7=0:6; figure;stem(nyc7,yc7);
title('七点循环卷积'); xlabel('n');
ylabel('yc7');
④x=[1,2,3,4];nx=0:3;
h=[4,3,2,1];nh=0:3;
x8=[x,0,0,0,0];nx8=0:7;
h8=[h,0,0,0,0];nh8=0:7;
yc8=circonv(x8,h8);nyc8=0:7; figure;stem(nyc8,yc8);
title('八点循环卷积'); xlabel('n');
ylabel('yc8');
(3).
①x=[1,2,3,4,0];nx=0:4;
h=[4,3,2,1,0];nh=0:4;
X=fft(x,5);
H=fft(h,5);
Y=X.*H;
yc5=ifft(Y,5);nyc5=0:4; figure;stem(nyc5,yc5);
title('快速五点循环卷积'); xlabel('yc5');
ylabel('n');
②x=[1,2,3,4,0,0];nx=0:5;
h=[4,3,2,1,0,0];nh=0:5;
X=fft(x,6);
H=fft(h,6);
Y=X.*H;
yc6=ifft(Y,6);nyc6=0:5; figure;stem(nyc6,yc6);
title('快速六点循环卷积'); ylabel('yc6');
xlabel('n');