第一篇:实验一 VC开发环境的使用和常用算法的编程概要
实验一 VC开发环境的使用和常用算法的编程
一、实验目的
熟悉VC++6.0的集成开发环境,学会用它编写、调试、运行程序。
二、实验要求
对VC++6.0集成开发环境进行操作,用它编写、调试和运行常用的程序,初步掌握使用方法;在课后编程题目中任选一题,编好程序,上机进行调试和运行,同时养成好的程序书写风格。
三、实验报告要求
1.写出编程题目;
2.写出题目分析(提取出算法和设计思路); 3.写出源代码;
4.写出多次运行的记录或出错调试信息(上机时写); 5.写出实验后的心得体会(上机后写)。
四、上交源代码要求
1.从网络提交;
2.文件名包含:编程题目名称、班级、姓名; 3.第二周前提交。
第二篇:实验一 DSP Builder设计应用概要
湖南文理学院电气与信息工程学院 《嵌入式系统及应用》 实 验 指 导 书
指导教师:伍宗富
实验一 DSP Builder设计应用 实验学时:4学时 实验类型:综合 实验要求:必做
一、实验目的
1.掌握DSP Builder设计应用的方法。2.掌握FIR滤波器的设计步骤。
3.掌握MATLAB、DSP Builder、Quartus II的综合应用。
二、实验原理
1.4阶FIR滤波器子系统设计
] 为了便于调用子系统模块的更高级系统进行SignalCompile分析,必须对生成的子系统模块的“Mask type”进行设置。
使用“Mask Subsystem…”中的“Documentation”设置“Mask type”为“SubSystem AlteraBlockSet”就可以利用SignalCompiler正确地生成VHDL代码
2.直接I型16阶FIR数字滤波器设计 SignalCompiler 16个常数端口设置滤波器的系数,可根据具体要求进行计算而确定。3.使用MATLAB的滤波器设计工具,获得滤波器系数。(1打开Matlab的FDATool “start”->“ToolBoxes”->“Filter Design”-> FDATool
(2选择Design Filter 设计滤波器(阶级选N-1=16-1=15(3滤波器分析(查看其幅频特性曲线(4导出滤波器系数(File-> Export…
注:在Matlab主窗口的命令窗口中键入变量名并乘量级数转换fir16_data*(2^8会显示数据,如FIR滤波器模型使用还需转为整数round(fir16_data*(2^8。将显示数据记录并输入上面 16个常数端口完成设置滤波器的系数
4.Quartus工程实现
5.扫频模块设计(产生实验用输入信号
Adder Subtractor2 D ecrem ent3 注:仿真时将位值改小点,仿真后再改回来
Adder Subtractor2 Decrement3 6.FIR滤波器仿真(滤波器系数改变,则滤波器性能发生变化。
三、实验内容
设计一个16阶的低通FIR滤波器,对模拟信号的采样频率Fs为48KHz,要求信号的截止频率为Fc=10.8KHz,输入序列为宽为9位(最高位为符号位。
四、实验步骤
1.使用DSP Builder完成4阶FIR滤波器子系统模型设计。2.使用DSP Builder完成直接I型16阶FIR数字滤波器模型设计。3.使用MATLAB的滤波器设计工具,获得滤波器系数。
4.在DSP Builder中修改直接I型16阶FIR数字滤波器模型滤波系数,并将其转换为Quartus工程文件。
5.使用Quartus完成FIR滤波器工程设计调试。
五、实验组织运行要求
本实验利用DSP Builder、MATLAB、Quartus设计一个FIR滤波器,实验程序并不是很复杂,为了提高学生独立设计的能力,应采用以学生自主训练为主的开放模式组织教学,然后在指导老师的监督下,由学生自己动手,按实验要求完成任务,最后由指导老师检查实验结果后方可离开。
(1画出系统的原理框图,说明系统中各主要组成部分的功能。(2熟悉各个VHDL源程序。(5记录系统仿真、硬件验证结果。
(6记录实验过程中出现的问题及解决办法。
六、实验条件 1.计算机一台;2.DSP Builder、MATLAB、Quartus开发工具软件;3.SOPC开发板。
七、实验注意事项
1.做实验项目要建立工程文件夹,且为英文路径和名称。2.学生必须严格按实验操作规程进行实验,要用U盘保存数据。3.使用实验开发板进行硬件验证时,必须爱护实验开发装置。
八、思考题
1.如何设计其它类型的滤波器,如16阶带通、高通、带阻的FIR滤波器? 2.如何在MATLAB中使用DSP Builder完成FIR滤波器仿真?
九、实验报告要求
实验结束后,学生应根据做实验情况,认真完成实验报告的书写。实验报告应包括实验目的、实验内容、仪器设备、实验原理或电路、源程序清单、实验步骤、实验结果及分析和实验过程中出现的问题及解决方法等。
附录: 实验报告范例(报告用实验纸手写,图手画)实验 X(实验课题)1.实验目的 1)掌握 DSP Builder 设计应用的方法。2)掌握 FIR 滤波器的设计步骤。3)掌握 MATLAB、DSP Builder、Quartus II 的综合应用。2.实验内容(……)3.实验条件 1)计算机一台; 2)DSP Builder、MATLAB、Quartus 开发工具软件; 3)SOPC 开发板。4.实验设计 1)设计原理(设计思路、框图、工作原理……)2)设计实现(各模块逻辑功能描述及编译后模型图等)3)器件选择及管脚锁定说明 5.实验结果及总结 1)系统仿真情况 2)硬件验证情况 3)实验过程中出现的问题及解决办法 6
第三篇:C语言实验一 熟悉C程序开发环境、进行简单程序的调试
实验一 熟悉C程序开发环境、进行简单程序的调试
实验目的:
1、初步了解vc++6.0环境;
2、熟悉掌握调试C程序的步骤。
实验内容:
1、如何进入vc++6.0环境?如何新建一C程序文件并进行调试?
2、对教材中例1.1至例1.3在vc++6.0环境中进行调试。
3、上机调试教材课后习题4、5题。
实验原理、步骤与分析:
【要求】每个实验内容都要先写出其实现的基本原理,再写出实验步骤,最后根据每个实验内容的实验结果进行分析说明。
第四篇:实验一__Linux下C编程
实验一 Linux下C编程
一. 实验目的:
1. 熟练使用vi中的常见操作,并且熟悉vi的3种模式;
2. 熟练掌握gcc编译命令及gdb的调试命令;通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力;
3. 通过对包含文件的makefile的编写,熟悉各种形式的makefile; 4. 通过使用autotools生成包含多文件的makefile。二. 实验内容
1. 熟练使用vi(1)在“/root”目录下建一个名为“vi”的目录;(2)进入“vi”目录;
(3)将文件“/etc/inittab”复制到“vi”目录下;(4)使用vi打开“vi”目录下inittab;
(5)设定行号,指出设定initdefault的所在行号;(6)将光标移到该行;(7)复制该行内容;
(8)将光标移到最后一行行首;(9)粘贴复制行的内容;(10)撤销第9步操作;
(11)将光标移到最后一行行尾;(12)粘贴复制行的内容;
(13)光标移到“si::sysinit:/etc/rc.d/rc.sysinit”;(14)删除该行;(15)存盘但不退出;(16)将光标移到行首;
(17)插入模式下输入“Hello,this is vi world!”;(18)返回命令行模式;
(19)向下查找字符串“0:wait”;(20)向上查找字符串“halt”;(21)强制退出vi,不存盘。实验步骤见书本P87 2. 用gdb调试程序中的bug(1)使用vi编辑器将一下代码输入到名为greet.c的文件中。此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出。代码如下所示:(2)使用gcc编译这段代码,注意加上“-g”选项以方便之后的调试;(3)运行生成的可执行文件,观察运行结果;
(4)使用gdb调试程序,通过设置断点,单步跟踪,一步步找出错误所在;(5)纠正错误,更改源程序并得到正确结果; 实验步骤见书本P88
3. 编写包含多文件的makefile(1)用vi在同一目录下编辑两个简单的hello程序,如下所示:
#hello.c
#include “hello.c”
int main()
{
printf(“Hello everyone!n”);
}
#hello.h
#include
(2)仍在同一目录下用vi编辑makefile文件,且不使用变量替换,用一个目标体实现,然后用make验证所编写的makefile是否正确;
(3)仍将上述makefile使用变量替换实现,同样用make验证所编写的makefile是否正确;
(4)编辑另一个makefile,取名为makefile1,不使用变量替换,但用两个目标体实现(首先将hello.c和hello.h编译为hello.o,再将hello.o编译为hello),再用make的“-f”选项验证这个makefile的正确性;(5)将上述makefile1使用变量替换实现 实验步骤见书本P90 4. 使用autotools生成包含多文件的makefile(1)在原目录下新建文件夹auto(2)将上例中的两个代码文件“hello.c”和“hello.h”复制到该目录下(3)使用autoscan生成configure.scan(4)编辑configure.scan,修改相关内容,并将其重命名为configure.in(5)使用aclocal生成aclocal.m4(6)使用autoconf生成configure(7)使用autoheader生成config.h.in(8)编辑makefile.am(9)使用automake生成makefile.in(10)使用configure生成makefile(11)使用make生成hello可执行文件,并在当前目录下运行hello查看结果(12)使用make install将hello安装到系统目录下,并运行,查看结果(13)使用make dist生成hello压缩包(14)解压hello压缩包(15)进入解压目录
(16)在该目录下安装hello软件 实验步骤见书本P91 三. 实验结果截图
1.实验一截图
Linux下的简单的运用:
图一 对inittab文件做完处理后的文件结果:
图二
图三
2.实验二截图
第一遍运行greet.c的结果:
图四 用gdb调试的过程:
图五
图六
图七
图八
图九
3.实验三截图 第一次运行的结果
图十 第一次运行makefile的结果:
图十一 第二次运行makefile的结果:
图十二 第一次运行makefile1的运行结果:
图十三 第二次运行makefile的运行结果:
图十四 四. 实验心得体会
1.对于实验一:
复习了linux 下面对于文件编辑的一些知识。
2.对于实验二:
学会了gdb调试的简单运用:gdb l()-查看源代码;gdb b()-设置断点;gdb info b-查看断点情况;gdb r-运行代码; gdb n-单步运行代码; gdb p()-查看;gdb c-继续运行; gab q-退出;对于以后代码的改错很有帮助。
3.对于实验三:
实验三是我做的最不开心的一个了,开始在运行makefile,不管怎么样都是错的,可是检查却没有任何错误,后来想起来以前做makefile的时候要用tab键缩进的,这样之后发现就可以了。这个实验虽然让我很烦,但是想起了以前学liunx的好多东西,帮助很大,也觉得以前知识要常复习,这样才不容易忘。
第五篇:实验一 熟悉MATLAB软件环境及命令窗口的使用实验报告
三、实验内容
1.命令窗口的简单使用
(1)简单矩阵的输入
A=[1 2 3;4 5 6;7 8 9] 或者[1,2,3;4,5,6;7,8,9]
——》
A=(2)求[12+2×(7-4)]÷3的算术运算结果——》
a=7;b=4;c=2;d=12;e=3;f=a-b;g=c*f;h=d+g;k=d/e;m=k/e----->m
=2 2.有关向量、矩阵或数组的一些运算
(1)设A=15;B=20;求C=A+B与c=a+b? A=15;B=20;C=A+B------->C=
35(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?
A=[1 2 3;4 5 6;7 8 9];B=[9 8 7;6 5 4;3 2 1];C=A*B------->C=
C=A.*B--------->C= 16 21 25 24
16 9
(3)设A=10,B=20;求C=A/B与D=AB? A=10;B=20;C=A/B------------->C=
0.5
D=AB-------->D=
2(4)设a=[1-2 3;4 5-4;5-6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。n=0;For i=0:1:2 For j=0:1:2 While(a[i][j]<0)b[n]=a[i][j];n=n+1;End B[n](5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?
(6)请设计出程序完成下列计算:
a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?
a=[1 2 3;3 4 2;5 2 3];b=[1 2 3;3 4 2;5 2 3];c=a*b----------->c=
C=a.*b---------->c=
(7)有一段程序设计如下,请思考并说明运行结果及其原因
clear
X=[1 2;8 9;3 6];
X(:)8)使用两种方法,创建一对角矩阵