当前位置:文档之家› 《数字信号处理》上机实验指导

《数字信号处理》上机实验指导

《数字信号处理》上机实验指导
《数字信号处理》上机实验指导

《数字信号处理》上机实验指导 实验一、Z 变换及离散时间系统分析

(一)、实验目的

1、通过本实验熟悉Z 变换在离散时间系统分析中的地位和作用。

2、掌握并熟练使用有关离散系统分析的MATLAB 调用函数及格式,以深入理解离散时间系统的频率特性。

(二)、实验内容及步骤

对于一个给定的LSI 系统,其转移函数H(z)习惯被定义为H(z)=B(z)/A(z),即:

a

b

n a n b z n a z a z a z n b z b z b A B H ------++++++++++==)1(...)3()2(1)1(...)3()2()1(b )z ()z ()z (2121 公式中b n 和a

n 分别是H(Z)分子与分母多项式的阶次,在有关MATLAB 的系统分析的文件中,分子和分母的系数被定义为向量,即

)]1(),...,2(),1([)]

1(),...,2(),1([+=+=a b n a a a a n b b b b

并要求)1(a =1,如果)1(a ≠1,则程序将自动的将其归一化为1。

1、系统的阶跃响应

调用格式为:

y=filter(b,a,x),其中x,y,a,b 都是向量。

例1 令

4

321432155075.02925.28291.30544.31001836.0007374.0011016.0007344.0001836.0)z (--------+-+-++++=z z z z z z z z H 求该系统的阶跃响应(y (n ))。实现该任务的程序如下:

clear;

x=ones(100);% x(n)=1,n=1~100;

t=1:100;% t 用于后面的绘图;

b=[.001836,.007344,.011016,.007374,.001836]; % 形成向量b ;

a=[1,-3.0544,3.8291,-2.2925,.55075]; % 形成向量a ; y=filter(b,a,x);

% 求所给系统的输出,本例实际上是求所给系统的阶跃响应; plot(t,x,'r.',t,y,'k-');grid on;% 将x(n)(绿色)y(n)(黑色)画在同一个

%图上;

ylabel('x(n) and y(n)')

xlabel('n')

2、单位抽样响应h(n)

调用格式为:

h=impz(b ,a ,N) 或 [h ,t]=impz(b ,a ,N)

其中N 是所需的h(n)的长度,前者绘图时n 从1开始,而后者从0开始。

例2、求上例所给系统的单位抽样响应h(n)。

实现该任务的程序如下:

clear;

b=[.001836,.007344,.011016,.007374,.001836];

a=[1,-3.0544,3.8291,-2.2925,.55075];

[h,t]=impz(b,a,40); % 求单位抽样响应

stem(t,h,'.');grid on;

3、求频率响应)

H

e(jw

基本调用格式为:[H,w]=freqz(b,a,N,‘whole’,Fs)

其中N是频率轴的分点数,建议N为2的整次幂;w是返回频率轴坐标向量,供绘图用;Fs是抽样频率,若Fs=1,频率轴给出归一化频率;whole指定计算的频率范围是从0~Fs,缺省时是从0~Fs/2。例3、求例1所给系统的频率响应)

H。

e(jw

实现该任务的程序如下:

clear all;

b=[.001836,.007344,.011016,.007374,.001836];

a=[1,-3.0544,3.8291,-2.2925,.55075];

[H,w]=freqz(b,a,256,1);

Hr=abs(H);%绝对值(幅值);

Hphase=angle(H);%相位角;

Hphase=unwrap(Hphase); % 解卷绕

subplot(211)

plot(w,Hr);grid on;

ylabel(' Amplitude Freq. Res.')

subplot(212)

plot(w,Hphase);grid on;

ylabel(' Phase Freq. Res.')

4、离散系统的极零图

调用格式:zplane(z,p) 或zplane(b,a)

前者是在已知系统零点的列向量z 和极点的列向量p 的情况下画出的极零图,后者是在已知B(z),A(z)的情况下的极零图。 例4、显示例1系统及FIR 系统321648.053.17.11)z (----+-=z z z H 的极零图。

实现该任务的程序为:

clear;

b=[.001836,.007344,.011016,.007374,.001836];

a=[1,-3.0544,3.8291,-2.2925,.55075];

subplot(221);

zplane(b,a); % 求并画出所给系统的极零图,该系统为IIR 系统; b=[1 -1.7 1.53 -0.68];

a=1;

subplot(222);

zplane(b,a); % 求并画出第二个系统的极零图,该系统为FIR 系统

(三)、作业

给定系统)8.0/(2.0)(2+-=z z H ,编程并绘出系统的单位阶跃响应y(n),

频率响应)

H。给出实验报告。

e(jw

实验二、快速傅里叶变换

(一)、实验目的

1、通过本实验进一步加深对快速傅里叶变换的理解。

2、会熟练运用fft,ifft,czt实现线性调频z变换。

(二)、实验内容

1、快速傅里叶变换(fft)

调用格式为X=fft(x) 或X=fft(x,N)

对前者,若x的长度是2的整次幂,则按该长度实现x的快速变换,否则,实现的是非2 的整次幂的变换;对后者,N应为2的整次幂,若x得长度小于N,则补零,若超过N,则舍弃N以后的数据。ifft 的调用格式与之相同。

例1、令x(n)是两个正弦信号及白噪声的叠加,试用fft文件对其作频谱分析。

实现该任务的程序为:

clear all;

% 产生两个正弦加白噪声;

N=256;% 2的8次幂,进行8级蝶形运算;

f1=.1;f2=.2;fs=1;

a1=5;a2=3;

w=2*pi/fs;

x=a1*sin(w*f1*(0:N-1))+a2*sin(w*f2*(0:N-1))+randn(1,N);

% 应用FFT 求频谱;

subplot(3,1,1);

plot(x(1:N/4));%作图向量x的第一到第N/4个值;

f=-0.5:1/N:0.5-1/N;

X=fft(x); % 快速傅里叶变换;

y=ifft(X);% 快速傅里叶逆变化

subplot(3,1,2);

plot(f,fftshift(abs(X)));

subplot(3,1,3);

plot(real(y(1:N/4))); %作图向量y的第一到第N/4个值的实部;

附:fftshift函数

fftshift函数就是一个交换函数:

交换规则如下:

如:x=[1 2 3 4 5 6 7 8];

y=fftshift(x);

then y=[5 6 7 8 1 2 3 4];

其在fft运算里的物理意义:

把0频(低频)周围的频谱搬移到中频范围(采样频率的一半),只是形象化的展示FT变换后的低频成分(正负频率)。

其实质是把Fs/2的右边频谱平移到Fs/2的左边,把低频平移到Fs/2的右边,各图象间距不变。

2、线性调频Z变换(CZT)

CZT可用来计算单位圆上任一段曲线上的Z变换,做DFT时输入的点数N和输出的点数可以不相等,从而达到频域“细化”的目的。CZT在单位圆上的Z变换就是傅里叶变换。

其调用格式为:X=czt(x,M,W,A)

式中x是待变换的时域信号x(n),其长度设为N,M 是变换的长度,W确定变换的步长,A确定变换的起点。若M=N,A=1,则CZT变成DFT。CZT应用举例:

例2、设x(n)由三个实正弦组成,频率分别是8Hz,8.22Hz,9Hz,抽样频率为40 Hz,时域取128点,作CZT变换和FFT变换。

实现该任务的程序为:

clear all;

% 构造三个不同频率的正弦信号的叠加作为试验信号

N=128;

f1=8;f2=8.22;f3=9;fs=40;

stepf=fs/N;

n=0:N-1;

t=2*pi*n/fs;

n1=0:stepf:fs/2-stepf;

x=sin(f1*t)+sin(f2*t)+sin(f3*t); M=N;

W=exp(-j*2*pi/M);

% A=1时的czt变换

A=1;

Y1=czt(x,M,W,A);

subplot(311)

plot(n1,abs(Y1(1:N/2)));grid on;

% DTFT

Y2=abs(fft(x));

subplot(312)

plot(n1,abs(Y2(1:N/2)));grid on;

% 详细构造A后的czt

M=60;

f0=7.2;

DELf=0.05;

A=exp(j*2*pi*f0/fs);

W=exp(-j*2*pi*DELf/fs);

Y3=czt(x,M,W,A);

n2=f0:DELf:f0+(M-1)*DELf;

subplot(313);plot(n2,abs(Y3));grid on;

(三)、作业

设x(n)由三个实正弦组成,频率分别是8Hz,9Hz,10Hz,抽样频率为60 Hz,时域取256点,作CZT变换、IFFT变换和FFT变换,观察波形,更改参数,得出不同参数下的CZT变换波形。给出实验报告。

实验三、无限冲击响应数字滤波器设计

(一)实验目的

1、要求掌握IIR数字滤波器的设计原理、设计方法和设计步骤;

2、能根据给定的滤波器指标进行滤波器设计;

3、掌握数字巴特沃斯滤波器、数字切比雪夫滤波器的设计原理和

步骤;

(二)、实验内容

IIR数字滤波器的设计有多种方法,如频率变换法、数字域直接设计以及计算辅助设计等。下面只介绍频率变换设计法。首先考虑由模拟低通滤波器到数字低通滤波器的转换,其基本的设计过程如下:

1、将数字滤波器的技术指标转换为模拟滤波器的技术指标;

2、设计模拟滤波器G(S);

3、将G(S)转换成数字滤波器H(Z)

在低通滤波器的设计基础上,可以得到数字高通、带通、带阻滤波器的设计流程,以高通数字滤波器的设计为例:

1、 将数字高通滤波器)(z H bhp 的技术指标s p ωω,,通过)

2/tan(ω=Ω转变为模拟高通)(s H bhp 的技术指标s p ΩΩ,,作归一化处理后得

p s s p ΩΩ==/,1ηη;

2、 利用频率变换关系1=λη,将模拟高通)(s H bhp 的技术指标转换

为归一化的低通滤波器G(p)的技术指标,并有p=λj ;

3、 设计模拟低通滤波器G(p);

4、 将G(p)转换为模拟高通滤波器的转移函数)(s H bhp ,p=s /p Ω;

5、 将)(s H bhp 转换成数字高通滤波器的转移函数)(z H bhp ,

s=(z-1)/(z+1)。

以上5个步骤同样适用于数字带通、数字带阻滤波器的设计。只是在步骤2,3,4中频率转换的方法不同。

例1、试设计一个数字高通滤波器,要求带通下限频率p ω=0.8pi,阻

带上限频率为0.44pi,通带衰减不大于3dB,阻带衰减不小于20 dB 。 实现该任务的MATLAB 程序为:

clear all

wp=.8*pi;ws=.44*pi;

rp=3;rs=20;% 通带和阻带的衰减

Fs=2000;% 抽样衰减

%数字高通滤波器的技术指标

% Firstly to finish frequency prewarping;

wap=2*Fs*tan(wp/2)

was=2*Fs*tan(ws/2);% 模拟高通滤波器的技术指标

[n,wn]=buttord(wap,was,rp,rs,'s');

% 确定模拟低通滤波器的阶数

% Note: 's'!

[z,p,k]=buttap(n);% 设计模拟低通原型滤波器,z,p,k分别是设

计出低通原型滤波器的极点,零点及增益

[b,a]=zp2tf(z,p,k)% 零、极点系数转换为传递函数

% 巴特沃斯模拟低通原型滤波器频率响应

[bt,at]=lp2hp(b,a,wap)%由低通滤波器转移函数产生模拟高通滤波器转移函数

%

% Note: z=(2/ts)(z-1)/(z+1);2/ts=1,that is 2fs=1,fs=0.5;

[bz,az]=bilinear(bt,at,Fs)% 由模拟高通滤波器H(s)得到数字高通滤波器H(z)

[h,w]=freqz(bz,az,256,1);%得到频率响应

figure(1)

plot(w,20*log10(abs(h)));grid;%得出幅频图

ylabel(' High-pass DF')

%

% Directly to design H(z) by butter.m

[n,wn]=buttord(wp/pi,ws/pi,rp,rs);% 确定模拟低通滤波器的阶数

[b,a]=butter(n,wp/pi,'high');%直接设计巴特沃思滤波器

[h1,w1]=freqz(b,a,256,1);

h1=20*log10(abs(h1));

figure(2)

plot(w,h1);grid

ylabel(' High-pass DF')

例2、一个数字系统的抽样频率为1000Hz,已知该系统受到频率为100Hz的噪声的干扰,现设计一陷波滤波器)(z

去掉该噪声。要

H

dbs

求3dB的带边频率为95Hz和105Hz,阻带衰减不小于14Db.阻带的下边和上边频率分别为99Hz和101Hz。

实现程序为:

fp=[95 105];fs=[99 101];

%wp=[.19*pi 0.21*pi];ws=[.198*pi 0.202*pi];

Fs=1000;

rp=3;rs=14;

wp=fp*2*pi/Fs;ws=fs*2*pi/Fs;

%

% Firstly to finish frequency prewarping;

wap=2*Fs*tan(wp./2)

was=2*Fs*tan(ws./2);

[n,wn]=buttord(wap,was,rp,rs,'s');

% Note: 's'!

[z,p,k]=buttap(n);

[b,a]=zp2tf(z,p,k)

bw=wap(2)-wap(1)

w0=sqrt(wap(1)*wap(2))

[bt,at]=lp2bs(b,a,w0,bw)%将模拟低通滤波器G(p)转换为实际带阻滤波器

%

% Note: z=(2/ts)(z-1)/(z+1);

[bz1,az1]=bilinear(bt,at,Fs)

[h,w]=freqz(bz1,az1,256,Fs);

figure(1)

plot(w,20*log10(abs(h)))

% Directly to design H(z) by butter.m

[n,wn]=buttord(wp/pi,ws/pi,rp,rs);

[b,a]=butter(n,wp/pi,'stop')

[h1,w1]=freqz(b,a,256,Fs);

figure(2)

plot(w1,20*log10(abs(h1)))

附:

buttord.m

本文件用来确定数字低通或模拟低通滤波器的阶数,其调用格式为

(1)[N,W n]= buttord(W p, W s, R p, R s)

(2)[N,W n]= buttord(W p, W s, R p, R s,‘s’)

格式(1)对应数字滤波器,式中W p, W s分别是通带和阻带的截止频率,实际上他们是归一化频率,其值在0~1之间,1对应抽样频率的一半。R p, R s分别是通带和阻带的衰减,单位是Db。N是求出的相应低通滤波器的阶次,W n是求出的3dB频率。格式(2)对应模拟滤波器,式中各个变量的含义与格式1相同,但W p, W s及W n 的单位为rad/s,因此它们实际上是频率 。

butter.m

本文件可用来直接设计巴特沃思数字滤波器。其调用格式为

(1)[B,A]=butter(N,W n);

(2)[B,A]=butter(N,W n,‘high’);

(3)[B,A]=butter(N,W n,‘stop’);

(4)[B,A]=butter(N,W n,‘s’);

格式1~3用来设计数字滤波器,所以B,A分别是H(z)的分子,分母的系数向量,W n是通带截止频率,其值在0~1之间,1对应抽样频率的一半。若W n是标量,则格式1用来设计低通数字滤波器,若W n 是1*2的向量,则格式1用来设计带通数字滤波器,2用来设计高通数字滤波器,3用来设计带阻数字滤波器,4用来设计模拟滤波器。lp2bp.m

本文件用来将模拟低通滤波器G(p)转换为实际的带通滤波器,其调

用格式为 [B,A]= lp2bp(b,a,W O, B W )

式中b,a 分别是模拟低通原型滤波器G(p)的分子、分母多项式的系数向量,B,A 分别是转换后的H(s)的分子、分母多项式的系数向量, W O 是带通滤波器的中心频率,B W 是其带宽。

(三)、作业

设计一个数字带通滤波器,参数自定。给出实验报告。

实验四、有限冲击响应数字滤波器设计

(一)、实验目的

1、了解无限冲击响应数字滤波器设计和有限冲击响应数字滤波器 设计各自的特点,比较两者的优缺点。

2、掌握用窗函数法设计FIR 数字滤波器的原理和方法。

3、熟悉线性相位FIR 数字滤波器特性。

4、了解各种窗函数对滤波特性的影响。

(二)、实验原理及内容

窗口法的基本思想:根据给定的滤波器技术指标,选择滤波器长度N 和窗函数)(n w ,使其具有最窄宽度的主瓣和最小的旁瓣。

1、窗口法的设计步骤:

(1)、给定理想频响函数)(jw d e H ;

(2)、根据指标选择窗函数。确定窗函数类型的主要依据是过度带宽和阻带最小衰耗的指标;

(3)、由)(jw d e H 求)(n h d ,加窗得)()()(n w n h n h d ?=;

(4)、检验。由)(n h 求)(jw e H ,求)(jw e H 是否在误差容限之内。

2、常用MATLAB 文件介绍

fir1.m

本文件采用窗函数法设计FIR 数字滤波器,其调用格式为

(1) b=fir1(N,W n )

(2) b=fir1(N,W n ,‘high ’)

(3) b=fir1(N,W n ,‘stop ’)

式中N 为滤波器的阶数,因此滤波器的长度为N+1; W n 是通带截止频率,其值在0~1之间,1对应抽样频率的一半;b 是设计好的滤波器系数h(n).对格式1,若W n 是一标量,则可用来设计低通滤波器;若W n 是1*2的向量,则用来设计带通滤波器;若W n 是1*L 的向量,则可用来设计L 带通滤波器,这时,格式1 要改为 b=fir1(N,W n ,‘DC-1’) 或 b=fir1(N,W n ,‘DC-0’)

前者保证第一个带为通带,后者保证第一个带为阻带。格式2用来设计高通滤波器,3用来设计带阻滤波器。在上述所有格式中,若不指定窗函数的类型,fir1自动选择汉明窗。

例1、 设计一FIR 低通滤波器,所希望的频率响应)(jw d e H 在0≤ω≤0.25pi 之间,在0.25pi ≤ω≤pi 之间为0,令N=10,分别用矩形窗和汉明窗设计,观察其幅频响应的特性。

实现该任务的程序为:

clear all;

N=10;

b1=fir1(N,0.25,boxcar(N+1)); % 用矩形窗作为冲激响应的窗函数b2=fir1(N,0.25,hamming(N+1));% 用Hamming窗作为冲激响应的窗函数

M=128;

h1=freqz(b1,1,M);

h2=freqz(b2,1,M);

% 分别求两个滤波器的频率响应;

t=0:10;

subplot(221)

stem(t,b2,'.');hold on;% 绘制火柴梗图;

plot(t,zeros(1,11));grid;%绘制1*11的零数组网格图;

f=0:0.5/M:0.5-0.5/M;

subplot(222)

plot(f,abs(h1),'b-',f,abs(h2),'g-');grid;

fir2.m

本文件采用窗函数法设计具有任意幅频响应的FIR数字滤波器,其调用格式为

b=fir2(N,F,M)

其中F是频率向量,其值在0~1之间,M是和F相对应的所希望的幅频响应。如同fir1缺省时自动选用汉明窗。

例2、设计一多带滤波器,要求理想幅频响应在归一化频率0.2~0.3,0.6~0.8之间为1,其余处为0。

实现程序如下(给出了两个不同长度滤波器以作比较):

clear all;

f=[0 0.19 0.2 0.3 0.31 0.59 0.6 0.8 0.81 1];

% 给定频率轴分点;

m=[0 0 1 1 0 0 1 1 0 0];

% 给定在这些频率分点上理想的幅频响应

N1=30;

N2=90;

% 取两种不同的滤波器长度;

b1=fir2(N1,f,m);

b2=fir2(N2,f,m);

% 得到两个滤波器;

subplot(311);

stem(b1,'.');grid;

subplot(312);

stem(b2,'.');grid;

M=128;

[h1,w]=freqz(b1,1,M,1);

[h2,w]=freqz(b2,1,M,1);

subplot(313);

plot(w,abs(h1),'b-',w,abs(h2),'g-');grid;

(三)、作业

设计一FIR 低通滤波器,所希望的频率响应)(jw d e H 在0≤ω≤0.3pi 之间,在0.3pi ≤ω≤pi 之间为0,分别取N=10,20,40,自行选择窗函数,观察其幅频响应的特性。给出实验报告。

数据库原理上机实验指导

数据库原理上机实验指导 一、实验目的和要求 1.实验目的 力图通过本实践课程的学习,使学生掌握数据库管理系统的基本概念、操作方法和管理方法,能够根据用户应用需求设计出合理的数据库应用系统逻辑模型方案,并且实现之。 2.实验要求 本实践课程主要介绍Microsoft SQL Server 2000系统的基本概念、基本知识;讲述数据库管理系统的安装、操作、设计、管理等基本概念及其操作方法;学习如何创建和管理数据库系统的步骤,为承担DBA角色作好准备。重点要求掌握Transact-SQL语言,学会数据库应用系统逻辑模型的设计和实现。 要求学生实验前认真准备,实验后提供实验报告,给出详细实验结果以及设计依据。 实验报告的格式应采用统一封面,统一的实验报告纸。封面应包括:课程名称、实验序号、名称、专业、班级、姓名、同组实验者、实验时间。实验报告内容应包括:实验名称、目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。 二、实验环境介绍 1.硬件设备要求 微型计算机,最好具有局域网环境 2.软件设备要求 Windows 2000或Windows XP操作系统; MS SQL Server 2000数据库管理系统。 三、实验内容和学时分配 1.实验内容 实验1:服务器管理 实验2:创建和管理数据库 实验3:Transact-SQL语言——数据查询 实验4:Transact-SQL语言——数据定义与数据更新 实验5:数据库安全与保护——用户管理和权限管理 实验6:数据库安全与保护——数据完整性 实验7:数据库安全与保护——数据库的一致性和并发性 实验8:数据库安全与保护——数据库的备份与恢复 实验9:存储过程和触发器 实验10:嵌入式SQL的使用

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

数字信号处理实验一

实验一 离散时间信号分析 班级 信息131班 学号 201312030103 姓名 陈娇 日期 一、实验目的 掌握两个序列的相加、相乘、移位、反褶、卷积等基本运算。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为+∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)) (n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 ∑∞ -∞==-= m n h n x m n h m x n y )(*)()()()( 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。

(2)移位:将)(m h -移位n ,得)(m n h -。当n 为正数时,右移n 位;当n 为负数时,左移n 位。 (3)相乘:将)(m n h -和)(m x 的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。 三、主要实验仪器及材料 微型计算机、Matlab6.5 教学版、TC 编程环境。 四、实验内容 (1)用Matlab 或C 语言编制两个序列的相加、相乘、移位、反褶、卷积等的程序; (2)画出两个序列运算以后的图形; (3)对结果进行分析; (4)完成实验报告。 五、实验结果 六、实验总结

数据库上机实验

学号 12051134 姓名张宏源班级物联网1班上机实验四——SELECT语句基本格式的使用一、实习目的: 掌握SELECT的基本使用格式,能使用SQL Server对表作简单查询。 二、实习准备: 1.复习第三章3.4节中SELECT语句的基本使用格式。 2.复习SQL中五种库函数:AVG、SUM、MAX、MIN、COUNT; 3.完成习题三第12题中的各项操作的SQL语句。 三、实习内容: 1.验证习题三第12题中的各项操作的SQL语句。 ① 找出所有被学生选修了的课程号; Select Distinct Cno From Grade Order by Cno ②找出01311班女学生的个人信息; Select* From Student where Ssex='女'and Clno=01311 ③找出01311班、01312班的学生姓名、性别、出生年份; Select Sname,Ssex,2014-Sage as birthyear From Student where Clno='01311'or Clno='01312' ④找出所有姓李的学生的个人信息; Select* From Student where Sname like'李%' ⑤找出学生李勇所在班级的学生人数; Select number FROM Class where clno= (select Clno from Student

where Sname='李勇' ) ⑥找出课程名为操作系统的平均成绩、最高分、最低分; Select AVG(Gmark),MAX(Gmark),MIN(Gmark) FROM Grade where Cno= (Select Cno from Course where Cname='操作系统' ) ⑦找出选修了课程的学生人数; Select COUNT(Sno)as renshu FROM Grade ⑧找出选修了课程操作系统的学生人数。 Select COUNT(Sno)as renshu FROM Grade where Cno= (Select Cno from Course where Cname='操作系统' ) 2.试一下以下语句是否正确: SELECT eno,basepay,service FROM salary WHERE basepay

pb实验指导

实验一数据库的创建与连接 目的和要求 (1)掌握PowerBuidler9.0数据库的创建与连接方法; (2)创建一个SQL Server数据库,为其配置ODBC数据源和DBProfile,然后在PowerBuilder环境中连接数据库; (3)创建数据库中的表,管理表并输入数据到表中。 上机准备 (l)启动Windows操作系统,如果在Windows操作系统的控制面板中没有安装ODBC32,必须进行ODBC的安装; (2)进人PowerBuilder 9.0集成环境,熟悉系统环境; (3)创建的应用个人应用mypb; (4)复习创建数据库的有关内容。 上机步骤 1..创建SQL Server 数据库 创建SQL Server数据库的步骤: (1)运行SQL Server 服务; (2)运行SQL Server 企业管理器; (3)创建student数据库; (4)在student数据库中,创建student表(见表1)。 2.配置ODBC 数据源 配置ODBC数据源的步骤: (1)在PowerBuilder数据库画板的窗口中,双击ODBC项下Utlities项的“ODBC Administrator”项,将弹出“ODBC数据源管理器”对话框: (2)选择“用户DSN”页,在该页的列表框中,列出了已有的数据源,若要修改已有的数据源,可以中击“配置”按钮进行修改。这里,我们需要添加一个ODBC数据源,所以,中击“添加”按钮创建新数据源,将出现标题为“创建新数据源”的对话框; (3)在“创建新数据源”的对话框中提供了一个系统支持的数据库驱动程序列表框,选择合适的驱动程序。这儿我们选择SQL Server,单击“完成”按钮,将弹出“创建SQL Server 新数据源”对话框; (4)输入新的数据源名称,这里为mydb。然后,选择想连接的SQL Server服务器,可选择local,然后单击“下一步”按钮; (5)选择SQL Server验证,登录ID 为sa,密码默认为空,然后单击“下一步”按钮; (5)更改默认的数据库为student,然后单击“下一步”按钮; (5)默认系统值,然后单击“完成”按钮;

数字信号处理实验

实验一 离散傅里叶变换(DFT )对确定信号进行谱分析 一.实验目的 1.加深对DFT 算法原理和基本性质的理解。 2.熟悉DFT 算法和原理的编程方法。 3.学习用DFT 对信号进行谱分析的方法,了解可能出现的误差及其原因,以便在实际中正确利用。 二.实验原理 一个连续信号)(t x a 的频谱可以用其傅里叶变换表示,即 dt e t x j X t j a a Ω-∞ ∞ -? = Ω)()( 若对)(t x a 进行理想采样可得采样序列 )(|)()(nT x t x n x a nT t a === 对)(n x 进行DTFT ,可得其频谱为: ∑∞ -∞ =-= n n j j e n x e X ωω )()( 其中数字频率ω与模拟频率Ω的关系为: s f T Ω = Ω=ω )(n x 的DFT 为∑∞ -∞ =-= n nk N j e n x k X π 2)()( 若)(t x a 是限带信号,且在满足采样定理的条件下,)(ω j e X 是)(Ωj X a 的周期延拓, )(k X 是)(ωj e X 在单位圆上的等间隔采样值,即k N j e X k X πωω2| )()(= =。 为在计算机上分析计算方便,常用)(k X 来近似)(ω j e X ,这样对于长度为N 的有限 长序列(无限长序列也可用有限长序列来逼近),便可通过DFT 求其离散频谱。 三.实验内容 1.用DFT 对下列序列进行谱分析。 (1))()04.0sin(3)(100n R n n x π=

1 (2)]0,0,0,0,0,0,0,0,1,1,1,1[)(=n x 2.为了说明高密度频谱和高分辨率频谱之间的区别,考察序列 )52.0cos()48.0cos()(n n n x ππ+= (1)当0≤n ≤10时,确定并画出x(n)的离散傅里叶变换。 (2)当0≤n ≤100时,确定并画出x(n)的离散傅里叶变换。 四.实验结果 1. (1) (2)

数据库上机实验

创建数据表与数据输入 Part I. 使用SQL Server Management Studio创建数据表和输入数据1. 在SQL Server Management Studio中创建数据表 P69 1.(1)-(6) 2. 为数据表输入数据 P76 4.(1)-(4) 3. 数据浏览 P77 1. (1)-(2) 2. (1)-(3) Part II. 使用SQL语句创建数据表和输入数据 1. 使用SQL语句创建数据表 P72. 例3-2 2.使用SQL语句输入数据 P82. 例3.8 习题:P.105 (1)(2)insert

数据操作Insert、Update、Delete P105 3. 上机练习题(2)(4) Insert (100001, 1000, 2002-12-18 0:00:00) (100002, 2000, 2010-3-20 0:00:00) Update (100001, 1500, 2002-12-18 0:00:00) (100002, 2000, 2012-9-25 0:00:00) Delete

1.将teaching数据库中score表的studentno列设置为引用表student的外键。 ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY (studentno) REFERENCES student(studentno) 2.将teaching数据库中class表的classname创建UNIQUE约束。 ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname) 执行如下插入语句,查看提示信息 INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。 ALTER TABLE student ADD CONSTRAINT CK_birthday CHECK(YEAR(GETDATE())-YEAR(birthday)) BETWEEN 17 AND 25 执行如下插入语句,查看提示信息 INSERT INTO student(studentno, sname, sex, birthday, classno) VALUES (‘0922221328’, ’张源’, ’男’, ’1983-04-05’, ’090501’) 提示:表达式YEAR(GETDATE())-YEAR(birthday) 4. 为teaching数据库创建规则prof_rule,规定教师职称取值只能为’助教’,’讲师’,’副教授’,’教授’,并将其绑定到teacher表的prof列上。 CREATE RULE prof_rule AS @prof IN(’助教’,’讲师’,’副教授’,’教授’) EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’ 执行如下插入语句,查看提示信息 INSERT INTO teacher VALUES(‘t05002’, ’张源’, ’软件工程’, ’工程师’, ’计算机学院’) 提示:表达式IN(职称列表) 5. 编写程序,输出在1-3000之间能被17整除的最大数值 提示:可使循环控制变量从最大值开始,逐步减少,第一个满足被17整除的数值即为所求解的结果,可通过BREAK语句跳出循环。(如果使循环控制变量从小到大逐步增加,则循环次数将大大增加,程序执行效率将下降。)PRINT ‘1-3000之间能被17整除的最大数值为:’ +CAST(@i AS CHAR(4)) DECLARE @s INT, @i INT SELECT @s=0, @i=3000 WHILE @i>=1 BEGIN IF @i%17=0 BEGIN PRINT ‘1-3000之间能被17整除的最大数值为:’ + CAST(@i AS CHAR(4)) BREAK END @i = @i-1 END

