时域波形的参数测量实验报告s

时间:2024.3.19

时域测试技术综合实验报告书

实验名称        时域波形的参数测量实验                                   

班级   一班           学号  201422070125         姓名   杨梅                  

实验时间:              日                          得分:      

一、   实验目的

1.学习VISUAL DSP++开发流程。

2.掌握波形时域参数(周期、上升时间等)的测量方法。

3.掌握波形幅度参数(幅度、平均值、均方根值等)的测量方法。

4.掌握参数统计的一般实现方法。

二、   实验内容

1.学习Visual DSP++的开发设计流程。

2.编写程序测量波形参数。

3.编写程序对波形参数进行统计运算。

三、   实验步骤

1、计算并显示示波器幅度参数:平均值、有效值。打开Ypara.c源文件,填充缺少的代码。

int GetAverage(short *pBuffer, int Length)

{

       int Sum=0;

      

       int i;

       for (i=0; i<Length;/*input your code*/ i++)

    {

        Sum += *pBuffer;/*input your code*/

       

        pBuffer++;

    }   

   

    return Sum/Length;/*input your code*/

}

float GetRMS(short *pBuffer, int Length, int ZeroValue)

{

       float Sum=0;

      

       int i;

       for (i=0; i<Length; i++)

    {       

              long temp;

              temp =pBuffer[i] - ZeroValue;/*input your code*/

             

              temp *= temp   ;/*input your code*/

             

              Sum += temp;

      

    }   

   

    Sum /= Length;

    return sqrt(Sum)+ZeroValue;

       /*input your code*/

}

2、计算并显示示波器幅度类参数:顶值、底值。打开Ypara.c源文件,填充缺少的代码。

int GetTop(short *pBuffer, int Length)

{

       short midpoint, toppoint, i;

       midpoint=GetAverage(pBuffer,Length);

       toppoint= GetMax();

       i=toppoint;

       GetCount(*pBuffer, Length);

       do

       {

           i--;

           if (tmpbuffer[i]>tmpbuffer[toppoint])

                  toppoint=i;

       }while(i>midpoint);

      

       //修正

       if (tmpbuffer[toppoint]<Length*0.05)

              toppoint= GetMax();

      

       return toppoint;/*input your code*/

       //return 1;

}

int GetBase(short *pBuffer, int Length)

{

       short midpoint, basepoint, i;

      

              midpoint=GetAverage(pBuffer, Length);

              basepoint= GetMin();

              i=basepoint;

             

              GetCount(*pBuffer, Length);

             

              do

              {

                     i++;

                     if (tmpbuffer[i]>tmpbuffer[basepoint])

                            basepoint=i;

              }while(i<midpoint);

             

              //修正

              if (tmpbuffer[basepoint]<Length*0.05)

                     basepoint= GetMin();

                    

              return basepoint;

       /*input your code*/

       //return 1;

}

3、计算并显示示波器时间类参数:上升时间。打开Xpara.c源文件,填充缺少的代码。

int GetRising(short *pBuffer, int Length, int yPer10, int yPer90, int *pxPer10, int *pxPer90)

{

       int Index=0;

      

       while (Index < Length && pBuffer[Index] > yPer10    /*input your code*/ )

              Index++;

             

       while (Index < Length && pBuffer[Index] <=yPer10    /*input your code*/ )

              Index++;

             

       int xPer10=0;

       if (Index < Length)

              xPer10 = Index;

                           

       while (Index < Length && pBuffer[Index] <yPer90    /*input your code*/)

              Index++;

      

       int xPer90=0;

       if (Index < Length)

              xPer90 = Index;

             

       *pxPer90 = xPer90;

       *pxPer10 = xPer10;

       return 1;

}

3、对代码进行测试(打开参数测量功能),并填写如下表格:

4、新建文件Statistic.c和Statistic.h,并将其加入工程中。在Statistic.c文件中对平均值和周期两个参数进行统计运算,并填写如下表格。

(1) 在Statistic.c文件中的参数统计算法:

int GetAverage(short *pBuffer, int Length)

{

       int Sum=0;

      

       int i;

       for (i=0; i<Length;/*input your code*/ i++)

    {

        Sum += *pBuffer;/*input your code*/

       

        pBuffer++;

    }   

   

    return Sum/Length;/*input your code*/

}

int GetPeriod(short *pBuffer, int Length, int yPer10, int yPer90, int *pxFirst, int *pxLast)

