当前位置:文档之家› 哈工大数字信号处理上机实验

哈工大数字信号处理上机实验

哈工大数字信号处理上机实验
哈工大数字信号处理上机实验

H a r b i n I n s t i t u t e o f T e c h n o l o g y

实验报告

课程名称:数字信号处理

实验题目:用FFT作谱分析

院系:电子与信息工程学院班级: 1305

姓名:

学号: 11305

指导教师:冀振元、宿富林

实验时间: 2015 年 11 月

哈尔滨工业大学

一、 实验原理及目的

实验原理:

(1) )(~)(~n x k X ?是一个周期序列的离散傅里叶级数(DFS)变换对,这种对称关系可表为:

()∑

-==

=1

/2)(~1)](~[)(~N n nk N j e k X N

k X IDFS n x π

()∑-=-==1

/2)(~)](~[)(~N n kn

N j e n x n x DFS k X π

习惯上记为:

()N j N e W /2π-=

(2) DFS 的几个主要特性: a .线性

[])(~)(~)(~)(~k Y b k X a n y b n x a DFS +=+

b .共轭对称性

()[]

()k X n x -=**~

~DFS

进一步可得:

()[]()())](~

)(~[2

1]

~~[DFS 21}~Re{DFS **k N X k X n x n x n x -+=+=

共轭偶对称分量:

(){}[]())]

(~

)(~[21~~Re DFS *e k N X k X k X n x -+==

共轭奇对称分量 :

(){}[]())]