Oracle 数据库上机试验指导2(答案)

实验二代码参考: 1.-- 创建学生表 create table student ( studid char(6) primary key, studname varchar2(16) not null, gender char(4) check(gender in('男','女')), addr varchar2(256) ); -- 创建课程表 create table course ( courseid char(6) primary key, coursename varchar2(32) not null unique, teacher varchar2(16) , score number check(score in (1,3,5)) ); -- 创建选课表 create table courSelc ( recid number(4) primary key, studid char(6), courseid char(6), score number(2) check(score >=0 and score <=100), constraint fk_stud foreign key(studid) references student(studid), constraint fk_cour foreign key(courseid) references course(courseid) ); 2. alter table student modify studName null; 3.1 alter table course modify courseName null; 3.2 alter table course add examdate date; 4.insert into course values('M1001','数学','奥巴马','3',to_date('2012-1- 1','yyyy-mm-dd')); insert into course values('J2002','军事理论','拿破仑','5',to_date('2012-1-1','yyyy-mm-dd'));

实验一熟悉汇编语言上机环境.pdf

实验一熟悉汇编语言上机环境 一、实验目的 熟悉在微机上建立、汇编、连接、调试和运行汇编语言程序的全过程。 二、实验要求 1.仔细阅读本实验教程的第一章和第二章; 2.学会使用EDIT建立汇编语言源程序文件; 3.学会使用MASM将汇编语言源程序编译为目标程序的两种方法; 4.学会使用LINK将目标程序连接为可执行程序的两种方法; 5.学会使用DEBUG中的U、D、G命令。 三、实验举例 【例3.1】 编辑、汇编、连接、执行下列程序,观察实验结果。 【程序功能】该程序的功能是利用BIOS功能调用,从键盘上接收若干个字符,并将它们的ASCII码与键盘扫描码以十六进制的形式显示出来,当按下+键时,停止程序的执行。 【步骤一】 用EDIT编辑源程序,并以EXAM1.ASM为文件名存入磁盘。 程序清单如下: SSEG SEGMENT STACK STK DB 80H DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,SS:SSEG HTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 AND AL,0FH CMP AL,10 JC HTOA1 ADD AL,07 HTOA1: ADD AL,30H RET HTOA ENDP BHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 PUSH CX MOV CH,AL MOV CL,04 SHR AL,CL CALL HTOA MOV AH,AL MOV AL,CH CALL HTOA POP CX RET BHTOA ENDP DISASC PROCN EAR ;该子程序的功能是在光标处显示AL中的字符 PUSH AX

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

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