{

 

  int FirstR10, FirstR90, FirstMid;

         GetRising(pBuffer, Length, yPer10, yPer90, &FirstR10, &FirstR90);

         FirstMid=(FirstR10 + FirstR90) / 2;

        

         int FirstF10, FirstF90, SecondMid;

         GetFalling(pBuffer, Length, yPer10, yPer90, &FirstF10, &FirstF90);

         SecondMid=(FirstF10 + FirstF90) / 2;

 

         int Third10, Third90, ThirdMid;

         if (FirstMid > SecondMid)

         {

                GetFalling(pBuffer+FirstR90, Length-FirstR90, yPer10, yPer90, &Third10, &Third90);

                *pxFirst= SecondMid;

                ThirdMid=(Third10 + Third90) / 2 + FirstR90;

         }

         else

         {

                GetRising(pBuffer+FirstF10, Length-FirstF10, yPer10, yPer90, &Third10, &Third90);

                *pxFirst= FirstMid;

                ThirdMid=(Third10 + Third90) / 2 + FirstF10;

         }

 

        

 

         *pxLast = ThirdMid;

         return 1;

      /*input your code*/

      *pxFirst= 50;

      *pxLast = 100;

     

      return 1;

}

(2) 实验表格

四、   实验思考题

1、如何提高波形测量的精度?                     

答: 主要有两种方法,其一是减少测频量化误差,即增加测量时间(主门时间)的方法;其二是减小侧周量化误差,即采用多周期测量法,在这里不再赘述。此外,为了提高测量的准确度,比较常用的方法还有游标法、内插法、平均测量技术、多周期同步测量法、相检宽带测频技术以及量化时沿法。      

2、完善波形周期、幅度值的测量算法。

答:int GetPeriod(short *pBuffer, int Length, int yPer10, int yPer90, int *pxFirst, int *pxLast)

{

 

  int FirstR10, FirstR90, FirstMid;

         GetRising(pBuffer, Length, yPer10, yPer90, &FirstR10, &FirstR90);

         FirstMid=(FirstR10 + FirstR90) / 2;

        

         int FirstF10, FirstF90, SecondMid;

         GetFalling(pBuffer, Length, yPer10, yPer90, &FirstF10, &FirstF90);

         SecondMid=(FirstF10 + FirstF90) / 2;

 

         int Third10, Third90, ThirdMid;

         if (FirstMid > SecondMid)

         {

                GetFalling(pBuffer+FirstR90, Length-FirstR90, yPer10, yPer90, &Third10, &Third90);

                *pxFirst= SecondMid;

                ThirdMid=(Third10 + Third90) / 2 + FirstR90;

         }

         else

         {

                GetRising(pBuffer+FirstF10, Length-FirstF10, yPer10, yPer90, &Third10, &Third90);

                *pxFirst= FirstMid;

                ThirdMid=(Third10 + Third90) / 2 + FirstF10;

         }

 

        

 

         *pxLast = ThirdMid;

         return 1;

      /*input your code*/

      *pxFirst= 50;

      *pxLast = 100;

     

      return 1;

}

int GetAmplitude(short *pBuffer, int Length)

{

      return GetTop(pBuffer, Length)-GetBase(pBuffer, Length);

}

五、   实验结果分析与总结

(1)系统的噪声水平、和被测信号的信噪比对波形参数测量的精度有直接的影响,通过参数统计功能可以减小噪声对参数测量的影响。

(2)脉冲波形的顶值、低值非常重要,幅度、上升时间、脉宽等其他波形参数的都依赖于顶值和低值。

(3)对正弦波、三角波而言,其顶值、低值就是最大和最小值。

【注意:每次完成实验后,按上面的格式手写并上交实验报告。】


第二篇:4螺纹参数测量实验报告


实验三、用万能工具显微镜测量螺纹主要参数

一、实验目的

1、了解万能工具显微镜的测量原理及结构特点。

2、掌握用万能工具显微镜测量外螺纹中径,螺距和牙型半角的方法。

二、实验设备:万能工具显微镜

测角目镜,顶尖,曲轴

三、测量原理

影像法测量外螺纹中径,牙型半角和螺距。

 四、实验步骤

1、利用调焦杆进行调焦;

2、擦净仪器被测螺纹,将工件小心地安装在两顶尖之间,拧紧顶尖的固紧螺钉

4、根据被测螺纹的尺寸,调节光澜。

5、调节立柱倾斜一个个螺旋升角角度

6、测量螺纹主要参数:

(1)测量中径     =             =

取两者的平均值作为实际中径:

                  =

 

               图 1                               图 2

(2) 测量牙型半角

(Ⅰ)=       (Ⅱ)=          (Ⅲ) =       (Ⅳ)=

按下述方式处理:

=           =

(3) 测量螺距

 =                =

取它们的平均值作为螺纹n个螺距的实际尺寸:

图 3

n个螺距的累积偏差为:

  思  考  题

   1. 用影象法测量螺纹时,立柱为什么要倾斜一个螺旋角ψ?

   2. 用工具显微镜测量外螺纹的主要参数时,为什么测量结果要取平均值?

更多相关推荐:
薄透镜参数测量的报告

薄透镜参数测量薄透镜参数测量一实验任务透镜时组成各种光学仪器的基本光学元件掌握透镜基本参数的测量对于了解光学仪器的构造和性能学会光路的分析和调整技术是很有必要的本实验设计出各种光路用来测量透镜的各种基本技术参数...

透镜焦距的测量实验报告

透镜焦距的测量201清华大学工程物理系北京摘要利用焦距仪和已知焦距的长焦透镜测量了待测凸透镜和凹透镜焦距分别用共轭法和焦距仪法测量了同一凸透镜焦距分别用自准法和焦距仪法测量了同一凹透镜焦距实验测得凸透镜焦距为1...

透镜焦距的测定实验报告

电子科技大学实验报告学生姓名学号指导教师实验地点科技实验大楼104室实验时间一实验室名称透镜焦距的测定二实验项目名称透镜焦距的测定三实验学时3学时四实验原理1测凸透镜的焦距1自准直法如图1所示用屏上1字矢孔屏作...

薄透镜焦距的测量实验报告

一实验综述1实验目的及要求1了解对简单光学系统进行共轴调节2学会用自准直法测量薄凸透镜的焦距3学会用位移法测量薄凸透镜的焦距4学会用物距像距法测量薄凸透镜的焦距5学会用物距像距法测凹透镜的焦距2实验仪器设备或软...

薄透镜参数测量的报告_(2)

薄透镜参数测量学院土木建筑工程学院班级土木1110班姓名赵显东学号112320xx20xx年11月5日薄透镜参数测量一实验任务透镜时组成各种光学仪器的基本光学元件掌握透镜基本参数的测量对于了解光学仪器的构造和性...

凸透镜焦距的测量实验报告

实验七凸透镜焦距的测量实习一自准法测量透镜焦距一仪器条件记录导轨标尺005cm因是一般性米尺取最小分度值的12分度值01cm最小分度值读数误差005cm因读数标线与米尺未紧贴故视差较大且照明条件较差仅能分辨到最...

物理实验报告8_薄透镜焦距的测量

实验名称薄透镜焦距的测量实验目的a学会简单光学系统的共轴调节b掌握几种测量薄透镜焦距的方法实验仪器光具座及配件凸透镜凹透镜平面反射镜实验原理和方法薄透镜是指其厚度比两球面的曲率半径小得多的透镜透镜分为两大类一类...

《凸透镜焦距的测定》实验指导和报告要求

凸透镜焦距的测定实验指导和报告要求一实验目的1了解透镜成像的原理及成像规律2学会光学系统共轴调节了解视差原理的实际应用3掌握薄透镜焦距的测量方法会用左右逼近法确定像最清晰的位置测量凸透镜4能对实验数据进行不确定...

薄透镜焦距的测量实验报告模板

深圳大学实验报告实验名称薄透镜焦距的测量专业组号指导教师报告人实验地点实验时间年月日星期实验报告提交时间123456

薄透镜焦距的测量实验报告模板

深圳大学实验报告实验名称薄透镜焦距的测量专业组号指导教师报告人实验地点实验时间年月日星期实验报告提交时间123456

实验1 薄透镜焦距的测定

光学实验实验1薄透镜焦距的测定注意白光源不能长时间发光请同学们在记录数据的时候关闭白光源第一部分用实物成实像法测薄凸透镜焦距实验目的1掌握简单光路的分析和调整方法2掌握实物成实像测凸透镜焦距的原理及方法实验仪器...

大学物理实验-薄透镜焦距的测定(原始数据处理与分析)

2共轭法测焦距实验数据记录思考题1自准法测焦距985945955975980955697cm2共轭法测焦距2232252252362242316227cmD2d2502227299cm4D4503虚物成像法测焦...

透镜参数的测量实验报告(13篇)