(~

)(~[21~~Im DFS *o k N X k X k X n x j --==

实验目的:

(1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。 (2) 熟悉FFT 算法原理和FFT 子程序的应用。

(3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及

其原因,以便在实际中正确应用FFT

二、实验步骤及内容

实验步骤:

(1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。

(2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图。 (3) 编制信号产生程序, 产生以下典型信号供谱分析用。

1423()()

1,03()8470403()347

x n R n n n x n n n n n x n n n =?+≤≤?=-≤≤??

?-≤≤??

=-≤≤??? 456()cos

4

()sin 8()cos8cos16cos 20x n n x n n

x t t t t

π

ππππ=≤≤=≤≤=++,0n 19

,0n 19

(4) 按实验内容要求, 上机实验, 并写出实验报告。

实验内容:

(1)画出所给出的信号,并逐个进行谱分析(即画出幅频特性)。 下面给出针对各信号的FFT 变换区间N 以及对连续信号x6(t)的采样频率fs , 供实验时参考。

x1(n), x2(n), x3(n), x4(n), x5(n): N=8, 16 x6(t): fs=64(Hz), N=16, 32, 64(n=0:1:69)

(2) 令x(n)=x4(n)+x5(n), 用FFT 计算 8 点和 16 点离散傅里叶变换, X(k)=DFT [x(n)] (3) 令x(n)=x4(n)+jx5(n), 重复(2)。

三、实验结果及分析

1、绘制1(n)x 原始信号图形

绘制1(n)x 对应的FFT ,变换区间分别为N=8,N=16.

分析:随着采样率的提高,得到的FFT 频谱分辨率就越高,当N 趋于无限时频谱包络接近理论的抽样函数。

2. 绘制2(n)x 原始信号图形

绘制2(n)x 对应的FFT ,变换区间分别为N=8,N=16.

分析:随着采样率的提高,得到的FFT 频谱分辨率就越高,当N 趋于无限时频谱包络接近理论的抽样函数。

3. 绘制3(n)x 原始信号图形

绘制3(n)x 对应的FFT ,变换区间分别为N=8,N=16.

分析:3(n)x 与2(n)x 的8点频谱图相同3288()((3))()x n x n R n =+,但16点频谱图不

同,因为二者不再满足循环位移关系。 4. 绘制4(n)x 原始信号图形

绘制

4(n)

x对应的FFT,变换区间分别为N=8,N=16.

分析:原信号周期为8,N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱。理论FFT抽样频谱为单位冲激函数,因此只要满足抽样定理,FFT都可以与理论图形一样的曲线。

5. 绘制

5(n)

x原始信号图形

绘制

5(n)

x对应的FFT,变换区间分别为N=8,N=16.

分析:原信号周期为16,N=8不是其周期的整数倍,得到的频谱不正确。N=16是其一个周期,得到正确的频谱。N=8不满足抽样定理,频谱混叠失真,无法得到正确频谱。

6. 绘制

6(n)

x原始信号图形

绘制6(n)x 对应的FFT ,变换区间分别为N=16,N=32,N=64

分析:理论FFT 抽样频谱为有三个不同频率分量的单位冲激函数,因此只要满足抽样定理,FFT 都可以与理论图形一样的曲线。当N=16时,不满足抽样定理,因此产生了混叠失真,当N=32,64时,满足抽样定理。

7.绘制45(n)=(n)+(n)x x x 对应的FFT ,变换区间分别为N=8、N=16

分析:联合4(n)x 以及5(n)x 的频谱图分析知,满足频谱叠加定理。但45(n)=(n)+(n)x x x 的

周期抽样点数此时应大于等于16,所以8点频谱图失真。

8.绘制45(n)=(n)+j (n)x x x 对应的FFT ,变换区间分别为N=8、N=16

分析:理论FFT 抽样频谱为有两个不同频率分量的单位冲激函数,因此只要满足抽样定理,FFT 都可以与理论图形一样的曲线。如图9所示,当N=8时,不满足抽样定理,因此产生了混叠失真,当N=16时,满足抽样定理,因此可得到与理论曲线一致的图形。

四、实验结论

能想要不失真的恢复原信号,采样速率必须大于或等于原信号的时宽,即频域采样点数必须大于时域采样点数。

验证了离散傅立叶变换线性、共轭对称性的正确性。

五、思考题

1.在N=8时, x2(n)和x3(n)的幅频特性会相同吗? 为什么? N=16呢?

很容易得出二者8点图,图形相同。

在Matlab 图形属性中打开两幅图,将16点图放在一块比较,很容易得出二者图形不同,结果如下图:

因为x2(n)和x3(n)的表达式不同。x2作频谱分析时,依据公式

1

0()[()]()N kn

N

n X k FFT x n x n W -===∑

当N=8

7

7

4

()()()j kn kn N

n n X k x n W

x n e

π

-====∑∑

易知两者频谱图相等,幅频特性相同。 当N=16

15

15

8

()()()j kn kn N

n n X k x n W

x n e

π

-====∑∑

易知两者频谱图不相等,幅频特性不同。

2.如果周期信号的周期预先不知道, 如何用FFT 进行谱分析?

频谱分析时,首先对信号进行采样变成离散信号。按照采样定理,采样频率fs 应当大于信号最高频率的2倍。如果信号的周期预先不知道,可以选择一个较大的采样频率,用试

验法逐步增大采样频率,直到满足条件,幅频特性较完整。

3.参数的选择

对时间序列做FFT变换时,抽样频率要要一些,从而提高分辨率减小误差,同时抽样频率的选取必须满足抽样定理才能得到与理论相符的曲线。

六、程序

说明:为方便报告分析,使更直观利于观察,报告所用图为单独处理截取图片。

clc;clear all;close all;

%% 产生信号 x1到x6

%x1 注:matlab矩阵第一位为1,n=-10到30,共41个数

n1=0:3; x1 = [1 1 1 1];

j=sqrt(-1);

%x2、x3

for n23 = 0:3

x2(n23+1) = n23+1;

x3(n23+1) = 4-n23;

end

for n23 = 4:7

x2(n23+1) = 8-n23;

x3(n23+1) = n23-3;

end

n23 = 0:7;

%x4、x5、x(n)

for n45 = 0:19

x4(n45+1) = cos(pi*n45/4);

x5(n45+1) = sin(pi*n45/8);

x_1(n45+1) = x4(n45+1)+x5(n45+1); %X(n)=X4(n)+X5(n)

x_2(n45+1) = x4(n45+1)+j*x5(n45+1); %X(n)=X4(n)+jX5(n)

end

n45 = 0:19;

N1 = input('请输入X1到X5,FFT变换区间N(8或16):');

N2 = input('请输入X6的FFT变换区间N(16,32或64):');

%x6

fs = 64;%抽样频率,单位Hz

n6=0:N2-1;

x6 = cos(8.*pi.*n6./fs)+cos(16.*pi.*n6./fs)+cos(20.*pi.*n6./fs);

%% 绘图时间序列波形图

figure;

subplot(2,3,1);stem(n1,x1,'r','LineWidth',2);legend('原始信号X1');grid on; subplot(2,3,2);stem(n23,x2,'g','LineWidth',2);legend('原始信号X2');grid on; subplot(2,3,3);stem(n23,x3,'c','LineWidth',2);legend('原始信号X3');grid on; subplot(2,3,4);stem(n45,x4,'b','LineWidth',2);legend('原始信号X4');grid on;

subplot(2,3,5);stem(n45,x5,'k','LineWidth',2);legend('原始信号X5');grid on; subplot(2,3,6);stem(n6,x6,'m','LineWidth',2);legend('原始信号X6');grid on;

%% 逐个进行谱分析

X1 = fftshift(fft(x1,N1));

X2 = fftshift(fft(x2,N1));

X3 = fftshift(fft(x3,N1));

X4 = fftshift(fft(x4,N1));

X5 = fftshift(fft(x5,N1));

X6 = fftshift(fft(x6,N2));

figure;

subplot(2,3,1);stem(abs(X1),'r','LineWidth',2);legend('信号X1的FFT');grid on;%幅频特性

subplot(2,3,2);stem(abs(X2),'g','LineWidth',2);legend('信号X2的FFT');grid on;%幅频特性

subplot(2,3,3);stem(abs(X3),'c','LineWidth',2);legend('信号X3的FFT');grid on;%幅频特性

subplot(2,3,4);stem(abs(X4),'b','LineWidth',2);legend('信号X4的FFT');grid on;%幅频特性

subplot(2,3,5);stem(abs(X5),'k','LineWidth',2);legend('信号X5的FFT');grid on;%幅频特性

subplot(2,3,6);stem(abs(X6),'m','LineWidth',2);legend('信号X6的FFT');grid on;%幅频特性

%% 计算相加

Xn = fftshift(fft(x_1,8));

X_n = fftshift(fft(x_2,8));

Xn1 = fftshift(fft(x_1,16));

X_n1 = fftshift(fft(x_2,16));

figure;

subplot(2,2,1);stem(abs(Xn),'r','LineWidth',2);legend('8点

X(n)=X4(n)+X5(n)');grid on;%幅频特性

subplot(2,2,2);stem(abs(X_n),'g','LineWidth',2);legend('8点

X(n)=X4(n)+jX5(n)');grid on;%幅频特性

subplot(2,2,3);stem(abs(Xn1),'r','LineWidth',2);legend('16点

X(n)=X4(n)+X5(n)');grid on;%幅频特性

subplot(2,2,4);stem(abs(X_n1),'g','LineWidth',2);legend('16点

X(n)=X4(n)+jX5(n)');grid on;%幅频特性

%

% 思考题1 结论是一样

FFT_x2 = abs(fft(x2,8));%fft变换

FFT_x3 = abs(fft(x3,8));%fft变换

FFT_x2_1 = abs(fft(x2,16));%fft变换

FFT_x3_1 = abs(fft(x3,16));%fft变换

figure;

subplot(2,2,1);stem(FFT_x2,'r','LineWidth',2);legend('8点 X2(n)幅频特性');grid on;

subplot(2,2,2);stem(FFT_x2_1,'r','LineWidth',2);legend('16点 X2(n)幅频特性');grid on;

subplot(2,2,3);stem(FFT_x3,'g','LineWidth',2);legend('8点 X3(n)幅频特性');grid on;

subplot(2,2,4);stem(FFT_x3_1,'g','LineWidth',2);legend('16点 X3(n)幅频特性');grid on;

%

%

% % X1 = fftshift(fft(x5,8));

% % X2 = fftshift(fft(x5,16));

% % subplot(2,2,1);stem(n45,x5,'k','LineWidth',2);legend('原始信号X5');grid on;

% % subplot(2,2,3);stem(abs(X1),'k','LineWidth',2);legend('信号X5的8点

FFT');grid on;

% % subplot(2,2,4);stem(abs(X2),'k','LineWidth',2);legend('信号X5的16点FFT');grid on;

哈工大信息与通信工程培养

学科专业代码:0810 学科专业代码:信息与通信工程 类型:学术研究型 一、研究方向 1. 宽带通信理论与技术 2. 信息传输理论与编码技术 3. 移动通信与卫星通信技术 4. 新体制雷达理论与技术 5. 现代信号处理理论与技术 6. 雷达成像与目标识别技术 7. 数字图象处理理论与技术 8. 信息对抗理论与技术 9. 数据采集理论与应用 10.遥感信息处理与应用技术

说明: 1. 学术研究型硕士研究生必须修满35学分。其中公共学位课(GXW)9学分,学科基础课(XW)8学分,学科专业课(XW)6学分,选修课(X)6.5学分,专题课(ZT)2学分,实践课(ZX)3.5学分,学术活动1学分,外语学术论文1学分。 2. 学生选课应在教师指导下进行,并经过院系主管负责人确认,对于选课人数不超过10人的选修课原则上不允许开设。 3. 学术活动要求在导师的指导下,在课题组范围内进行一次学术报告,或者在研究生论坛活动中进行一次学术报告。 4. 外语学术论文的要求毕业前发表或投稿一篇外文学术论文。

学科专业代码:0810 学科专业代码:信息与通信工程 类型:应用研究型 一、研究方向 1.通信系统设计与优化 2.数字信号传输技术 3.移动通信系统 4.雷达信号处理技术 5.信号处理技术及应用 6.软件无线电技术及应用 7.数字图象处理与应用 8.信息安全与对抗技术 9.高速数据采集与大容量存储技术 10.遥感信息处理与应用技术 二、课程设置

说明: 1. 应用研究型硕士研究生必须修满31学分。其中公共学位课(GXW)9学分,学科基础课(XW) 4学分,学科专业课(XW)4学分,选修课(X)7学分,专题课(ZT)2学分,实践课(ZX)3学分,人文管理课2学分。 2. 学生选课应在教师指导下进行,并经过院系主管负责人确认,对于选课人数不超过10 人的选修课原则上不允许开设。 3. 人文管理类课程由研究生院统一设置,供学生选修。 4. 实践课可以是软件或硬件设计类课程(也可以通过在校外企业及研究所参加实习或论文工作获得实践课学分)。

数据库系统基础课后题

《数据库系统基础》课后练习题 数据库系统基础 课后练习题 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 1.分别用关系代数、元组演算、SQL语句完成CAP数据库的查询。 CAP数据库有四个关系(表): Customers(cid, cname, city, discnt), 客户定义表,描述了客户的唯一标识 cid,客户名称cname,客户所在的城市city,以及该客户购买产品时所可能给予的折扣discnt Agents(aid, aname, city, percent), 代理商定义表,描述了代理商的唯一标识aid, 代理商名称aname, 代理商所在的城市city,以及该代理商销售产品时所可能给予的佣金/提成percent(以百分比形式表达) 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (1) 找出订单总价大于或者等于$1000的(ordno, pid)对 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (2) 找出所有价格在$0.50和$1.00之间的商品名字,包括边界价格 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (3) 找出订单价格低于$500的(ordno, cname)对,使用一次连接 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (4) 找出所有三月份接受的订单的(ordno, aname)对,使用一次连接 哈尔滨工业大学计算机科学与技术学院

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

哈工大DSP大作业

DSP-F2812的最小系统设计 姓名 学号 班级 时间

一、设计目的: TMS320F2812DSP是TI公司一款用于控制的高性能、多功能、高性价比的32位定点DSP。它整合了DSP和微控制器的最佳特性,集成了事件管理器,A/D转换模块、SCI通信接口、SPI外设接口、eCAN 总线通信模块、看门狗电路、通用数字I/O口、多通道缓冲串口、外部中断接口等多个功能模块,为功能复杂的控制系统设计提供了方便,同时由于其性价比高,越来越多地被应用于数字马达控制、工业自动化、电力转换系统、医疗器械及通信设备中。 通过本课程的学习,我对DSP的各个模块有了较为深入的了解,希望可以通过对最小系统的设计,进一步加深对DSP的学习,能在实践中运用DSP,提高自己的动手实践能力。 二、设计思路 所谓最小系统就是由主控芯片加上一些电容、电阻等外围器件构成,其能够独立运行,实现最基本的功能。为了验证DSP的最基本的功能,我设计了如下单元:有源电路的设计、复位电路及JATG下载口电路的设计、外扩RAM的设计、串口电路的设计、外扩A/D模块电路的设计。 三、详细设计步骤和原理 1、电源电路的设计 TMS320F2812工作时所要求的电压分为两部分:3.3V的Flash电压和1.8V的内核电压。TMS320F2812对电源很敏感,所以在此推荐

选择电压精度较高的电源芯片TPS767D318。TPS767D318芯片输入电压为+5V,芯片起振,正常工作之后,能够产生3.3V和1.8V两种电压电压供DSP使用。如下图所示: 2、复位电路及JATG下载口电路的设计 考虑到TPS767D301芯片自身能够产生复位信号,此复位信号可以直接供DSP芯片使用,所以不用为DSP设置专门的复位芯片。 在实际设计过程中,考虑到JATG下载口的抗干扰性,在与DSP 相连接的接口均需要采用上拉设计。

HIT软件学院数据库实验1

哈尔滨工业大学 <<数据库系统>> 实验报告之一 (2014年度春季学期)

实验一交互式SQL语言 一、实验目的 ●掌握SQL语句的语法 ●着重熟悉掌握利用SQL编写Select查询的方法 ●熟悉SQLite的用法 二、实验内容 ●1) 双击打开sqlite3.exe,该程序为SQLite数据库管理系统 ●2) 利用.help查看SQLite支持的控制台系统命令。注意系统命令结尾处 没有结束符“;”

●3) 阅读.help中对.databases 命令的说明,并查看输出结果 ●4) 阅读.help中对.open命令的说明,并使用该命令创建一个数据库(名 字任意)后缀名统一为“.db3”(可以没有后缀名,但不推荐) ●5) 再次运行.databases 命令,与步骤3的输出结果对比 ●6) 阅读.help中对.tables命令的说明,并使用该命令查看当前数据库的所 有表 ●7) 创建满足要求的关系表(使用create table) ●表一 ●表名:College(存储大学的信息) ●属性:cName(字符串存储的大学名字),state(字符串格式的大学所在

州),enrollment(整数形式的大学入学学费) ●表二 ●表名:Student(存储学生的信息) ●属性:sID(整数形式的学号),sName(字符串形式的学生名字),GPA (小数形式的成绩),sizeHS(整数形式的所在高中规模) ●表三 ●表名:Apply(存储学生申请学校的信息) ●属性:sID(整数形式的学号),cName(字符串形式的大学名字),major (字符串形式的专业名字),decision(字符串形式的申请结果) ●8)利用.tables查看当前数据库中的表,对比步骤6中的运行结果 ●9) 利用如下命令,将存储在txt文件中的元组导入数据库的关系中●.separator "," ●.import dbcollege.txt College ●.import dbstudent.txt Student ●.import dbapply.txt Apply

西电数字信号处理上机实验报告

数字信号处理上机实验报告 14020710021 张吉凯 第一次上机 实验一: 设给定模拟信号()1000t a x t e -=,t 的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的()a x t 进行采样。 ○1()()15000s a f x t x n =以样本秒采样得到。 ()()11j x n X e ω画出及其频谱。 ○2()()11000s a f x t x n =以样本秒采样得到。 ()() 11j x n X e ω画出及其频谱。 比较两种采样率下的信号频谱,并解释。 (1)MATLAB 程序: N=10; Fs=5; T s=1/Fs; n=[-N:T s:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))');

ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为%fKHZ\n',eband); 运行结果: 等效带宽为12.110000KHZ

哈工大 试验方法数字信号处理 作业二

题目: 根据已知位移曲线,求速度曲线 要求: ? 由数据文件画出位移曲线( Δt=0.0005s ); ? 对位移数据不作处理,算出速度并画出速度曲线; ? 对位移数据进行处理,画出位移曲线,并与原位移曲线对比; ? 画出由处理后的位移数据算出的速度曲线; ? 写出相应的处理过程及分析。 1. 由数据文件画出位移曲线( Δt=0.0005s ); MATLAB 程序: data=importdata('dat2.dat'); x=(0.0005:0.0005:55); y=data'; plot(x,y); xlabel('时间/s'); ylabel('位移/mm'); title('原始位移曲线'); 曲线如图: 图1 原始位移曲线 2. 对位移数据不作处理,算出速度并画出速度曲线; MATLAB 程序: clear; data=importdata('dat2.dat'); t X V ??=

x=(0.0005:0.0005:55); y=data'; dt=0.0005; for i=1:109999 dx=y(i+1)-y(i); v(i)=dx/dt; end v(110000)=0; plot(x,v); 速度曲线: 图2 原始速度曲线 3.对位移数据进行处理,画出位移曲线,并与原位移曲线对比; 先对位移信号进行快速傅里叶变换: MATLAB程序:fft(y) 结果如图: 图3 原始位移曲线FFT变换

可以得知:频率在0附近为有用的位移信号,而频率大于0HZ的信号则为干扰信号,被滤去。 MATLAB程序: data=importdata('dat2.dat'); x=0.0005:0.0005:55; y=data'; wp=1/1000;ws=4/1000; [n,Wn]=buttord(wp,ws,0.7,20); %使用buttord函数求出阶数n,截止频率Wn。 [b,a]=butter(n,Wn); %使用butter函数求出滤波系数。 y2=filter(b,a,y); plot(x,y2); 曲线如图: 图4 滤波后位移曲线 与原位移曲线对比如下图: 图5 滤波后位移曲线与原曲线对比

数字信号处理上机实验代码

文件名:tstem.m(实验一、二需要) 程序: f unction tstem(xn,yn) %时域序列绘图函数 %xn:被绘图的信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel('yn'); axis([0,n(end),min(xn),1.2*max(xn)]); 文件名:tplot.m(实验一、四需要) 程序: function tplot(xn,T,yn) %时域序列连续曲线绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) %T为采样间隔 n=0;length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]); 文件名:myplot.m(实验一、四需要)

