数电实验一 离散卷积的C语言编程.ppt
实验一 离散卷积的C语言编程实验,DSP实验室,实验性质,综合设计性实验,实验目的,1 了解和认识常用的各种信号; 2 掌握卷积的定义和计算方法; 3 掌握在计算机中生成以及绘制信号序列图的方法。,实验原理,离散时间系统中几种常用信号序列 (1)单位冲激序列,实验原理,(2)单位阶跃序列,实验原理,(3)矩形序列(门序列)RNn,实验原理,(4)指数序列 实指数序列 复指数序列,实验原理,(5)正弦序列,实验原理,离散卷积运算,也称之为卷积和运算,是求解离散时间系统输出响应的一种重要和有效的方法。 定义为实验内容,1、用C语言编程产生以下时间序列信号 1(n)n u(n) 0n31 2(n)an u(n) 0n31, 0a1 3(n) RN(n) 0n31 产生自己欲实现的一个任意序列 (参考数字信号处理实验教程69页序列xanAe-anTsinw0nTun, 0n31 )。,实验内容,2、 用C语言编程实现 y1(n)1(n)3(n) y2(n)2(n)3(n) 并在显示器上观察到1(n)、3(n)和y1(n)、y2n四个相应序列。,实验内容,3、 用C语言编程实现任意离散序列与门序列RN(n)的线性卷积。 设门序列是一个系统的单位采样响应,求系统的输出,其长度在256点以内。,实验内容,4 、要求用菜单操作实现序列输入、显示输出,用数组和序列两种显示形式。,扩展实验,1.在生成信号2(n)an u(n) 0n31, 0a1时,参数a取不同数值,绘制2(n)序列图,观察并分析信号波形。,扩展实验,1 的傅里叶变换为 编程绘制实现幅频特性曲线( )。,扩展实验,2.分析采样序列的特性。 a取采样频率1kHz ,即T1ms 。观察所得采样 的幅频特性 。应当注意,实验中所得频谱是用序列 的傅氏变换公式求得的,所以在频率度量上存在关系 为数字频率, 为模拟频率。 b改变采样频率, 300Hz ,观察 的变化,并做记录(打印曲线);进一步降低采样频率, 200Hz ,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的曲线。,实验结果,a0.5,实验要求,1 实验前,自己编制C语言程序。 2 实验中,自己调试程序,并保存信号波形,分析屏幕绘制的各种信号是否正确,同时准备验收时回答老师提出的各方面相关问题。 3 实验后,撰写实验报告和心得体会。 4 参考数字信号处理实验教程第四章(基础理论实验)。,实验程序,include include include include “msp.h“ void mcmpdftcomplex x,complex y,int n,int isign /* Routinue mcmpdft Directly to Compute the DFT/IDFT of Complex Data xn By DFT definition; in chapter 3. If ISIGN-1 For Forward Trans; ISIGN1 For Inverse Trans. in chapter 3 */ complex t,ts,z; float pi2; int m,k; pi28.*atan1.; t.real0.;t.imagisign*pi2/n; ts.real0.0;,form0;mn;m ymx0; fork1;kn;k ts.imagt.imag*k*m; zcexpts; ym.realxk.real*z.real-xk.imag*z.imag; ym.imagxk.real*z.imagxk.imag*z.real; ifisign1 ym.real/n; ym.imag/n; ,