实验一熟悉Matlab环境 一、实验目的 1.熟悉MATLAB的主要操作命令。 2.学会简单的矩阵输入和数据读写。 3.掌握简单的绘图命令。 4.用MATLAB编程并学会创建函数。 5.观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 clear all; a=[1 2 3 4]; b=[3 4 5 6]; c=a+b; d=a-b; e=a.*b; f=a./b; g=a.^b; n=1:4; subplot(4,2,1);stem(n,a); xlabel('n');xlim([0 5]);ylabel('A'); subplot(4,2,2);stem(n,b); xlabel('n');xlim([0 5]);ylabel('B'); subplot(4,2,3);stem(n,c); xlabel('n');xlim([0 5]);ylabel('C'); subplot(4,2,4);stem(n,d); xlabel('n');xlim([0 5]);ylabel('D'); subplot(4,2,5);stem(n,e); xlabel('n');xlim([0 5]);ylabel('E'); subplot(4,2,6);stem(n,f); xlabel('n');xlim([0 5]);ylabel('F'); subplot(4,2,7);stem(n,g); xlabel('n');xlim([0 5]);ylabel('G'); (2)用MATLAB实现下列序列: a) x(n)= 0≤n≤15 b) x(n)=e+3j)n 0≤n≤15 c) x(n)=3cosπn+π)+2sinπn+π) 0≤n≤15 d) 将c)中的x(n)扩展为以16为周期的函数x(n)=x(n+16),绘出四个周期。