%(1)myplot;计算时域离散系统损耗函数并绘制曲线图。function myplot(B,A) %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000) m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); 文件名:mstem.m(实验一、三需要) 程序: function mstem(Xk) %mstem(Xk)绘制频域采样序列向量Xk的幅频特性图 M=length(Xk); k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值) stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度'); axis([0,2,0,1.2*max(abs(Xk))]); 文件名:mpplot.m(实验一需要)

数据库实验三

实验三订购数据库 (一)数据定义 一、基本表操作 1.建立基本表 1)创建仓库表,由以下属性组成:仓库号(CHAR 型),城市(CHAR 型),面积(INT 型)。其中仓库号为主码,并且有面积>0 的限定条件 2)创建职工表,由以下属性组成:仓库号(CHAR型),职工号(CHAR型),工资(INT型)。其中职工号为主码,仓库号为外码,工资的限定条件为1000<=工资<=5000。 3)创建供应商表,由以下属性组成:供应商号(CHAR型),供应商名(CHAR型),地址(CHAR 型)。其中供应商号为主码。 4)创建订购单表,由以下属性组成:职工号(CHAR型),供应商号(CHAR型),订购单号(CHAR 型),订购日期(CHAR型)。其中订购单号为主码,职工号和供应商号为外码。 2.修改基本表 1)往订购单表中增加一个新的属性“完成日期”,DATETIME型,并且允许为空值。 2)将职工表中的工资属性类型改为SMALLINT 型。 3)删除刚才在订购单表中加入的“完成日期”属性。 二、索引操作 1.建立索引 1)在订购单表上建立关于供应商号的普通索引supidx。 2)在订购单表的多个字段建立索引sup_empidx,先按照供应商号升序索引,然后按照职工号升序索引。 2.删除索引 1)删除订购单表上的索引supidx。 2)删除订购单表上的索引sup_empidx。 (二)数据操作 一、插入数据 1)向仓库表插入下列数据:WH1,北京,370 WH2,上海,500 WH3,广州,200 WH4,武汉,400 2)向职工表插入下列数据:WH2,E1,1220 WH4,E2,1270 WH1,E3,1210 WH2,E4,1250 WH3,E5,1200 WH3,E6,1230 WH1,E7,1250 3)向供应商表插入下列数据: S1,利民电子元件厂,上海 S2,联华电子公司,武汉 S3,振华电子厂,西安

