小学生四则运算练习器课程设计报告专题

时间:2019-05-13 01:11:21下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《小学生四则运算练习器课程设计报告专题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《小学生四则运算练习器课程设计报告专题》。

第一篇:小学生四则运算练习器课程设计报告专题

编号:031 河北工业大学计算机软件技术基础(VC)2014年课程设计报告

学院 机械工程 班级 力学132 姓名 李博

学号 130460 成绩____

一、题目:

小学生四则运算练习器(031)

二、设计思路

1、总体设计 1)分析程序的功能

练习者首先选择所要练习的运算类型(加减乘除),再选运算数据的范围。系统自动出题,练习者解答,答错两次后系统给出正确答案并给出下道题。每次出十题。2)系统总体结构:

每一次练习的过程可以由这几部分完成:练习者选择运算种类,练习者选择运算数范围,系统连续出题,系统判断正误并给出提示,系统统计答题分数,由玩家选择是否继续游戏。总共六个步骤:

对于每一次练习,关注的有三个:运算类型的选择,运算数范围的选择,结 果正误的判断。

程序的关键部分有三个:

1.)switch语句,实现对运算类型的选择,表达式满足条件后break跳出 2.)同理,继续对运算数范围的选择。

3.)选择好之后系统根据练习者的选择,随机出十道题。出题用到for循环语句和rand()函数产生随机数。4.)定义3个函数,加 减 乘

add();

sub();

mul();

第1页/共8 页

编号:031

对函数多次调用,来实现10道题的运算。

5.)每次答题,系统记录答题情况,给予相应的分值,并以此累加,最终得出总成绩。

2、各功能模块的设计:说明各功能模块的实现方法。

1)选择运算类型,及运算数范围。cout<<“n请选择运算类型”;cout<<“nn”;cout <<“tt0 结 束n”<<“tt1 加法运算n”<<“tt2 减法运算n” <<“tt3 乘法运算n”;cout <<“t-----------------------------n”;cout <<“tt请选择(0-4):”;ch=getch();if(ch=='0')break;if(ch>'3')continue;cout<<“nn”;cout <<“n请选择运算数范围”;cout<<“nn”;cout<<“ntt1 0---9n”

<<“tt2 0---99n”<<“tt3 0---999n” <<“tt4 0---9999n”;cout <<“t-----------------------------n”;cin >>k;switch(k){ case 1: imin=0,imax=9;break;case 2: imin=0,imax=99;break;case 3: imin=0,imax=999;break;case 4: imin=0,imax=9999;break;} switch(ch)

第2页/共8 页

编号:031 {

case '1': //加法运算 s=add(imin,imax,N);break;case '2': //减法运算 s=sub(imin,imax,N);break;case '3': //乘法运算 s=mul(imin,imax,N);break;}// 2.)根据选择范围进行运算。

加法运算

while(ch!='0');} Double add(int min,int max,int n)

//调用函数 { int a,b,c,ans,ok=0;

//定义变量a b c ans ok