数据库上机实验

附录C 上机实验 C.1 第4章上机实验 下列实验均使用SQL Server 的SSMS工具实现。 1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): ●数据库名为:学生数据库 ●主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D: 盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB, 增长方式为自动增长,每次增加1MB。 ●日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大 小为:2MB,增长方式为自动增长,每次增加10%。 2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。(注:“说明”部分不作为表定义内容)

(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。 (2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。(3)将Course表中Credit列的类型改为:tinyint。 (4)删除Student表中的Sid和Sdate列。 (5)为Teacher表添加主键约束,其主键为:Tno。 C.2 第5章上机实验 本实验均在SQL Server 的SSMS工具中实现。首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。 1.查询SC表中的全部数据。 2.查询计算机系学生的姓名和年龄。 3.查询成绩在70~80分的学生的学号、课程号和成绩。 4.查询计算机系年龄在18~20岁的男生姓名和年龄。 5.查询C001课程的最高分。 6.查询计算机系学生的最大年龄和最小年龄。 7.统计每个系的学生人数。 8.统计每门课程的选课人数和最高成绩。 9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 10.列出总成绩超过200的学生的学号和总成绩。 11.查询选了C002课程的学生姓名和所在系。 12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。 13.查询与VB在同一学期开设的课程的课程名和开课学期。 14.查询与李勇年龄相同的学生的姓名、所在系和年龄。 15.查询哪些课程没有学生选修,列出课程号和课程名。 16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。 17.查询计算机系哪些学生没有选课,列出学生姓名。 18.查询计算机系年龄最大的三个学生的姓名和年龄。 19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。 20.查询选课门数最多的前2位学生,列出学号和选课门数。 21.查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显 示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。 22.统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人 数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”; 如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。 23.查询计算机系选了VB课程的学生姓名、所在系和考试成绩,并将结果保存到新表 VB_Grade中。

数据库上机实验总结(含代码)

实验一 (1)无条件单表查询 select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept) DEPARTMENT FROM student; (2)有条件单表查询 SELECT sname,sdept,sage FROM student WHERE sage NOT BETWEEN 20 AND 23; (3)单表嵌套(一层)查询 SELECT sno,sname,sdept FROM student WHERE sdept IN(SELECT sdept FROM student WHERE sname='刘晨'); (4)复合条件多表查询 SELECT student.sno,sname,cname,grade FROM student ,sc,course WHERE student.sno=sc.sno AND https://www.doczj.com/doc/d6528109.html,o=https://www.doczj.com/doc/d6528109.html,o; (5)使用COUNT()的单表查询 SELECT COUNT(*) FROM student; (6)使用AVG()的单表查询 SELECT AVG(grade) '平均成绩' from SC where CNO='1'; (7)查询结果分组 SELECT cno,COUNT(sno) '人数' FROM sc GROUP BY cno; (8)查询结果排序 SELECT * FROM student ORDER BY sdept,sage DESC; (9)使用通配符的查询 SELECT sname,sno,ssex FROM student WHERE sname NOT LIKE'刘%'; (10)使用换码字符的单表查询 SELECT cno,ccredit FROM course WHERE cname LIKE 'DB\_Design'ESCAPE'\'; (11)插入单个元组 插入一个新学生元组 Insert into student (sno,sname,ssex,sdept,sage) values ('200215128','陈冬','男','IS',18) (12)插入子查询结果 对每一个系,求学生平均年龄,并把结果存入数据库 Create table dept_age(sdept char(15),avg_age int) Insert into dept_age(sdept,avg_age) select sdept,avg(sage) from student group by sdept (13)修改某个元组的值 将学生200215121的年龄改为22岁 Update student set sage=’22’ where sno=’200215121’ (14)修改多个元组的值

汇编语言上机实验汇总

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后, (1) 编辑源程序(生成 .ASM (2) 汇编源程序(.ASM → .OBJ (3) 连接目标程序(.OBJ → .EXE (4) 调试可执行程序(使用调试程序Debug 调试生成的.EXE 文件) (5) 运行程序输出结果。 2、 Windows 环境下的汇编语言集成编程环境的使用 实验一 汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT 编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM 的使用; 4、熟练掌握连接程序LINK 的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2、软件环境:装有MASM 、DEBUG 、LINK 等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT 建立汇编语言源程序文件(ASM 文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

数字信号处理实验三

实验三:离散LSI 系统的频域分析 一、实验内容 2、求以下各序列的z 变换: 12030() ()sin() ()sin()n an x n na x n n x n e n ωω-=== 程序清单如下: syms w0 n z a; x1=n*a^n;X1=ztrans(x1) x2=sin(w0*n);X2=ztrans(x2) x3= exp(-a*n)*sin(w0*n);X3=ztrans(x3) 程序运行结果如下: X1 =z/(a*(z/a - 1)^2) X2 =(z*sin(w0))/(z^2 - 2*cos(w0)*z + 1) X3 =(z*exp(a)*sin(w0))/(exp(2*a)*z^2 - 2*exp(a)*cos(w0)*z + 1) 3、求下列函数的逆z 变换 0 312342 1 1() () () ()() 1j z z z z X z X z X z X z z a z a z e z ω---= = = = ---- 程序清单如下: syms w0 n z a; X1=z/(z-a);x1=iztrans(X1) X2= z/(a-z)^2;x2=iztrans(X2) X3=z/ z-exp(j*w0);x3=iztrans(X3) X4=(1-z^-3)/(1-z^-1);x4=iztrans(X4) 程序运行结果如下: x1 =a^n x2 =n*a^n/a 课程名称 数字信号 实验成绩 指导教师 实 验 报 告 院系 信息工程学院 班级 学号 姓名 日期

x3 =charfcn[0](n)-iztrans(exp(i*w0),w0,n) x4 =charfcn[2](n)+charfcn[1](n)+charfcn[0](n) 4、求一下系统函数所描述的离散系统的零极点分布图,并判断系统的稳定性 (1) (0.3)()(1)(1) z z H z z j z j -= +-++ z1=[0,0.3]';p1=[-1+j,-1-j]';k=1; [b1,a1]=zp2tf(z1,p1,k); subplot(1,2,1);zplane(z1,p1); title('极点在单位圆外); subplot(1,2,2);impz(b1,a1,20); 由图可见:当极点位于单位圆内,系统的单位序列响应随着频率的增大而收敛;当极点位于单位圆上,系统的单位序列响应为等幅振荡;当极点位于单位圆外,系统的单位序列响应随着频率的增大而发散。由此可知系统为不稳定系统。 -1 -0.5 00.51 -2 -1.5-1-0.500.511.5 2Real Part I m a g i n a r y P a r t 极点在单位圆外 n (samples) A m p l i t u d e Impulse Response

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.doczj.com/doc/d6528109.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.doczj.com/doc/d6528109.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

汇编语言上机实验

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 2、Windows环境下的汇编语言集成编程环境的使用 实验一汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM、DEBUG、LINK等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

数字信号处理实验4

数字信号处理实验四 第一题结果: (1)没有增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 %H(3,13) = 0.75;H(5,11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线

(2)增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 H(3) = 0.75;H(13) = 0.75;H(5) = 0.25;H(11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线 第二题结果:

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