数字信号处理上机实验(第三版)

数字信号处理实验(Matlab) 实验一: 系统响应及系统稳定性 %实验1:系统响应及系统稳定性 close all;clear all %======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图 title('(a)系统单位脉冲响应h(n)');box on y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y); title('(b)系统对R8(n)的响应y1(n)');box on y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y); title('(c)系统对u(n)的响应y2(n)');box on %===内容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)];

北邮大数据库实验三

实验三完整性及视图、索引 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。 【实验目的】 掌握MySQL视图、索引的使用,理解什么是数据库的完整性。 【实验要求】 1、每完成一个任务,截取全屏幕快照1~3作为中间步骤和结果的贴图,粘贴在最后的实验报告中。 2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。 3、思考题可以选做,作为优秀加分的依据。 【实验任务】 1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号 及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、 课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

3、为院系代码表(dept_code)创建基于“院系代码”列的索引。 4、为教室信息表(classroom_info)创建基于room_id列的惟一索引并插入一 条room_id列与表中已有的值重复的数据,观察系统的反馈。

5、重新修改表stud_info、lesson_info及stud_grade,修改的容为: ①为三表增加主码约束,stud_info的主码为stud_id,lesson_info的主码为 course_id,stud_grade的主码为stud_id、course_id。

哈工大数字信号处理实验报告