for(int i=0;i

//for()循环

{

a=rand()%(max-min+1)+min;

//

b=rand()%(max-min+1)+min;//计算标准答案,显示题目,被测者回答

c=a+b;cout <<“第 ” <>ans;

//被测者输入结果

第3页/共8 页

编号:031

减法运算

double sub(int min,int max,int n)

//函数调用 {

int a,b,c,ans,ok=0;for(int i=0;i

a=rand()%(max-min+1)+min;b=rand()%(max-min+1)+min;

//计算标准答案,显示题目,被测者回答

if(a

//if语句保证被减数大于减数 c=a, a=b, b=c;

c=a-b;

cout <<“第 ” <>ans;

乘法运算

double mul(int min,int max,int n){ int a,b,c,ans,ok=0;

for(int i=0;i

{

a=rand()%(max-min+1)+min;

第4页/共8 页

编号:031

b=rand()%(max-min+1)+min;//计算标准答案,显示题目,被测者回答

c=a*b;

cout <<“第 ” <>ans;截图

第5页/共8 页

编号:031

7.)创新设计部分

创新1.可实现用户选择好运算种类和运算数范围后,测试题目数量由用户输入。for(int i=0;i

第6页/共8 页

编号:031 从而用户实现测试题目数量的随意更改。

创新2.当输入答案错误时,允许最多三次输入,三次错误再给出正确答案

3、设计中的主要困难及解决方案

困难1

设计中用到的rand函数在最初使用的时候总是取得相同的随机数序列,经过查阅资料得知,在使用rand函数之前必须先用srand函数设置随机数种子,最后在程序中利用time函数返回时钟周期数作为种子的编号。

困难2产生的随机数满足所选定的运算数范围,由于随机数是随机产生的,经过参考资料知道利用所需范围的边界可对随机数的范围进行限定,如下:

a=rand()%(max-min+1)+min;b=rand()%(max-min+1)+min;max的随机数!为选定范围的上界,min

为选定范围的下界,利用产生的随机数对区间长度取余,可得到值小于区间长度的随机数,再加上min即可得到区间内

4、你所设计的程序最终完成的功能

1)能够由被测者选择测试的类型(加 减 乘)和运算数范围,范围越大难度越大。系统会自动判断对错,并给出提示。

2)、最终给出测试者的分数。

四、对该设计题目有何更完善的方案

1)用户选择好运算种类和运算数范围后,测试题目数量由用户输入。

2)当输入答案错误时,允许最多三次输入,三次错误再给出正确答案(给出设定成绩方案并实现)。

3)实现除法运算。因为除法运算要求能整除并且两个运算数不能相近,所以两个运算数的产生与加减乘不同,给出解决方法并实现。

第7页/共8 页

编号:031

五、收获及心得体会

通过设计小学生四则运算练习器,我复习了vc的有关知识,了解了vc在实际生活中的应用,认识了学好vc的重要性。

日期: 2014年6月20日

第8页/共8 页

第二篇:数据结构课程设计(矩阵的运算)

数 据 结 构

课程设计报告

题 目: 专 业: 班 级: 学 号: 姓 名: 指导老师: 时 间:

一、课程设计题目及所涉及知识点

设计题目是“矩阵的运算”,所涉及的知识点主要是:

1、数据结构中的对于结构体的定义,用typedef struct来实现,根据所设计的问题在结构体里面定义数据类型及其变量,用define定义数组的大小,然后利用typedef 来实现对于变量的未知类型确定正确的类型。

2、利用数组的形式来储存数据,在实现不同操作过程中,有的用一维结构体数组(三元组顺序表)来存储,有的用二维数组来储存。

3、转置的过程中利用的是快速转置的方法,附设了num和cpot两个辅助变量。

4、矩阵的加法、减法、乘法、逆运算的基本算法方式。

5、通过调用每个函数,来实现每个算法的功能。

二、课程设计思路及算法描述

设计思路:

1、首先是对于转置的考虑,要运用快速转置的方法实现,必须用三元组顺序表来储存数据,所以在第一个结构体中存在int类型的行数(mu)列数(nu)以及非零元素的个数(tu);然后第二个结构体中分别有非零元素的行下标(i)、列下标(j)和元素数值(e),最后在第一个结构体中实现对第二个结构体成为数组结构体类型。

2、对于其余加法、减法、乘法和逆运算则是运用另一个结构体来实现,里面只有矩阵的行数、列数和一个二维数组(用float来定义类型)。

3、在main函数里面,来实现对于数据的输入操作,利用if语句进行选择来执行操作,利用do……while语句来实现功能的循环操作。

4、分五个函数调用分别来实现转置、加法、乘法、和逆运算,每个里面都有最终输出结果的方式。

算法1:矩阵的转置

输入:mu中存放矩阵的行数,tu存放矩阵的列数,i接收行下标的数值,j接收列下标的数值,e来存储数据。输出:转置后的新矩阵。

输入两行两列数据,在第二行第一列中有个数据为12,其余都为0,则输出的结果为第一行第二列数据为12,其余为0。

算法2:矩阵的加法运算 输入:i中存放矩阵的行数,j中存放矩阵的列数,二维数组b中存放每个数据。

输出:矩阵加完后的另一个新矩阵。

输入两个两行三列的矩阵,在第一个矩阵里面第一行第一列有个数据20,其余为0,在第二个矩阵里面第一行第二列中有个数据30,其余为0,则输出的结果为一个两行三列的矩阵,其中第一行第一列数据为20,第一行第二列数据为30,其余为0。

算法3:矩阵的减法运算

输入:i中存放矩阵的行数,j中存放矩阵的列数,二维数组b中存放每个数据。

输出:矩阵相减后的另一个新矩阵。

输入两个两行三列的矩阵,在第一个矩阵里面第一行第一列有个数据20,其余为0,在第二个矩阵里面第一行第一列中有个数据30,其余为0,则输出的结果为一个两行三列的矩阵,其中第一行第一列数据为-10,其余为0。

算法4:矩阵的乘法运算

输入:i中存放矩阵的行数,j中存放矩阵的列数,二维数组b中存放每个数据。

输出:矩阵加完后的另一个新矩阵。

输入两行两列的矩阵,第一个矩阵里面第一行第一列有个数据2第二列有个数据3,其余为0,在第二个矩阵里面第一行第一列有个数据2第二列中有个数据3,其余为0,则输出的结果为一个两行两列的矩阵,其中第一行第一列数据为4,第二列为6,第一行第二列数据为30,其余为0。

算法五:矩阵的逆运算

输入:i中存放矩阵的行数,j中存放矩阵的列数,二维数组b中存放每个数据。

输出:矩阵进行逆运算完后的另一个新矩阵。

输入三行三列的矩阵,第一个矩阵里面第一行第一列有个数据3个数据分别为1,2,3;第二行的数据分别为2,2,1;第三行的暑假分别为3,4,3;则输出的结果为三行三列矩阵,其中第一行的数据为1,3,-2;第二行的数据分别为-1.5,-3,2.5;

第三行的数据分别为1,1,-1。

三、课程设计中遇到的难点及解决办法

1、在转置的过程中,要求把转置后的矩阵输出出来,因为用的是三元组顺序表的存储形式,所以不知道怎么去实现,然后通过进一步思考,运用先把一个矩阵存入零元素,然后在对其进行更改,最后完成了此项的工作。

2、就是对于矩阵的乘法运算和逆运算,掌握的不够熟练,先是通过书籍对于矩阵的乘 法和逆运算得到更深的了解,然后通过一步步写程序最后实现了矩阵的乘法运算和逆运算。

四、总结

通过此次课程设计,让我对于编程有了更深的认识,老师的精心指导让我学会到了很多,不仅仅是代码,最主要的让我的思维开阔了很多,在这个过程中,通过不断的尝试,不断的修改,最终克服了困难,完成了自己的任务,心里有种无比的喜悦,但同时又感觉到了自己的知识面的狭隘,还有好多知识的海洋还没有畅游,等待自己将是一回更大的考验。

对于现在的自己,对学习程序还是有很大的兴趣,它让我体验到了很多的快乐,我要进步跟进现在的课程,努力去发展自己,按照老师说的最主要的是具有了编程的思想,则具有了编程的能力,我想我可以成功完成自己的目标。

五、附录—主要源程序代码及运行结果

1、主要源程序代码: # include # define max 100 # define maxsize 100 typedef float elemtype;typedef struct { float b[max][max];int i;//矩阵的行数 int j;// 矩阵的列数 } tsmatrix;typedef struct { int i,j;//该非零元的行下标和列下标

elemtype e;}triple;typedef struct { triple data[maxsize+1];//非零元三元组,data[0]未用 int mu,nu,tu;//矩阵的行数、列数和非零元个数 }sqlist;void zhuanzhi(sqlist s1,tsmatrix &l2)//矩阵的转置

{ sqlist s2;int col,t9,p,q,a1,b1;int num[100],copt[100];s2.mu=s1.mu;s2.nu=s1.nu;s2.tu=s1.tu;if(s2.tu>0){ for(col=1;col<=s1.nu;++col)num[col]=0;for(t9=1;t9<=s1.tu;++t9)

++num[s1.data[t9].j];//求s1中每一列含非零元个数

copt[1]=1;//求第col列中第一个非零元在s2.data中序号

for(col=2;col<=s1.nu;++col)copt[col]=copt[col-1]+num[col-1];for(p=1;p<=s1.tu;++p)

{ col=s1.data[p].j;

q=copt[col];

s2.data[q].i=s1.data[q].j;s2.data[q].j=s1.data[q].i;s2.data[q].e=s1.data[q].e;++copt[col];

l2.b[s2.data[q].i][s2.data[q].j]=s2.data[q].e;} printf(“转置后的数据是:n”);printf(“**************************************n”);for(a1=1;a1<=s1.nu;a1++){ for(b1=1;b1<=s1.mu;b1++){printf(“%10.3f”,l2.b[a1][b1]);

printf(“t”);} printf(“n”);} printf(“************************************”);printf(“n”);} } void jiafa(tsmatrix l4, tsmatrix l5)//矩阵的加法 {tsmatrix l6;for(int t=0;t

for(j=0;j<(2*s.i);j++)

{ if(j

else if(j==s.i+i)s1.b[i][j]=1.0;

else s1.b[i][j]=0.0;

}

for(i=0;i

{ for(k=0;k

{if(k!=i)

{ t=s1.b[k][i]/s1.b[i][i];

for(j=0;j<(2*s.i);j++)

{ x=s1.b[i][j]*t;

s1.b[k][j]=s1.b[k][j]-x;

}

}

}} for(i=0;i

s1.b[i][j]=s1.b[i][j]/t;} float y=1.0;for(i=0;i

printf(“对不起,您输入的矩阵没有逆矩阵”);

else

{ for(i=0;i

for(j=0;j

{ for(j=0;j

printf(“%10.3f”,s.b[i][j]);

printf(“n”);}}} void main(){ tsmatrix l,l1,l3;sqlist s;int m,n,m1,n1,n4,n5,t,t1,t2,t3,t4,t5,t6,t7,t8;do{ printf(“请输入你要进行的操作:n”);

printf(“******************************n”);

printf(“矩阵转置运算请按1n矩阵的加法运算请按2n矩阵的乘法运算请按3n矩阵的减法运算请按4n矩阵的逆运算请按5n结束请按0:n”);printf(“******************************n”);scanf(“%d”,&m1);if(m1==1){ printf(“您选择进行的操作是矩阵的转置运算nn”);

printf(“请输入你要转置矩阵的行数、列数和非零元的个数n”);scanf(“%d”,&t1);

scanf(“%d”,&t2);scanf(“%d”,&t3);s.mu=t1;s.nu=t2;s.tu=t3;printf(“请输入你要转置矩阵非零元的行下标、列下标(从[1][1]开始由左至右由上到下)及其数据(按行逐个输入)n”);for(t4=1;t4<=s.tu;t4++){scanf(“%d”,&t5);scanf(“%d”,&t6);

s.data[t4].i=t5;s.data[t4].j=t6;

scanf(“%f”,&s.data[t4].e);} for(t7=1;t7<=s.nu;t7++){ for(t8=1;t8<=s.mu;t8++)l1.b[t7][t8]=0.0;} zhuanzhi(s,l1);} if(m1==2){ printf(“您选择进行的操作是矩阵的加法运算nn”);printf(“请输入矩阵的行数和列数:n”);scanf(“%d”,&n);scanf(“%d”,&m);l.i=n;l.j=m;l3.i=n;l3.j=m;printf(“******************************n”);printf(“请输入第一个%d行%d列的矩阵n”,l.i,l.j);{ for(t=0;t

if(m1==5){ printf(“您选择进行的操作是矩阵的逆运算nn”);printf(“请输入矩阵的维数(即行和列相等的矩阵):n”);scanf(“%d”,&n);l.i=n;l.j=n;printf(“******************************n”);printf(“请输入%d行%d列的矩阵n”,l.i,l.j);{ for(t=0;t

2、运行结果(如下图):

(1)、执行的首界面:

(2)、矩阵的转置运算:

(3)、矩阵的加法运算:

(4)、矩阵的减法运算:

(5)、矩阵的乘法

(6)、矩阵的逆运算:

(7)、矩阵可以循环运算:

六、指导老师评语及成绩

第三篇:课程设计报告分为四部分

课程设计报告分为四部分,具体的内容与要求如下:

(一)系统规划

----项目开发简介:包括项目背景,如发展历史、业务范围、经营现状等。以及可行性分析、企业发展对信息技术应用的需求情况。

(二)系统分析

----

1、旧系统调查与分析:内容包括: 组织结构调查与分析; 管理业务流程调查与分析; 功能体系调查与分析; 数据与数据流程调查与分析;薄弱环节调查等。

----

2、、新系统目标设计:提出你所要设计的信息系统的思路,介绍其所要实现的目标,即通过它来解决公司存在的什么经营管理或业务问题。

----

3、新系统业务流程设计:新系统的业务流程是业务流程分析和优化重组后的结果,包括以下内容:原系统的业务流程的不足及其优化过程;新系统的业务流程;新系统业务流程中哪些由计算机系统来完成及哪些由用户来完成。----

4、新系统数据流程设计:新系统的数据流程是数据流程分析的结果,包括下列内容:原数据流程的不合理之处及优化过程;新系统的数据流程;新系统的数据流程中哪些由计算机系统来完成及哪些由用户来实现。----

(三)系统设计

----

1、新系统数据库设计:选择适当的DBMS产品,将系统分析环节所得到的数据逻辑结构转换成物理数据结构。包括数据库结构、关系描述、数据完整性、存储过程等。

----

2、新系统代码设计:为了便于计算机数据处理,要对处理对象进行编码,如物资资料、产品、部门、职工等编码。用数码或外文字母等字符代替汉字拼音或其他形式表示的名称,可以缩短数据项目的长度,并可使之标准化、系列化,从而减少存储空间的占用,便于对数据的识别和处理。

----

3、输入输出界面设计:做输入设计时要遵循“使用方便,操作简单,便于录入,数据准确”的原则。有效地利用已有的各种输出设备,选择合适的输出方式。包括输入输出的界面风格设计等。

----

4、系统安全性和保密性设计:安全性设计是指采取一系列的保护措施,以防止已生成的企业经营信息被泄露和破坏。安全保密设计一是力求信息不泄露;二是防止信息不被破坏。

---

(四)系统实施报告

该总结包括:

----

1、系统设计说明书。包括系统开发平台、数据库产品等

----

2、系统使用说明书。

----

3、系统开发总结与心得体会。

第四篇:课程设计个人总结四

课程设计

题目:课程设计个人总结 学生姓名:

学院:信息工程学院 系别:计算机系

专业:软件工程

班级:

指导教师:

2011年7月21日

课程设计个人总结

通过两周的课程设计,给我留下感受的颇多。在这次课程设计中,我负责的是需求调研、需求规格说明书、界面设计和详细设计说明书。

作为一个小组的组长,更是让我倍感压力。

我们组选择的课程设计题目是ATM自动取款机系统。在现有系统的基础之上模拟这个系统,最终能实现一些基本的功能。例如:取款、存款、转账、修改密码、查询余额和打印凭条等,其他一些扩展的功能我们没有实现。

我负责需求调研,我深深的知道调研是软件开发过程中的第一步,也是最重要的一步。它决定着我们开发出的系统最终能不能达到用户的需求,这是最重要的。一个系统如果不能达到用户需求,开发出来也没有用,也就失去了他的价值。

我在设计详细设计说明书的时候,遇到了很多困难,因为对一些理论的专业术语不理解,不知道写些什么内容。当时参考了很多文档和书籍,在网上也查阅了很多的资料。后来通过和同学交流,在老师的指导下,我终于有了大体的思路。在详细设计说明书中涉及的内容非常的多,它是概要设计说明书的进一步细化。该文档涉及的知识也特别的细。例如:设计算法的时候需要设计活动图,在逻辑设计的时候就需要设计时序图,在涉及到接口设计的时候就需要设计类图。

通过这次课程设计,使我更加扎实的掌握了有关系统分析与设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,同时也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自分析与设计,使我掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。在课程设计中我遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后学习实践过程中,我一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,让我学到了很多专业知识以及专业技能,同时又是一门讲理课,一门辩思课,让我明白了许多道理,让我领会了很多思想,给了我莫大的空间。同时,课程设计使我对抽象的理论有了具体的认识。通过这次课程设计使我对 UML建模有了更深入的了解。

我认为,在这两周的课程设计过程中,不仅培养了我独立思考、动手操作的能力,在其它能力上也都有了提高。比如沟通能力,协调组员编写文档,合理给组员分配任务等。重要的是,在课设上,我学会了很多学习的方法。而这是日后

最实用的。这两周的课程设计真的是让我受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。

回顾两周的课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是多么的重要,只有理论知识是远远不够的,正所谓“书上得来终觉浅,要知此事须躬行”。只有把所学的理论知识与实践结合起来,从理论中得出结论,才真正是自己的知识,从而提高自己的实际动手能力和独立思考的能力。在课程设计过程中遇到的问题,可以说得是困难重重,但可喜的是最终都得到了解决。

课程设计的过程中,更需要的是团队合作精神,需要大家共同的努力。这次课程设计,我们小组配合的相当默契。果然团结就是力量,在大家共同的努力下,我们顺利的完成了课程设计。

这两周的课程设计,使我这半年的学习生活变得很充实,同时是对这半学年学习专业理论知识的应用和检验。学以致用,才是学习的真正目的,学而不用,则不如不学。两周的课程设计很快就过去了,在这段时间里我学到了很多的理论知识和专业技能,使我的个人能力也有所提高。更使我对系统的开发和设计有了系统的理解,明白了每个文档该怎么书写。也使我深深的体会到,对于大型软件系统的开发,不是一个两个人就能做到的,需要大家的团结协作,这样才能提高工作效率。设计系统的时候特别要注意每一个细节,保证系统的安全性,准确性和稳定性,这是对系统的最基本的要求。好的产品才会得到用户的认可和肯定,这样才会有市场,这也正是我们开发系统的初衷。

这次课程设计让我明白了思路即出路,有什么不懂不明白的地方要及时和同学交流讨论或向老师请教或上网查阅资料,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。理论源于实践,实践出真知!让我们共同努力,为自己的明天加油喝彩。以上是我做完课程设计后的所思所悟!更是我的最深感触和最大收获!

第五篇:高频课程设计报告

一 设计课题名称

单边带调制解调电路的设计

二 课程设计目的、要求与技术指标

2.1 课程设计目的

(1)巩固所学的相关理论知识;(2)掌握电子系统的一般设计方法;

(3)会运用multisim工具对所作出的理论设计进行模拟仿真测试,进一步完善理论设计;(4)通过查阅手册和文献资料,熟悉常用电子器件的类型和特性,并掌握合理选用元器件的原则;

(5)掌握模拟电路的安装测量与调试的基本技能,熟悉电子仪器的正确使用方法,能力分析实验中出现的正常或不正常现象(或数据)独立解决调试中所发生的问题;

2.2 课程设计要求

(1)根据技术指标要求及实验室条件设计出电路图,分析工作原理,计算元件参数;(2)安装调试所设计的电路,达到设计要求;(3)记录实验结果。

2.3 技术指标

(1)输入参考信号频率:5KHz;

(2)输入参考信号电压:60mV左右,调幅系数0.5;(3)载波频率:100KHz;(4)载波电压:60mV。

三 系统知识介绍

单边带调制技术是模拟调制中的重要技术,相对于幅度调制(AM)、双边带调制(DSB)、残留边带调制(VSB)而言,传输带宽仅为调制信号带宽,有效节约了带宽资源,且节约载波发射功率。本课程设计主要介绍单边带调制解调电路的设计。学习和掌握电路设计的方法和仿真软件,并综合运用所学知识完成常规调幅的设计。本设计的技术指标是采用乘法器来实现DSB的调制,然后经过带通滤波器滤除一个边带,得到单边带调幅波,解调时采用同步检波法实现。输入参考信号频率5KHz,电压60mV左右,调幅系数0.5,载波频率为100KHz,载波电压为60mV。

四 电路方案与系统、参数设计

4.1.单边带调制解调电路的总体方案

4.1.1单边带调制方案

所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。这里高频振荡波就是携带信号的运载工具,也叫载波。振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM)。为了提高传输的效率,还有载波受到抑制的双边带调幅波(DSB)和单边带调幅波(SSB)。在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。

由于DSB信号的上、下两个边带是完全对称的,皆携带了调制信号的全部信息,因此,从信息传输的角度来考虑,仅传输其中一个边带就够了。这就又演变出另一种新的调制方式――单边带调制(SSB)。调制的方框图如下:

图一 调制的方框图

4.1.2单边带解调方案

解调是从携带消息的已调信号中恢复消息的过程。在各种信息传输或处理系统中,发送端用所欲传送的消息对载波进行调制,产生携带这一消息的信号。接收端必须恢复所传送的消息才能加以利用,这就是解调。在本课程设计中我们采用同步检波的方式,由乘法器和低通滤波器组成。实现同步检波的关键是要产生一个与载波信号同频同相的同步信号。解调的方框图如下:

图二 解调的方框图

4.2工作原理

4.2.1 DSB信号的表达式、带宽

在幅度调制的一般模型中,若假设滤波器为全通网络(=1),调制信号

中无直流分量,则输出的已调信号就是无载波分量的,或称抑制载波双边带(DSB-SC)调制信号,简称双边带(DSB)信号。

DSB调制器模型如图三所示。可见DSB信号实质上就是基带信号与载波直接相乘,其时域

t和频域表示式分别为SDSBtmtcosct,SDSB1McMc 2

图三DSB调制器模型

DSB信号的包络不再与成正比,故不能进行包络检波,需采用相干解调;除不再含有载频分量离散谱外,DSB信号的频谱与AM信号的完全相同,仍由上下对称的两个边带组成。故DSB信号是不带载波的双边带信号,它的带宽与AM信号相同,也为基带信号带宽的两倍,即

BDSBBAM2Bm2fH式中,BmfH为调制信号带宽,fH为调制信号的最高频率。

4.2.2 SSB信号的产生及设计

由于DSB信号的上、下两个边带是完全对称的,皆携带了调制信号的全部信息,因此,从信息传输的角度来考虑,仅传输其中一个边带就够了。这就又演变出另一种新的调制方式――单边带调制(SSB)。

产生SSB信号的方法很多,其中最基本的方法有滤波法和相移法。本课设我采用的是滤波法。

用滤波法实现单边带调制的原理图如图四所示,图中的HSSB为单边带滤波器。产生SSB信号最直观方法的是,将HSSB设计成具有理想高通特性HH或理想低通特性HL的单边带滤波器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时HSSB即为HH,产生下边带信号时HSSB即为HL。

图四 SSB信号的滤波法产生

显然,SSB信号的频谱可表示为

SSSBSDSBHSSB1McMcHSSB 2原理框图简洁、直观,但存在的一个重要问题是单边带滤波器不易制作。这是因为,理想特性的滤波器是不可能做到的,实际滤波器从通带到阻带总有一个过渡带。滤波器的实现难度与过渡带相对于载频的归一化值有关,过渡带的归一化值愈小,分割上、下边带就愈难实现。而一般调制信号都具有丰富的低频成分,经过调制后得到的DSB信号的上、下边带之间的间隔很窄,要想通过一个边带而滤除另一个,要求单边带滤波器在附近具有陡峭的截止特性――即很小的过渡带,这就使得滤波器的设计与制作很困难,有时甚至难以实现。为此,实际中往往采用多级调制的办法,目的在于降低每一级的过渡带归一化值,减小实现难度。

从SSB信号调制原理图中可以清楚地看出,SSB信号的频谱是DSB信号频谱的一个边带,其带宽为DSB信号的一半,与基带信号带宽相同,即

BSSB1BDSBBmfH 2式中,BmfH为调制信号带宽,fH为调制信号的最高频率。

由于仅包含一个边带,因此SSB信号的功率为DSB信号的一半,即

PSSB11PDSBm2t 24显然,因SSB信号不含有载波成分,单边带幅度调制的效率也为100%。4.3 SSB信号的解调

从SSB信号调制原理图中不难看出,SSB信号的包络不再与调制信号信号的解调也不能采用简单的包络检波,如图五所示

成正比,因此SSB

图五 SSB相干解调

此时,乘法器输出

经低通滤波后的解调输出为mo(t)1m(t)4

综上所述,单边带幅度调制的好处是,节省了载波发射功率,调制效率高;频带宽度只有双边带的一半,频带利用率提高一倍。缺点是单边带滤波器实现难度大。

4.4元器件与参数设计

4.4.1输入信号参数:

输入信号频率5KHz,幅度为60mV的正弦波。载波频率为100KHz,幅度为120mv的正弦波。4.4.2调制器参数:

因为中频比外来信号频率低且固定不变,中频放大器容易获得比较大的增益,从而提高收音机的灵敏度。在较低而又固定的中频上,还可以用较复杂的回路系统或滤波器进行选频。它们具有接近理想矩形的选择性曲线,因此有较高的邻道选择性。如果器件仅实现变频,振荡信号由其它器件产生则称之为混频器。

二极管环形混频器产品已形成完整的系列,它用保证二极管开关工作所需本振功率电平的高低进行分类,其中常用的是 Level 7,Level 17,Level 23三种系列,它们所需的本振功率分别为7dBm(5mW),17dBm(50mW)和23dBm(200mW),显然,本振功率电平越高,相应的1dB压缩电平也就越高,混频器的动态范围也就越大。对应于上述三种系列,1dB压缩电平所对应的最大输入信号功率分别为1dBm(1.25mW)、10dBm(10mW)、15dBm(32mW)。

二极管环形混频器具有工作频带宽(从几十千赫到几千兆赫)、噪声系数低(约6dB)、混频失真小、动态范围大等优点。

二极管环形混频器的主要缺点是没有混频增益,端口之间的隔离度较低,其中L端口到R端口的隔离度一般小于40dB,且随着工作频率的提高而下降。实验表明,工作频率提高一倍,隔离度下降5dB。4.4.3选择参数:

C3C2C

设计计算:

Q1

4.4.4低通滤波器参数

1RC5KHZ

由公式可得;

R1=R2=10Ω C5=C8=10uF 4.5 调制过程设计

图六 双平衡调制器的原理图

将载波和调制信号作为输入,得到的输出信号为已调波,这种电路称为调制器。平衡调制器产生抑制载波的双边带(DSB)信号或单边带(SSB)信号,在通信系统中得到了广泛应用。

图六是双平衡调制器的原理图,它由4个二极管和变压器构成。输入信号为调制信号u(t)vcost和载波信号uc(t)vccost。这样载波信号的正负控制着二极管的导通和截止。当载波信号为正半周时,二极管D1和D2导通,反之截止,当载波信号为负半周时,二极管D3和 D4导通,反之则截止。带通滤波器设计

带通滤波器是一个允许特定频段的波通过同时屏蔽其他频段的设备,比如RC振荡回路就是一个模拟带通滤波器。一个理想的带通滤波器应该有平稳的通带(允许通过的频带),同时限制所有通带外频率的波通过。但是实际上,没有真正意义的理想带通滤波器。真实的滤波器无法完全过滤掉所设计的通带之外的频率信号,在理想通带边界有一部分频率衰减的区域,不能完全过滤,这一曲线被称做滚降斜率(roll—of)。滚降斜率通常用dB度量来表示频率的衰减程度。一般情况下,滤波器的设计就是把这一衰减区域做的尽可能的窄,以便该滤波器能最大限度接近完美通带的设计。带通滤波器的电路形式有很多,这里我采用的是无限增益多反馈环型滤波器。

图七 带通滤波器

4.6 解调过程

解调是调制的逆过程,把有用的信号从高频载波上解调出来。在解调过程中,我采用的是同步检波法,关键在于产生一个与原载波同频同相的同步信号。解调过程电路图如下:

图八 解调过程电路图

低通滤波器是一个通过低频信号而衰减或抑制高频载波的部件。低通滤波器如下:

图九 低通滤波器

4.7仿真结果

输入信号如图

图十 输入信号

载波如图

图十一 载波

输出双边带信号如图

图十二 输出双边带信号

双边带频谱如图

图十三 双边带频谱

经过带通滤波器输出频谱

图十四 经过带通滤波器输出频谱

经过同步检波后输出图形

图十五 经过同步检波后输出图形

图十六 总电路图

将调制信号及载波信号耦合到二极管双平衡回路中,由于所选二极管导通电压的影响,导致输出的双边带波有失真,这也是本课设需要改进的地方。经过带通滤波器进行滤除其中一边带,提高发射效率,从而能减小发射所需的功率。这也是单边带优于双边带的一个特点。它避免的相移法的设备复杂及成本消耗增加。用相乘法进行解调,解调输出波形经过低通滤波器,可得到调制信号。

解调时的关键是要产生一个与载波同频同相的一个正弦波。这样才能得到较好的输出波形。

五 设计电路

i1iVSSD1+VSD3i3VLRLS-+R?RES21:1×2D4i4R?RES2VLVLS1×2:1VS-D2i2(a)原理电路

D1i1i+VSD3i3D4VL-+VSi4D2VL-i2(b)等效电路

六 实验分析与讨论

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

通过这次设计让我们真正理解了生活中日常见到的电子的装置的基本工作原理,认识到理论与实践之间的差距,联系实际的应用去理解知识比一大堆理论来的直接与清晰明了。在设计中难免会遇到很多学习中不会注意到的问题,比如说在调制中在取某些值后输出是失真的波形,在设计开始并没有想过会存在那样多的问题,当着手时才发现要完成一个信号的调制与解调,在元器件、电路和取值都要有一部分的要求,科学是严谨的,这更让我们一丝不苟起来。

此次课程设计主要针对幅度调制解调电路提出自己的设计方案,并利用仿真软件来实现自己的设计电路图。设计中用到了信号发生器、双平衡调制器、带通滤波器、同步检波器及低通滤波器等在高频电子线路课程中学到的知识。由于对所学电路不熟悉,导致在设计的过程中无法画出正确的电路图,算不出电路中元器件的参数,使得在设计过程中绕了许多弯路,做了许多的无用功。

设计过程中查阅了大量的有关高频电子线路设计的书籍,巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合的必要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在此次课设中,我学习了MultiSim仿真软件的运用,我们通过动手实践操作,进一步学习和掌握了有关高频原理的知识,加深了对幅度调制技术的认识。在设计时我们根据课题要求,复习了相关知识,还查阅了相当多的资料,这也在一定程度上拓宽了我们的视野,丰富了我们的知识。这次的高频课程设计重点是通过实践操作和理论相结合,提高动手实践能力,提高科学的思维能力,更在两周的时间了解了更多的有关调幅的课程精髓。

在此次课设中我还深刻的体会到了小组之间的合作精神的重要性,在设计过程和后期处理过程中都存在着繁重的工作压力,数据的处理,仿真软件的模拟等等,在此过程中如果没有小组之间的团队精神,个人很难或者说基本上根本就不能完成此次课设,因此在工作和学习过程中我们应该懂得团结互助的原则。

在实验室有限的条件和自己有限的知识里,非常感谢指导老师诲人不倦的精神,在接触课程设计之前,因为这门课程的难度很大。我对高频是敬而远之的心态,所有基础知识以及逻辑推理思维方面都是相当欠缺,在此我十分的感谢此次课设的所有的辅导老师,正是通过他们的认真传授和细心讲解我们才能如此顺利的完成此次课程设计。最后,特别感谢刘老师给我们这次课程设计的机会,感谢所有辅导老师的耐心指导和同学们热心的帮助。

在设计中也得到很多见识,获得或理解知识时的欣喜与在一个问题上的纠结都是很宝贵的,在这种情绪的反复中,认识到学习就是这样一个过程。不管过程怎样,以小见大的反射出以后学习的态度。

团队交流可以加深学习,找出问题,相互弥补不足,在资料的采集方面提高了不少效率,也提高的每个个体的兴奋度,真切体会团队学习给我们带来的快乐,学习是快乐的。

七 设计总结

(1)课程设计是培养我们运用所学知识发现、分析、提出和解决问题。通过这次课程设计让我们真正了解了生活中常见到的电子装备的基本原理,认识理论与实践的差别。本课程设计主要介绍单边带调制解调电路的设计。学习和掌握电路设计的方法和仿真软件,并综合运用所学知识完成常规调幅的设计。

(2)此次课程实际主要针对幅度调制解调电路提出自己的设计方案,并利用仿真软件开实现自己的设计电路图。设计中用到了信号发生器,等在高频电子线路课程中学到的知识。由于对电路不熟悉,导致在设计的过程中无法画出正确的电路图,算不出电路中元件的参数,使的在设计过程中绕了许多弯路,做了许多无用功。

(3)在课程设计过程中我们查阅了许多资料,巩固了以前所学过的知识,而且学到了很多课本上没有的知识,通过这次课程实际是我懂得了理论与实践结合的必要性,在此次课设中我还深刻的体会到了小组之间的合作精神的重要性,在设计过程和后期处理过程中都存在着繁重的工作压力,数据的处理,仿真软件的模拟等等,在此过程中如果没有小组之间的团队精神,个人很难或者说基本上根本就不能完成此次课设,因此在工作和学习过程中我们应该懂得团结互助的原则。

主要参考文献

[1] 蔡玉惠.基于Multisim 10的幅度调制与解调电路的教学仿真分析[J].职业与教育.2008,(8):46-47 [2] 田胜军.基于Multisim2001 的高频电路分析与仿真[J].现代电子技术.2006,(8):100-102 [3] 候丽敏.通信电子线路,清华大学出版社,2008年11月 [4] 童诗白.模拟电子技术基础(第四版)高等教育出版社,2006 [5] 樊昌信.曹丽娜 通信原理(第六版)国防工业出版社,2010 [6] 杨翠娥.高频电子线路实验与课程设计.哈尔滨工程大学出版社。

下载小学生四则运算练习器课程设计报告专题word格式文档
下载小学生四则运算练习器课程设计报告专题.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    课程设计报告

    学 期:2014-2015-2 作 业:课程设计社会调研报告 班 级:社会工作131 学 号:1325012029 姓 名:蒋叶青 指导老师:钱雪飞老师 一.简介 时间:2015.5.26-5.28 地点:中国杭州......

    课程设计报告(范文)

    一. 设计题目 WFS-601面包电话制作 二. 主要内容 1、 分析面包电话机的功能,了解面包电话机的构造 2、 完成面包电话机的焊接,要求焊点符合焊接要求。电话要实现接听与呼叫以及......

    小学生心理辅导 课程设计

    团体竞争,人人出力 一、设计理念:在集体比赛中成长,在成长中学习内容:设置两轮比赛和一次赛后总结,三次事件都是评比内容,通过比赛,学生在其中感受团体的力量并积极想要为团体贡献......

    电大PLC课程设计项目四

    可编程控制器实训 项 目 设 计 书 专业机电一体化 班级秋姓名学号上海电视大学 2012年12 月 1 日 一、 设计任务: 钻、镗、倒角工艺由四工位旋转工作台完成,工作台的四个工位......

    如何培养小学生的运算能力

    演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 如何培养小学生的运算能力 [如何培养小学生的运算能力] 小学生在做计算时出错率高、准确率低已是普遍存在的......

    浅谈如何提高小学生数学运算能力

    浅谈如何提高小学生数学运算能力 计算在生活中随处可见,是帮助人们解决问题的工具,在小学计算教学更是贯穿于数学教学的全过程,是小学生学习数学需要掌握的基础知识和基本技能......

    小学生常用四字词

    小学生描写常用四字词语好词归类 【描写人物神态的词】: 神采奕奕 眉飞色舞 昂首挺胸 炯炯有神 精神焕发 龙马精神 兴高采烈 气宇轩昂 生龙活虎 喜笑颜开 心旷神怡 心花怒放......

    C课程设计矩阵的加减乘混合运算

    矩阵混合运算 指导教师: 浙江理工大学 班级:学号: 姓名: 矩阵混合运算 目 录 一、 程序要求 二、 输入输出范例 三、 程序结构分析及关键函数说明 四、 程序代码与说明 五、 运......