信号处理工程训练课训练一信号与系统函数编程训练目的1﹑学会将信号与系统函数转变成计算机程序。2﹑基本掌握将数学函数转变为程序函数的技巧与规范。3﹑了解理论函数与程序函数的差异。初步认识计算机适用范围。训练介绍1﹑数学函数转化问题把根据数学函数编写的C函数子程序称为程序函数。数学函数与程序不可能完全一致。一是计算机运算都有一个范围,所做运算超出范围便会出错;二是因为计算机不能做除零运算,这会产生一除法错,理论函数无此限制。所以要求在编写程序函数时一定要结合实际应用情形来确定如何编写,不能简单照搬数学函数。三是程序函数不象数学函数那样易于进行代数运算或者具有某种运算性质,例如理论上的冲击函数,则不易编写对应的函数子程序,所以数学函数并不能全由计算机的程序函数完全实现。一般在将一数学函数转变为一计算机上程序函数时,要具体情况具体处理。编写程序函数有一些规范和注意事项:(1)数学函数当中若有除法运算,需仔细函数奇异值的处理,须通过程序中的判断和特殊处理使程序函数返回正确值。(2)数学函数中跳变点的极限值,常取左右极限的均值,程序函数中以右极限作为函数的取值。若特殊需要,须与数学函数完全一致,则仍按数学函数规定取值。(3)所有函数子程序的输入与输出参量尽量规定为double型,建议不用float型,这是出于规范考虑。(4)所有程序函数的输入输出参量声明时写成如下形式:Doublefunction(Typeout1,Typeout2,...Typein1,Typein2,...)Doublefunction(Typeout1,Typeout2,...Typeio1,Typeio2,...Typein1,Typein2,...)即,输出变量占一行,输入输出变量占一行,输入变量占一行。输入变量的第一个参量为主变量。北京工业大学电控学院1信号处理工程训练课(5)尽量减少函数变量个数,例如sin(t)有两个参数,编程只需实现sin(x)。(6)每个函数子程序须有适当文字注释,注释的内容包括索引号,对应的理论函数,编者姓名及日期,函数的功能﹑定义域﹑值域,使用举例等。说明应简洁清楚,以备能长期正确使用。(7)程序函数块内的小块以一空行进行分割,程序函数体之间,以2、3空行行分割。组织一个函数库文件时应将功能,特征相近的函数子程序归在一起。各分类块间应有适当的注释说明。2﹑以下以单位阶跃U(t)、方波和函数h=√a2+b2√[(a−1)2+b2][(a−3)2+b2]三种信号函数为例进行编程示范:训练内容01、斜变函数R(t)=t,t>02、锯齿波:f(t)=t/T,0≤t>ω。训练步骤1﹑依训练内容在一个文件中编写好三个函数子程序,并依要求进行注释,做成一个库文件。2﹑编写一个有main()函数的可执行文件,在此执行文件中调用库文件里的函数子程序进行计算,计算结果由计算机屏幕输出,结合手算验证,多取不同情况的特殊值,保证程序函数正确。问题讨论1﹑举例说明不宜用程序函数表达的理论函数,并总结这些函数的特点。2﹑讨论理论方式、计算机方式在处理实际物理的信号与系统问题时的异同。北京工业大学电控学院2信号处理工程训练课3﹑对规范化程序方法的初步认识。]训练二图形显示与观察训练目的1﹑掌握基本的计算机作图方法。2﹑掌握常用的信号与系统图形观察。3﹑熟悉一些显示器编程的基本概念。训练介绍1、计算机绘图基础对于计算机屏幕,机器本身按物理坐标绘图显示,屏幕左上角的物理坐标是(0,0),右下角的坐标是(横向分辨率-1,纵向分辨率-1)。Windows操作系统是在屏幕上开若干窗口,有客户区的窗口用户可以在客户区作图,窗口客户区的左上角的相对物理坐标是(0,0),右下角的相对物理坐标是(w-1,h-1),w是宽,h是高,用户工程使用的是自己定义的用户坐标,用户坐标到窗口的相对物理坐标有一个转换。如图2-1所示:(图2-1)用户坐标可以是三维坐标,同样是转换到2维屏幕窗口坐标。工程中常用不同的窗口模拟一些仪器,如用示波器﹑扫频仪﹑频谱仪﹑矢量分析仪等等,也可用不同的坐标系统和作图函数工具研究分析工程中的信号和系统。对窗口的作图由不同的图形驱动函数实现。基本的作图函数有SetPixel()、MoveToEx()、Lin...