实验一: 用FFT 作谱分析 实验目的: (1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。 (2) 熟悉FFT 算法原理和FFT 子程序的应用。 (3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。 实验原理: DFT 的运算量: 一次完整的DFT 运算总共需要2N 次复数乘法和(1)N N -复数加法运算,因而 直接计算DFT 时,乘法次数和加法次数都和2N 成正比,当N 很大时,运算量很客观的。例如,当N=8时,DFT 运算需64位复数乘法,当N=1024时,DFT 运算需1048576次复数乘法。而N 的取值可能会很大,因而寻找运算量的途径是很必要的。 FFT 算法原理: 大多数减少离散傅里叶变换运算次数的方法都是基于nk N W 的对称性和周期 性。 (1)对称性 ()*()k N n kn kn N N N W W W --==

(2)周期性 ()(mod`)()()kn N kn n N k n k N N N N N W W W W ++=== 由此可得 ()()/2 (/2)1 n N k N n k nk N N N N N k N k N N W W W W W W ---+?==?=-??=-? 这样: 1.利用第三个方程的这些特性,DFT 运算中有些项可以合并; 2.利用nk N W 的对称性和周期性,可以将长序列的DFT 分解为短序列的DFT 。 前面已经说过,DFT 的运算量是与2N 成正比的,所以N 越小对计算越有利, 因而小点数序列的DFT 比大点数序列的DFT 运算量要小。 快速傅里叶变换算法正是基于这样的基本思路而发展起来的,她的算法基本 上可分成两大类,即按时间抽取法和按频率抽取法。 我们最常用的是2M N =的情况,该情况下的变换成为基2快速傅里叶变换。 完成一次完整的FFT 计算总共需要 2log 2 N N 次复数乘法运算和2log N N 次复数加法运算。很明显,N 越大,FFT 的优点就越突出。 实验步骤 (1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。 (2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。 (3) 编制信号产生子程序, 产生以下典型信号供谱分析用:

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

数据库实验三

注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 掌握使用T-SQL语句创建、删除数据库的方法。 (2) 掌握使用T-SQL语句创建、修改、删除表的方法。 (3) 掌握使用T-SQL语句创建、删除数据库完整性约束条件的方法。 (4) 掌握使用T-SQL语句对表添加、修改、删除数据的方法。 (5) 掌握使用T-SQL语句创建、修改、删除、查询视图的方法。 三、实验要求 (1) 使用SQL Server 2008查询分析器。 (2) 严格依照操作步骤进行。 (3) 在本地服务器中创建和管理数据库。 四、实验环境 (1) PC机。 (2) SQL Server 2008。 五、实验内容及步骤(请特别注意实验步骤:第6项的第1小项,即“插入数据”操作必须在第4项以前执行) ??? 1.使用Transact-SQL语句创建JOBS数据库,数据库名格式为 JOBS_SunYu(即JOBS_你的中文名字拼音) CREATE Database JOBS_DengZhiPeng;

2.使用Transact-SQL语句创建JOBS数据库包含的所有表 EMPLOYEE CREATE TABLE EMPLOYEE( EMPNO SMALLINT NOT NULL, SUPNAME VARCHAR(50)NOT NULL, FORENAMES VARCHAR(50)NOT NULL, DOB DATE NOT NULL, ADDRESS VARCHAR(50)NOT NULL, TELNO CHAR(10)NOT NULL, DEPNO SMALLINT NOT NULL ); JOBHISTORY CREATE TABLE JOBHISTORY( EMPNO SMALLINT NOT NULL, POSITION VARCHAR(50)NOT NULL, STARDATE DATE NOT NULL, ENDDATE DATE NULL, SALARY INT NOT NULL ); COURSE CREATE TABLE COURSE( COURSENO SMALLINT NOT NULL, CNAME VARCHAR(50)NOT NULL, CDATE DATE NOT NULL ); DEPARTMENT CREATE TABLE DEPARTMENT( DEPNO SMALLINT NOT NULL, DNAME VARCHAR(50)NOT NULL, LOCATION VARCHAR(10)NOT NULL, HEAD SMALLINT NOT NULL ); EMPCOURSE CREATE TABLE EMPCOURSE( EMPNO SMALLINT NOT NULL,

DSP大作业(哈工程)

DSP原理与应用 学号: 姓名: 日期:2017年5月23日星期二

1.DSP的生产厂商主要有哪些?分别有什么系列? 答: ①德州仪器公司(最有名的DSP芯片厂商)。TI公司在市场上主要的三个系 列产品: (1)面向数字控制、运动控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240x/LF240x、TMS320C24xA/LF240xA、TMS320C28xx等; (2)面向低功耗、手持设备、无线终端应用的TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x等; (3)面向高性能、多功能、复杂应用领域的TMS320C6000系列,主要包括TMS320C62xx、TMS320C64xx、TMS320C67xx等。 ②美国模拟器件公司。其主要的系列: (1)定点DSP芯片有ADSP2101/2103/2105、ADSP2111/2115、ADSP2126/2162/2164、ADSP2127/2181、ADSP-BF532以及Blackfin系列; (2)浮点DSP芯片有ADSP21000/21020、ADSP21060/21062,以及虎鲨TS101、TS201S。 ③Motorola公司(发布较晚)。其主要的系列包括: (1)定点DSP 处理器MC56001; (2)与IEEE浮点格式兼容的的浮点DSP芯片MC96002; (3)DSP53611、16位DSP56800、24位的DSP563XX和MSC8101等产品。 ④杰尔公司。主要系列有: 嵌入式DSP内核的SC1000和SC2000系列,主要面向电信基础设施、移动通信、多媒体服务器及其它新兴应用。 2.浮点DSP和定点DSP各自有什么特点? 答: 浮点DSP和定点DSP在宏观上有很大的特点区别,包括动态范围、速度、价格等等。 (1)动态范围:定点DSP的字长每增加1bit,动态范围扩大6dB。16bit字长的动态范围为96dB。程序员必须时刻关注溢出的发生。例如,在作图像处理时,图像作旋转、移动等,就很容易产生溢出。这时,要么不断地移位定标,要么作截尾。前者要耗费大量的程序空间和执行时间,后者则很快带来图像质量的劣化。总之,是使整个系统的性能下降。在处理低信噪比信号的场合,例如进行语音识别、雷达和声纳信号处理时,也会发生类似的问题。 32bit浮点运算DSP的动态范围可以作到1536dB,这不仅大大扩大了动态范围,提高了运算精度,还大大节省了运算时间和存储空间,因为大大减少了定标,移位和溢出检查。 由于浮点DSP的浮点运算用硬件来实现,可以在单周期内完成,因而其处理速度大大高于定点DSP。这一优点在实现高精度复杂算法时尤为突出,为复杂算法的实时处理提供了保证。 32bit浮点DSP的总线宽度较定点DSP宽得多,因而寻址空间也要大得多。这一方面为大型复杂算法提供了可能、因为省的DSP目标子程序已使用到几十MB存储器或更多;另一方面也为高级语言编译器、DSP操作系统等高级工具软件的应用提供了条件。DSP的进一步发展,必然是多处理器的应用。新型的浮点DSP已开始在通信口的设置和强化、资源共享等方面有所响应。

数字信号处理上机报告-一

数字信号处理上机报告-一

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()1000t a x t e -=,的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的进行采样。 ○1 。 ○2 。 比较两种采样率下的信号频谱,并解释。 实验一MATLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); t ()a x t ()()15000s a f x t x n =以样本秒采样得到。()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本秒采样得到。()() 11j x n X e ω画出及其频谱

axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e ^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果:

数字信号处理上机实验答案完整版

数字信号处理上机实验 答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

第十章上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 functiontstem(xn,yn) %时域序列绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) n=0:length(xn)-1; stem(n,xn,'.');boxon xlabel('n');ylabel(yn); axis([0,n(end),min(xn),*max(xn)]) 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可

数字信号处理上机实验答案(第三版)

实验1:系统响应及系统稳定性 实验程序清单: close all;clear all %======容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';stem(hn, 'y'); %调用函数tstem绘图 title('(a) 系统单位脉冲响应h(n)'); y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';stem(y1n,'y'); title('(b) 系统对R8(n)的响应y1(n)'); y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';stem(y2n,'y'); title('(c) 系统对u(n)的响应y2(n)'); %===容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n); y22n=conv(h2n,x1n); figure(2) subplot(2,2,1);y='h1(n)';stem(h1n,'y'); %调用函数tstem绘图 title('(d) 系统单位脉冲响应h1(n)'); subplot(2,2,2);y='y21(n)'; stem(y21n,'y'); title('(e) h1(n)与R8(n)的卷积y21(n)'); subplot(2,2,3);y='h2(n)'; stem(h2n, 'y'); %调用函数tstem绘图 title('(f) 系统单位脉冲响应h2(n)'); subplot(2,2,4);y='y22(n)';stem(y22n,'y'); title('(g) h2(n)与R8(n)的卷积y22(n)'); %=========容3:谐振器分析======================== un=ones(1,256); %产生信号u(n) n=0:255; xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号 A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n) y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n) figure(3) subplot(2,1,1);y='y31(n)';stem(y31n,'y'); title('(h) 谐振器对u(n)的响应y31(n)'); subplot(2,1,2);y='y32(n)';stem(y32n,'y'); title('(i) 谐振器对正弦信号的响应y32(n)');

数据库实验三报告

江西师范大学计算机信息工程学院学生实验报告专业___计算机科学与技术__ 姓名___燕悦__ 学号__1408091077_ 日期__ __

四.程序及运行结果(或实验数据记录及分析) 针对S_T数据库: 1)创建三个表:student course sc。程序: use S_T go /*创建Student表*/ create table student( Sno char(5) primary key not null check(Sno like '[0-9][0-9][0-9][0-9][0-9]'), Sname char(20) not null, Ssex char(2) not null check(Ssex in ('男','女')), Sage smallint not null check(Sage between 14 and 38), Sdept char(20) not null ); /*创建Course表*/ create table course( Cno char(4) not null primary key check(Cno like '[0-9][0-9][0-9][0-9]'), Cname char(40) not null, Cpno char(4), Ccredit smallint not null ); /*创建SC表*/ create table sc( Sno char(5) not null , Cno char(4) not null, Grade smallint check(Grade between 0 and 100), primary key(Sno,Cno)); 执行结果: 2)对course表进行修改。程序: /*修改course表,为Cpno列添加一个外键约束*/ alter table course add foreign key (Cpno) references course(Cno); 执行结果:

相关主题
文本预览
相关文档 最新文档