实验四
- 格式:pdf
- 大小:618.50 KB
- 文档页数:7
实验四索引、数据完整性与安全性一、实验目的(1) 掌握利用SQL Server Management Studio和SQL语言建立、删除索引的方法;(2) 掌握利用SQL Server Management Studio和SQL语言实现数据完整性的方法;(3) 掌握在SQL Server Management Studio中实现数据安全性管理的方法。
二、实验原理1.索引在关系型数据库中,索引是一种可以加快数据检索的数据库结构。
SQL Server系统中主要有两种类型的索引,即聚集索引、非聚集索引。
(1)聚集索引聚集索引定义了数据在表中存储的物理顺序。
一个表只能定义一个聚集索引。
(2)非聚集索引非聚集索引并不存储表数据本身。
相反,非聚集索引只存储指向表数据的指针,该指针作为索引键的一部分,因此,在一个表中同时可以存在多个非聚集索引。
(3)利用SQL命令建立索引简化语法格式:CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]INDEX index_name ON {table|view}(column|ASC|DESC][,…n])其中:UNIQUE。
可选。
该选项用于通知SQL Server索引中列出的列的值是每行唯一的。
如果试图插入重复的行,则该选项会强制SQL Server返回一个错误信息。
CLUSTERED或NONCLUSTERED。
可选。
如果这两个选项都没有被明确列出,则默认将索引创建为NONCLUSTERED(非聚集索引)。
(4)通过SQL命令删除索引语法格式:DROP INDEX ‘table.index|view.index’[,…n]2.表主键和UNIQUE约束表主键通过表数据中一个列或者多个列组合的数据来唯一标识表中的每一行数据。
即表主键就是用来约束数据表中不能存在相同的两行数据。
在SQL Server系统中,定义表的主键可以在创建表的同时定义,也可以给已有的表添加主键。
实验四:传热(空气—蒸汽)实验一、实验目的1.了解间壁式换热器的结构与操作原理;2.学习测定套管换热器总传热系数的方法;3.学习测定空气侧的对流传热系数;4.了解空气流速的变化对总传热系数的影响。
二、实验原理对流传热的核心问题是求算传热膜系数α,当流体无相变时对流传热准数关联式的一般形式为:(4-1)对于强制湍流而言,Gr准数可以忽略,故(4-2)本实验中,可用图解法和最小二乘法计算上述准数关联式中的指数m、n和系数A。
用图解法对多变量方程进行关联时,要对不同变量Re和Pr分别回归。
本实验可简化上式,即取n=0.4(流体被加热)。
这样,上式即变为单变量方程再两边取对数,即得到直线方程:(4-3)在双对数坐标中作图,找出直线斜率,即为方程的指数m。
在直线上任取一点的函数值代入方程中,则可得到系数A,即:(4-4)用图解法,根据实验点确定直线位置有一定的人为性。
而用最小二乘法回归,可以得到最佳关联结果。
应用微机,对多变量方程进行一次回归,就能同时得到A、m、n。
对于方程的关联,首先要有Nu、Re、Pr的数据组。
其准数定义式分别为:实验中改变冷却水的流量以改变Re准数的值。
根据定性温度(冷空气进、出口温度的算术平均值)计算对应的Pr准数值。
同时,由牛顿冷却定律,求出不同流速下的传热膜系数α值。
进而算得Nu准数值。
牛顿冷却定律:(4-5)式中:α—传热膜系数,[W/m2·℃];Q—传热量,[W];A—总传热面积,[m2];△tm—管壁温度与管内流体温度的对数平均温差,[℃]。
传热量Q可由下式求得:(4-6)W—质量流量,[kg/h];Cp—流体定压比热,[J/kg·℃];t1、t2—流体进、出口温度,[℃];ρ—定性温度下流体密度,[kg/m3];V—流体体积流量,[m3/s]。
三、实验设备四、实验步骤1.启动风机:点击电源开关的绿色按钮,启动风机,风机为换热器的管程提供空气2.打开空气流量调节阀:启动风机后,调节进空气流量调节阀至微开,这时换热器的管程中就有空气流动了。
实验四火焰原子吸收光谱法测定铁(标准曲线法)一、目的与要求1.加深理解火焰原子吸收光谱法的原理和仪器的构造。
2.掌握火焰原子吸收光谱仪的基本操作技术。
3.掌握标准曲线法测定元素含量的分析技术。
二、方法原理金属铬和其他杂质元素对铁的原子吸收光谱法测定,基本上没有干扰情况,样品经盐酸分解后,即可采用标准曲线法进行测定。
标准曲线法是原子吸收光谱分析中最常用的方法之一,该法是在数个容量瓶中分别加入成一定比例的标准溶液,用适当溶剂稀释至一定体积后,在一定的仪器条件下,依次测出它们的吸光度,以加入标推溶液的质量(μg)为横坐标,相应的吸光度为纵坐标,绘出标准曲线。
试样经适当处理后,在与测定标准曲线吸光度的相同条件下测定其吸光度(一般采用插入法测定,即将试样穿插进测定标准溶液中间进行测量),根据试样溶液的吸光度,通过标准曲线即可查出试样溶液的含量,再换算成试样的含量(%)。
三、仪器与试剂1.原子吸收分光光度计。
2.铁元素空心阴极灯。
3.空气压缩机。
4.瓶装乙炔气体。
5.(1+1)盐酸溶液。
6.浓硝酸7.铁标推溶液(储备液),1.000mg·mL-1:准确称取高纯金属铁粉1.000g,用30mL盐酸(1+1)溶解后,加2~3mL浓硝酸进行氧化,用蒸馏水稀释至1L,摇匀。
8.铁标准溶液(工作液),100μg·mL-1:取上述铁标准溶液(储备被),用盐酸溶液(ω=0.05)稀释10倍,摇匀。
四、内容与步骤1.试样的处理(平行三份)准确称取o.2g试样于100mL烧杯中,加入1+1盐酸5mL,微热溶解,移入50 mL容量瓶并稀释至刻度,摇匀备测。
2.标准系列溶液的配制取6个洁净的50mL容量瓶,各加入1+1盐酸5mL,再分别加入0.0,2.0,5.0,10.0,15.0,20.0mL铁标准溶液〔工作液),用蒸馏水稀释至刻度,摇匀备测。
3.仪器准备在教师指导下,按仪器的操作程序将仪器各个工作参数调到下列测定条件,预热20min:分析线:271.9nm 灯电流:8mA狭缝宽度:0.1mm 燃器高度:5mm空气压力:1.4kg/cm2乙炔流量:1.1L/min空气流量:5L/min 乙炔压力:0.5kg/cm24.测定标准系列溶液及试样镕液的吸光度。
1
实验四 配合物的生成和性质
一、 实验目的
1. 加深理解配合物的组成和稳定性,了解配合物形成时的特性。
2. 初步学习利用配位溶解的方法分离常见混合阳离子。
3. 学习电动离心机的使用和固-液分离操作。
二、 实验原理
配位化合物与配位平衡
配位化合物的内、外层之间是靠离子键结合的,在水中是完全解离。
而配位个体在水中是部分的、分步的解离,因此就存在解离平衡。
配合物的标准平衡常数θ
f K ,也被称为稳定平衡常数。
θf K 越大,表明配合物越稳定。
形成配合物时,常伴有溶液颜色、酸碱性、难溶电解质溶解度、中心离子氧化还原性的改变等特征。
利用配位溶解可以分离溶液中的某些离子。
三、实验内容
2
3
4
四、注意事项
1.使用离心机时要注意安全。
2.及时记录实验过程中配合物的特征颜色。
3.节约药品,废液倒入废液缸。
5。
高频电子线路实验报告(实验4 振幅调制器)班级:姓名:学号:实验四振幅调制器一、实验目的:1.掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅的方法。
2.研究已调波与调制信号及载波信号的关系。
3.掌握调幅系数测量与计算的方法。
4.通过实验对比全载波调幅和抑止载波双边带调幅的波形。
二、实验内容:1.观察模拟乘法器MC1496正常工作时的输出波形图。
2.实现全载波调幅,改变调幅度,观察波形变化并画出波形图。
3.实现抑止载波的双边带调幅波。
三、基本原理幅度调制就是载波的振幅(包络)受调制信号的控制作周期性的变化。
变化的周期与调制信号周期相同。
即振幅变化与调制信号的振幅成正比。
通常称高频信号为载波信号。
本实验中载波是由晶体振荡产生的10MHZ高频信号。
1KHZ的低频信号为调制信号。
振幅调制器即为产生调幅信号的装置。
在本实验中采用集成模拟乘法器MC1496来完成调幅作用,图4-1为MC1496芯片内部电路图,它是一个四象限模拟乘法器的基本电路,电路采用了两组差动对,由V1-V4组成,以反极性方式相连接,而且两组差分对的恒流源又组成一对差分电路,即V5与V6,因此恒流源的控制电压可正可负,以此实现了四象限工作。
D、V7、V8为差动放大器V5与V6的恒流源。
进行调幅时,载波信号加在V1-V4的输入端,即引脚的⑧、⑩之间;调制信号加在差动放大器V5、V6的输入端,即引脚的①、④之间,②、③脚外接1KΩ电位器,以扩大调制信号动态范围,已调制信号取自双差动放大器的两集电极(即引出脚⑹、⑿之间)输出。
图4-1 MC1496内部电路图用MC1496集成电路构成的调幅器电路图如图4-2所示,图中VR8用来调节引出脚①、④之间的平衡,VR7用来调节⑤脚的偏置。
器件采用双电源供电方式(+12V,-9V),电阻R29、R30、R31、R32、R52为器件提供静态偏置电压,保证器件内部的各个晶体管工作在放大状态。
图4-2 MC1496构成的振幅调制电路四、硬件说明:1.本实验要用到“振荡器与频率调制”、“低频调制信号”、“振幅调制”三个实验模块,它们都在试验箱的左上角,分别找到这三个实验模块的位置。
实验四、FIR滤波器的DSP实现一、实验目的1.巩固数字FIR 滤波器的概念2.理解定点DSP 中数的定标、有限字长、溢出等概念3.理解算法实现中实时的概念4.掌握DSP 开发过程以及基本调试方法5.理解汇编以及高级语言开发DSP、实现算法的区别二、实验内容针对FIR 算法,设计滤波器系数,完成数据的定标,查看滤波器特性曲线。
建立工程,编写DSP 的主程序,并对工程进行编译、链接,利用现有DSP 平台实现FIR 滤波器算法,通过信号源、示波器理解滤波器特性,验证实现与理论设计的一致性。
三、实验步骤1、理论分析:FIR 滤波器算法属于典型的数据流处理方式,每到达一个新数据,就必须进行一次计算,更新输出。
因此,当一次采样完成之后,就可以进行FIR 核心算法,并将计算结果输出到DA 中。
有限长的单位冲击相应滤波器(FIR)差分方程可表示为:Ny(n) = ∑h(k)• x(n− k)k=0分析差分方程:h 是滤波器系数,x 为输入的数字信号,y 为FIR 滤波器计算输出。
N 为滤波器阶数。
由此可得,一个N 阶的滤波器计算,需要N+1 个滤波器系数,N+1 个数字输入,每得到一个y 值,需要N+1 次乘法以及N 次加法。
另外,N 阶滤波器需要保存当前的N+1 个输入信号数值,以及事先设计的N+1 个滤波器系数。
通过MATLAB中的FDATOOL来实现滤波器的参数设计:参数设定:滤波器类型:LOWPASS阶数:30通带频率:0.2阻带频率:0.3归一化方程:Ω=f c / ( f s / 2 )h[31] = {-93, -628, -251, -5, 429, 722, 609, -2, -886,-1530, -1349, 2, 2384, 5143, 7348, 8190, 7348, 5143, 2384, 2, -1349, -1530, -886, -2, 609, 722,429,-5, -251, -628, -93} 采样频率为20KHz2、程序算法AD[0]= AdcRegs.ADCRESULT0;for(i=0;i<N+1;i++){y=y+ AD[i]*h[i];}* DAOUT= (y>>15) + 0x8000;for(j=N;j>0;j--){AD[j] =AD[j-1];//}y=0;以上为主要的程序算法,采样的数据始终保存在AD[0]中,每次运算结束后,通过循环语句实现数据的存储空间的移位,使得AD[0]空出来接收下一次的采样数据。
这里就要求算法的处理速度要大于采样速率。
2、计算过程数据溢出情况分析:TMS320F2812 是定点型DSP,存储器字长16bit,可进行32bit 的运算。
而仿真计算中得到的数据大多是浮点型,因此将算法用定点DSP 实现时,必须进行数据格式的定标。
由于TMS320F2812 的数据字长只有32bit,DAC1 接受的字长为16bit,因此有限字长带来精度的损失。
更为重要的是当加法的结果超过16 位表示范围时,数据产生了溢出,这是有限字长带来的第二个问题。
再者,数据的计算结果存放在32bit 的寄存器中,但DAC 却是16bit,取高位输出还是低位输出,还是取一个合适的范围,这是数据截取的问题。
因此在编写程序时,必须考虑定点数据的运算效应,由数据的动态范围来确定截取、定标等问题。
定点DSP 内部一般有溢出保护功能,可以查看溢出标志位及时发现溢出现象,其次用溢出模式位来使ACC 结果控制在最大值范围之内,以达到防止溢出引起精度严重恶化的目的。
四、实验要求1.独立完成项目编译、链接、调试的全过程。
略。
2.当输入信号为正弦信号时,改变正弦信号频率,观察示波器,记录各频点对应的幅度,并描点作图,与实际理论幅频曲线比对,做误差分析。
实际测量幅频曲线与理论曲线均需附在实验报告中,指出FIR 滤波器系数的设计参数指标。
答:在前三个试验中我们分别熟悉了CCS和XDS的使用,ADC的调试和DAC的调试,基于这样的思想,我们在编算法之前,采用h[31]={1,0,0,0,0,0,0……}、并观察AD[j]=AD[j-1]中变量的变化情况来校验算法程序是否基本正确。
当输入为正弦波时,示波器输出图形如下:与输入信号100Hz,0.5V基本一致。
添加h[31] = {-93, -628, -251, -5, 429, 722, 609, -2, -886,-1530, -1349, 2, 2384, 5143, 7348, 8190, 7348, 5143, 2384, 2, -1349, -1530, -886, -2, 609, 722,429,-5, -251, -628, -93} 观察变量y[n],得到当(y>>15)时,能够保证数据精度的最大和数据空间利用率的最大。
输出出波形为:3.记录FIR 核心算法程序执行时间,以及采样时间,判断该系统是否实时。
由GPIO的电平变化得如图波形,读示波器得时间间隔T=36us采样信号时间t1=1/20k=50ms>>36us满足实时性4.利用数码显示管,添加语句或者编写子程序,使之能够显示实验完成日期。
答:在实验二中有较为详细的介绍。
五、实验思考1.观察各种输入信号通过数字滤波器系统之后的输出波形,解释信号失真原因。
当改变输入信号的频率时,在f=1000Hz时,示波器波形如下:电压幅值降为0.34V,信号产生衰减根据设计参数可得,我们设计的低通滤波器的通带频率=2000 Hz;阻带频率=3000 Hz,参考图表观察发现,基本符合设计的要求:输入频率在2000 Hz 之前,信号以较小的幅度衰减,而当进入过度带2000 Hz~3000 Hz时,信号衰减的幅度加大,而到了截止频率3000Hz时,信号幅值几乎消失。
信号失真的原因:TMS320F2812 的数据字长只有32bit,DAC1 接受的字长为16bit,首先在y[n]计算的过程中,对便产生了一定的数据损失,关键是在于对y移位以达到DAC 接受的字长时,移位过大会导致信号的急剧失真,移位的过小会导致滤波器设计的失败。
而即便移位达到了理想的最大位置,但是经过而产生的数据损失已经是存在了的。
这些都导致了信号的失真。
2.加载其他格式编写程序所产生的FIR 滤波器程序,测量运算时间,比较分析C 语言效率低的原因。
答:经过加载实验所给的参考汇编程序,发现数据的处理速度大大提高,几乎和比自己的程序处理速度快了一个数量级。
经过参考汇编程序和自己编写的C语言程序所转成的汇编程序的对比,发现C语言程序所转成的汇编程序里面所产生的冗余操作依旧过多,根本无法参考汇编程序相比。
分析原因认为,C语言程序所转成的汇编程序只是将C语言的程序机械的逐句翻译了一遍而已,而直接使用汇编语言来编写,每一个操作都是针对算法的要求采用的最优的指令和存储空间,是软件和硬件的最大程度的利用。
这样将会使得计算时间大大降低。
3.以该FIR 滤波器系统为例,总结分析系统实时性的取决因素。
○1芯片速度:显然,在采样率不变的情况下,DSP芯片的处理速度越快,必然使得数据处理时间的降低,使得实时性更为可靠。
○2:运算量:A、数据率:Ny(n) = ∑h(k)• x(n− k)k=0由上式可知,运算量必定和算法的复杂程度有关系,即和N有关。
这里通过改变采样速率和h因子的参数,均会改变运算量,即改变数据率能够影响系统的实时性。
在此我们测试了h[1,0,0,0……]的情况,发现在此状态下数据处理的速度很快,基本验证了数据率对实时性的影响。
B、算法负载程度:与实验三对比,当程序中不添加算法,仅是ADC输入DAC输出时,中断程序处理的速度为1us<<36us,可见,算法的复杂程度也会影响到程序处理时间从而影响实时性。
六、实验总结:为期一个星期,15个小时的实验终于结束了。
这次实验对我来说,收获巨大!!这几乎是大学最后一个实验了,从大三开始,我的发展方向便定位在嵌入式方向,因此这一年选修了C51单片机,ARM9嵌入式,以及这门DSP。
而在平时的而生活中(今年年初开始),参加了科研训练的设计,用的是ARM7芯片做一个嵌入式的设计,使用的工具为ADS1.2,编程环境为CodeWarrior,交叉编译环境为AXD Debugger,在过程中,经历了无比痛苦的一个过程:先是选用keil公司的KEIL FOR ARM[MDK],但是查阅了无数资料却怎么也不会使用(现在怀疑应该是建立工程时没能将它所需要的工程初始文件和定义文件加载完全,使得编译出来的HEX文件在proteus的ARM电路上上怎么也跑不了),最后改用了ADS1.2,所幸的ADS有很多关于ARM7的例程,最终终于能够出来所能运行的程序。
而在此之前,我也曾经学了C51的编程设计,使用KEIL与proteus联调的形式来做的,近期参加学校的电子设计大赛,又使用AT89S51与DAC0832做了一个直流稳压电源的可行性分析报告,实物板应该能在暑假完成。
自己做了这两个设计,才真正体会到了开发的艰辛与不易:编译软件不会使用,而参考书又看不懂,到处发帖但在身边却找不到懂这方面的朋友。
最后只能自己死命的去煎熬。
而这次的实验让我学到了很多:一,编译软件CCS的学习,在这其中,最深刻的便是我学会了使用watch窗口查看变量在程序运行过程中的变化情况,学会了通过view-graph查看存储空间的数据波形情况,学会了如何主动的将数据定义到不同的空间,学会了不同存储空间不同应用环境。
这些其实是我们本次实验中最基本的知识,但是我经过将CCS与ARM CodeWarrior的对比发现,CodeWarrior中也含有这样功能,也就是说我所学的CCS方面的东西,是直接可以运用到CodeWarrior,在回忆之前看过的一些关于ADS方面的书籍,很多之前所不懂的一些操作现在都一目了然了。
二、在我平时做的一些设计和开发中,只会简单的使用编译软件生成可执行的HEX 文件,但是如何去调试、验证设计的正确性和合理性,是我之前所不懂的。
最简单的来说,这次实验的流程是:验证开发板的是否正常工作,验证DAC、ADC是否正常工作,验证算法是否正常工作,最后再系统集成,这是我之前所不知道的。
在这次的试验中,我学会了基本的开发的一般的步骤和方法。
三、交叉编译环境的学习。
在ARM的开发中,我接触到了ADX 交叉编译环境,但是因为从未接触过,根本就无法下手去学习和使用它(一个你根本不懂它是用来干什么的东西,怎么去学习),因此在最初和一些老师讨论设计时,对一些老师所提到的单步和设置断点,根本不了解。
而经过对CCS开发平台和XDS仿真器的学习,是我大致掌握了这些调试工具的应用。