数字信号处理实验例题

2024-07-11

数字信号处理实验例题(精选9篇)

1.数字信号处理实验例题 篇一

学生姓名:

学 号:

指导教师:

一、实验室名称:数字信号处理实验室

二、实验项目名称:FFT的实现

三、实验原理:

一.FFT算法思想:

1.DFT的定义:

对于有限长离散数字信号{x[n]},0  n  N-1,其离散谱{x[k]}可以由离散付氏变换(DFT)求得。DFT的定义为:

N1X[k]通常令ej2Nx[n]en0j2Nnk,k=0,1,…N-1 WN,称为旋转因子。

2.直接计算DFT的问题及FFT的基本思想:

由DFT的定义可以看出,在x[n]为复数序列的情况下,完全直接运算N点DFT需要(N-1)2次复数乘法和N(N-1)次加法。因此,对于一些相当大的N值(如1024)来说,直接计算它的DFT所作的计算量是很大的。

FFT的基本思想在于,将原有的N点序列分成两个较短的序列,这些序列的DFT可以很简单的组合起来得到原序列的DFT。例如,若N为偶数,将原有的N

22点序列分成两个(N/2)点序列,那么计算N点DFT将只需要约[(N/2)·2]=N/2次复数乘法。即比直接计算少作一半乘法。因子(N/2)2表示直接计算(N/2)点DFT所需要的乘法次数,而乘数2代表必须完成两个DFT。上述处理方法可以反复使用,即(N/2)点的DFT计算也可以化成两个(N/4)点的DFT(假定N/2为偶数),从而又少作一半的乘法。这样一级一级的划分下去一直到最后就划分成两点的FFT运算的情况。

3.基2按时间抽取(DIT)的FFT算法思想:

设序列长度为N2L,L为整数(如果序列长度不满足此条件,通过在后面补零让其满足)。

将长度为N2L的序列x[n](n0,1,...,N1),先按n的奇偶分成两组:

x[2r]x1[r]x[2r1]x2[r],r=0,1,…,N/2-1 DFT化为:

N1N/21N/21X[k]DFT{x[n]}N/21n0x[n]WnkN2rkr0x[2r]W2rkNr0x[2r1]WN(2r1)kN/21r0N/21x1[r]Wx1[r]W2rkNWWkNr0N/21x2[r]WN

r0rkN/2kNr0x2[r]WN/22rkrk上式中利用了旋转因子的可约性,即:WNN/21NrkN/21rkWN/2。又令

rkX1[k]r0x[1r]W,/X2[k]2r0x[r]WN2,则上式可以写成: /2X[k]X1[k]WNX2[k](k=0,1,…,N/2-1)

k可以看出,X1[k],X2[k]分别为从X[k]中取出的N/2点偶数点和奇数点序列的N/2点DFT值,所以,一个N点序列的DFT可以用两个N/2点序列的DFT组合而成。但是,从上式可以看出,这样的组合仅表示出了X[k]前N/2点的DFT值,还需要继续利用X1[k],X2[k]表示X[k]的后半段本算法推导才完整。利用旋转因子的周期性,有:WN/2WN/2X1[N2N/21rkr(kN/2),则后半段的DFT值表达式:

rkk]r0x1[r]W2N/2r(Nk)N/21r0x1[r]WN/2X1[k],同样,X2[N2k]X2[k]

(k=0,1,…,N/2-1),所以后半段(k=N/2,…,N-1)的DFT值可以用前半段k值表达式获得,中间还利用到WN(N2k)NWN2Wk得到后半段的X[k]值表达式W,k为:X[k]X1[k]WNkX2[k](k=0,1,…,N/2-1)。

这样,通过计算两个N/2点序列x1[n],x2[n]的N/2点DFTX1[k],X2[k],可以组合得到N点序列的DFT值X[k],其组合过程如下图所示:

X1[k] X1[k]WNkX2[k]

X2[k] WNnk-1 X1[k]WNkX2[k]

比如,一个N = 8点的FFT运算按照这种方法来计算FFT可以用下面的流程图来表示:

x(0)W0x(1)W0x(2)W0x(3)W2W0W1W0x(5)W0x(6)W0x(7)W2X(7)W3X(6)W2X(5)X(3)X(2)X(1)X(0)x(4)X(4)

4.基2按频率抽取(DIF)的FFT算法思想:

设序列长度为N2L,L为整数(如果序列长度不满足此条件,通过在后面补零让其满足)。

在把X[k]按k的奇偶分组之前,把输入按n的顺序分成前后两半:

N1N/21nkNN1X[k]DFT{x[n]}N/21N/21x[n]Wn0(nn0N2)kx[n]WnkNnN/2x[n]WNnkn0N/21x[n]WnkNn0x[nNkN2]WNnk

Nn0[x[n]x[nN2NkN2]W2N]WN,k0,1,...,N1因为W2N1,则有WX[k](1),所以:

kkN/21n0[x[n](1)x[nN2]]WN,k0,1,...,N1

nk按k的奇偶来讨论,k为偶数时:

N/21X[2r]n0[x[n]x[nN2]]WN,k0,1,...,N1 N22rnN/21k为奇数时:X[2r1]前面已经推导过WNN/21n0[x[n]x[n]]WN(2r1)n,k0,1,...,N1

2rkWN/2,所以上面的两个等式可以写为:

N2]]WN/2,r0,1,...,N/21 N2rnrkX[2r]n0[x[n]x[nN/21X[2r1]n0{[x[n]x[n]]WN}WN/2,r0,1,...,N/21

nnr通过上面的推导,X[k]的偶数点值X[2r]和奇数点值X[2r1]分别可以由组合而成的N/2点的序列来求得,其中偶数点值X[2r]为输入x[n]的前半段和后半段之和序列的N/2点DFT值,奇数点值X[2r1]为输入x[n]的前半段和后半段之差再与WN相乘序列的N/2点DFT值。

令x1[n]x[n]x[nN/21nN2],x2[n][x[n]x[nN/21N2]]WN,则有:

nX[2r]n0x1[n]WrnN/2,X[2r1]n0x2[n]WrnN/2,r0,1,...,N21

这样,也可以用两个N/2点DFT来组合成一个N点DFT,组合过程如下图所示:

x[n] x[n]x[nN2]

x[nN2]-1 WNn [x[n]x[nN2]]WNn

二.在FFT计算中使用到的MATLAB命令:

函数fft(x)可以计算R点序列的R点DFT值;而fft(x,N)则计算R点序列的N点DFT,若R>N,则直接截取R点DFT的前N点,若R

四、实验目的:

离散傅氏变换(DFT)的目的是把信号由时域变换到频域,从而可以在频域分析处理信息,得到的结果再由逆DFT变换到时域。FFT是DFT的一种快速算法。在数字信号处理系统中,FFT作为一个非常重要的工具经常使用,甚至成为DSP运算能力的一个考核因素。

本实验通过直接计算DFT,利用FFT算法思想计算DFT,以及使用MATLAB函数中的FFT命令计算离散时间信号的频谱,以加深对离散信号的DFT变换及FFT算法的理解。

五、实验内容:

a)计算实数序列x(n)cos516n,0n256的256点DFT。

b)计算周期为1kHz的方波序列(占空比为50%,幅度取为+/-512,采样频率为25kHz,取256点长度)256点DFT。

六、实验器材(设备、元器件):

安装MATLAB软件的PC机一台,DSP实验演示系统一套。

七、实验步骤:

(1)先利用DFT定义式,编程直接计算2个要求序列的DFT值。

(2)利用MATLAB中提供的FFT函数,计算2个要求序列的DFT值。(3)(拓展要求)不改变序列的点数,仅改变DFT计算点数(如变为计算1024点DFT值),观察画出来的频谱与前面频谱的差别,并解释这种差别。通过这一步骤的分析,理解频谱分辨力的概念,解释如何提高频谱分辨力。

(4)利用FFT的基本思想(基2-DIT或基2-DIF),自己编写FFT计算函数,并用该函数计算要求序列的DFT值。并对前面3个结果进行对比。

(5)(拓展要求)尝试对其他快速傅立叶变换算法(如Goertzel算法)进行MATLAB编程实现,并用它来计算要求的序列的DFT值。并与前面的结果进行对比。

(6)(拓展要求)在提供的DSP实验板上演示要求的2种序列的FFT算法(基2-DIT),用示波器观察实际计算出来的频谱结果,并与理论结果对比。

八、实验数据及结果分析:

程序:(1)对要求的2种序列直接进行DFT计算的程序

(2)对要求的2种序列进行基2-DIT和基2-DIF FFT算法程序(3)对要求的2种序列用MATLAB中提供的FFT函数进行计算的程序

结果:(1)对2种要求的序列直接进行DFT计算的频域波形

(2)对2种要求的序列进行基2-DIT和基2-DIF FFT算法频域波形(3)对2种要求的序列用MATLAB中提供的FFT函数计算的频域波形。(4)(拓展要求)分析利用上面的方法画出的信号频谱与理论计算出来的频谱之间的差异,并解释这种差异。

(5)(拓展要求)保持序列点数不变,改变DFT计算点数(变为1024点),观察频谱的变化,并分析这种变化,由此讨论如何提高频谱分辨力的问题。

九、实验结论:

十、总结及心得体会:

十一、对本实验过程及方法、手段的改进建议:

2.数字信号处理实验例题 篇二

1 传统实验教学存在的问题

实验教学在《数字信号处理》课程教学中占有非常重要的位置,通过实验教学加深学生对基本概念和基本原理的理解,提高学生独立分析问题和解决问题的能力。目前数字信号处理开设的实验教学内容主要是数字信号处理基础实验和数字滤波器设计实验。通过基础性实验使学生掌握了一定的数字信号处理基本知识,具有了一定的动手能力,通过数字滤波器的设计实验进一步提高了学生的动手能力。但是这些还都是局限在理论上,对这样一门既有较强的理论性又有很强的实践性的课程,就要引导学生如何将所学的理论知识结合学校专业特色在实际应用中找到切入点,使学生的工程实践能力有一个质的分跃,这些都是传统实验教学中所缺少的。根据目前数字信号处理单一实验的诸多弊端,学院开设了综合性设计实验内容。

2 综合性设计实验内容设计

综合性设计实验可以由指导老师给定实验目的、设计要求和实验条件,由学生自行设计实验方法并加以实现的实验。综合性设计实验的时间是开放的,内容也是开放的,除了指导老师规定的题目,学生也可以自己根据专业特色,选择自己感兴趣的实验题目,实验导师启发和引导学生完成实验。

2.1 综合性设计实验内容

指导老师结合自身教学和科研工作和学校专业特色,提出一定量的适合本科生的综合设计性的实验项目,并且及时更新实验项目。目前,笔者学校的电子信息工程和电子信息科学与技术专业的培养方案的修订和教学过程中都在不断地加强和电力系统的结合,这也是笔者学院该专业的特色。而实际上电力系统中应用信号处理地方非常多,例如:谐波检测、故障检测、电能质量分析等,所以数字信号处理实验教学过程中也要加强信号处理技术在电力系统当中的实践教学,让学生们真正地体会学有所用。目前学院提供4个实验项目供学生选择:语音信号的频谱分析和变频设计,电力系统谐波分析与仿真,雷达信号分析,电力系统谐波畸变率计算分析。

下面以电力系统谐波分析与仿真实验项目为例,说明综合设计性实验的设计。

电网稳态的供电电压波形为工频正弦波形,其数学表达式为

其中,,f分别为工频模拟角频率、工频。我们国家工频为50 Hz。设电力系统电压信号表达式为s(t)=sin100πt+0.5sin300πt+0.2sin500πt+0.1sin900πt,信号中为4个频率正弦信号的线性叠加。首先要对该信号进行采样,然后对采样后的信号进行FFT变换,最后分析其所包含的谐波成分。

2.2 综合性设计实验要求

对于电力谐波分析中采样频率的选择很主要,在实验指导过程中要引导学生对50 Hz、100 Hz、150 Hz等频率成分进行分析,那么采样频率和采样的数据长度怎么选择是正确的。该实验要求学生利用MATLAB对整个系统的软件进行仿真实现,并且完成实验报告,在实验报告中学生要给实验原理、实验方案、程序设计和仿真结果和分析(实验图和表)。

3 结语

数字信号处理课程是一门理论性和实践性都很强的重要基础课程,文章在分析传统实验教学中的不足,提出结合学校专业特色开展综合设计性实验教学,既能加深学生对基础知识的掌握和巩固,又能培养学生综合运用知识的能力,提高学生的工程实践能力。

参考文献

[1]朱金秀,张卓,朱昌平.数字信号处理课程实验教学研究与实践[J].实验室研究与探索,2008,27(5):96-98.

[2]杨顺辽,李永全.数字信号处理实现与实践[M].武汉:华中科技大学出版社,2011:84-95.

3.初探教材例题的处理策略 篇三

一、教材例题处理的误区

1.过于重视教材的权威性

认为教材是专家们编写的,我们作为普通的教材执行者不能随意改变教材中现有的例题。因此对教材中的例题不敢作大的改动,只是局限于补充、调整一些习题,很少更改例题。

2.过于注重例题的情境

认为只有提供丰富的生活背景,改变或调换教材中的例题和习题,才能培养学生的应用意识,否则数学材料就缺乏真实感和亲切感。

3.全盘否定教材例题

认为教材中原有例题不适应新课标要求或不适应考试要求,于是为了体现新课标理念或适应考试,有的老师就对教材中的例题全盘否定,完全创造全新或难度更大的例题。

二、对教材例题的处理方法

1.充分尊重并利用教材中的例题

教材中有一些现成的例题,如果我们充分运用好就能很好地实现教学目标。毕竟专家在编写教材时是经过从理论到实践的多重思考与验证的,我们首先要尊重教材,而后才能对教材提出质疑和修改。

2.拓展例题的知识范围

有的例题仅仅针对一个知识点,解决一个问题,但是我们在实际教学时有时可能会根据实际情况,需要对例题的知识范围进行拓展。例如在解决教材中关于对二次项系数为1的一元二次方程的根与系数关系的探索例题时,就需要对例题知识范围进行拓展,拓展到二次项系数不为1的一元二次方程的根与系数关系,即韦达定理,这对学生后继学习是很有利的。

3.挖掘例题的深意,用好用足例题

例:△ABC中,∠ACB=900,CD⊥AB于D,找出图中的相似三角形。

我们不难找到△ABC∽△CBD∽△ACD,不妨在此结论基础上,引伸一下,图中的线段有哪些等量关系或比例关系?

可得出如下结论:① CD2 = AD﹒DB ② AC2 = AD﹒AB

③ BC2 = BD﹒AB ④ AC﹒CB = AB﹒CD.以上几个结论如果再能用适当的数学文字语言加以概括,对以后解决此类图形(即母子型)的计算与证明是很有作用的。

4.创造全新的例题

原题:要测量池塘两端A、B的距离,可以先在平地上取一个可以直接到达A和B的点C,连接AC并延长到D,使CD=CA,连结BC并延长到E ,使CE=CB,连结DE,那么DE和长就是AB的长度了,为什么?

改编:小明上学每天都要经过一个池塘,池塘两端A、B有两棵小树,小明想知道这两棵树之间的距离,请你帮助小明设计几种方案,并说明理由。

改编后与原题相比难度、开放性明显加大,易激发学生动脑、动手能力,根据学生已有的知识不同,我们可以设计出不同的几个方案:

(1)构造全等三角形用全等三角形性质解决;

(2)构造直角三角形用勾股定理解决;

(3)构造中位线用三角形中位定理解决等等。条件允许还可用构造相似三角形用相似三角形的性质解决。

因此要真正用好教材,在教学中树立创新教材例题的意识,才能让教材为我所用。

三、例题的变式处理策略

在例题的教学过程中,仅满足于一题多解是不够的,恰当合理的变式研究活动,有利于激活学生的创新思维和提升学生对数学的积极情感,达到“通过解一题会做一类题”的事半功倍的教学效果。

从例题变式的种类来看主要有以下情况:

1.遗漏式例题变式

例 已知两圆内切,圆心距d=2,其中一个圆半径R=5,另一个圆半径r

正确解答为,根据d=R—r,得r=R—d=5—2=3;但如果把原题条件rr时,结果为r=3。

教师在例题板书时故意漏掉一个重要的条件或一个数据,使原题意完全改变,打乱了学生的思维方式,同时增加了题目的难度,给人以“似曾相识”,但却“似是而非”的感觉。

遗漏式例题变式教学不仅能培养学生细心地观察事物,严谨的态度和辨别是非的能力,对开发学生发散性思维提供良好的思维空间。

2.开放式例题变式

例 已知:如图:AB=CD,BC=DA,

E、F是AC上的两点,且AE=CF,求证:BF=DE。

变式1、已知:如图,FB=ED,BC=DA,

E、F是AC上的两点,且AE=CF 求证:AB=CD

变式2、已知:如图,AB=CD,BC=DA,E、F是AC上的两点,且∠ADE=∠CBF求证:AE=CF

变式3、已知:如图,AB=CD,BC=DA,E、F是AC上的两点,且∠BFA=∠DEC 求证:AE=CF

变式4、已知:如图,AB=CD,BC=DA,E、F是AC上的两点,且∠ABF=∠CDE 求证:AE=CF

以上变式中,变式1是交换结论与一个条件;变式2~变式5是将条件中的一对线段相等换成一对角相等;变式6是在变式4的基础上,交换结论和一个条件。当然一节课不需对以上变式都列出,只需例出以上一至三个变式即可。通过以上交换结论与某个条件,或改变一个条件等形式,对试题进行开放性的变式,能充分调动学生“主人翁”学习态度,解除了教师对学生实行固定思维的束缚,为学生创设一个自由的思维空间,达到较理想的教学效果。

3.隐蔽式例题变式

例:某钢铁厂去年1月某种钢铁的产量为5000吨,3月产量升到7200吨,这两个月平均每月增长的百分率是多少?

解析:如果设这两个月的平均每月增长的百分率为X,列出方程5000(1+X)2=7200。

变式:某钢铁厂去年1月份某种钢铁的产量为5000吨,前3月产量升到7200吨,这两个月平均每月增长的百分率是多少?

解析:如果设这两个月的平均每月增长的百分率为X,列出方程为5000+5000(1+X)+5000(1+X)2=7200。

隐蔽式例题变式是把例题中的一个条件、一个字、甚至一个标点符号改变,让人不那么容易觉察,导致得出错误的结论。这样不仅提高了学生运用所学知识解决数学问题的能力,而且培养了学生创新能力,发展了学生的求异思维。

4.数字信号处理实验例题 篇四

数字图像处理实验报告

专 业:计算机科学技术 学 号:11101110 姓 名:马艳松 提交日期:2014.6.5

实验一 数字图像的读入与显示

一.实验目的:

1.熟悉opencv的开发环境设置

2.读取一幅图像,并显示,掌握Imread, imwrite,imshow的使用

3.掌握opencv中图像的表示,及其属性的含义。二.实验内容: 配置好visualstudio2010下opnecv开发环境

使用opencv的函数读入一幅图像,并在窗口中显示出来。

三.实验步骤: #include “stdafx.h” #include using namespace cv;using namespace std;void test1(){ Mat inputImage=imread(“..imagebookbeach.jpg”,1);if(!inputImage.empty()){

cvNamedWindow(“test”);

imshow(“test”,inputImage);

waitKey();} else

{

cout<<“file open error!”;

getchar();} }

int _tmain(int argc, _TCHAR* argv[]){ test1();return 0;}

四.实验心得:通过上课实验理解了opencv的配置过程。通过程序实现了图片的成象处理。

实验二 数字图像像素的访问

一.实验目的: 掌握opencv开发环境中对灰度图像及彩色图像中的像素的访问方法

理解mat数据结构

掌握opencv中对图像进行处理的基本过程。二.实验内容:(1)打开一幅灰度图像,对其进行线性灰度变换(直线方程的参数为k, b),并显示变换前、后的图像。;调整K值,分别取>1, <1, =1, 以及-1,比较不同K值时的图像增强效果。

(2)打开一幅彩色图像,对每个像素进行访问,分别令R、G、B的值为0,查看处理后的图像,并比较原图像的差异。

重点和难点: 掌握灰度图像和彩色图像的像素的值的访问方法。三.实验步骤: 1r)实验代码

void image1Pixel(){

double durationa,durationb,durationc;double cacStart,cacEnd;

Mat image=imread(“..imagebookbeach.jpg”,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));//gray=0.299R+0.587G+0.114b uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)for(int i=0;i

for(int j=0;j

{

b=image.at(i,j)[0];

g=image.at(i,j)[1];

r=image.at(i,j)[2];

fgray=0.299*r+0.587*g+0.114*b;

gray.at(i,j)=saturate_cast(fgray);

}

imshow(“",gray);

cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();// the elapsed time in ms waitKey();} 2)实验代码

#include ”stdafx.h“

#include using namespace cv;using namespace std;

void image1Pixel(){

{

Mat inputImage=imread(”..imagebookbeach.jpg“,1);if(!inputImage.empty()){ double durationa,durationb,durationc;double cacStart,cacEnd;Mat image=imread(”..imagebookbeach.jpg“,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));Mat grayGB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRG(image.size().height,image.size().width,CV_8UC3,Scalar(0));uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)for(int i=0;i

for(int j=0;j

} imshow(”org“,image);cvNamedWindow(”gray“);imshow(”gray“,gray);waitKey();b=image.at(i,j)[0];g=image.at(i,j)[1];r=image.at(i,j)[2];//////////////////////////// grayGB.at(i,j)[0] = b;grayGB.at(i,j)[1] = g;grayGB.at(i,j)[2] = 0;//R grayRB.at(i,j)[0] = b;grayRB.at(i,j)[1] = 0;// G grayRB.at(i,j)[2] = r;grayRG.at(i,j)[0] = 0;//B grayRG.at(i,j)[1] = g;grayRG.at(i,j)[2] = r;//////////////////////////// fgray=0.299*r+0.587*g+0.114*b;gray.at(i,j)=saturate_cast(fgray);cvNamedWindow(”org“);cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();} void test1()

}

} cvNamedWindow(”test“);imshow(”test“,inputImage);waitKey();else {

} cout<<”file open error!“;getchar();int _tmain(int argc, _TCHAR* argv[]){

}

image1Pixel();test1();return 0;心得体会:通过本次试验,我了解并大致掌握灰度图像和彩色图像的像素的值的访问方法。由于之前很少练习这方面的内容,试验过程中遇到了一些问题,好在在别人的帮助下和向别人咨询终于了解了这方面知识的大致框架和原理。由此更坚定了我学习下去的信心和动力!

实验三 图像的平滑

一.实验目的: 掌握opencv开发环境中对灰度图像及彩色图像中的像素的访问方法

掌握opencv中对图像进行处理的基本过程。

掌握均值平滑和中值滤波的基本原理

二.实验内容:(1)打开一幅灰度图像,对图像进行3*3(包括中心点)的邻域平均处理。

(2)对原图进行3*3(包括中心点)的中值滤波处理。

(3)比较原图像与邻域平均的图像、中值滤波后的图像的差异

三.实验步骤: 1)中值滤波处理

for(int i=1;i

{

for(int j=1;j

{

int

imshow(”中值滤波“,gray);

cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();waitKey();} int GetMidNum(int n[]){

for(int i=0;i<9;i++)

for(int j = 0;j<8;j++)

{

if(n[j]>n[j+1])

{

int temp;

temp = n[j+1];

n[j+1] = n[j];

n[j]= temp;

}

}

return n[4];}

void test4_4(){ int count[256];//存放各个像素值对应的个数

float hist[256],sumHist[256];uchar grayHist[256];for(int i=0;i<256;i++){

count[i]=0;

hist[i]=0;a[9]={gray.at(i-1,j),gray.at(i,j),gray.at(i+1,j),gray.at(i-1,j-j),gray.at(i,j-1),gray.at(i+1,j-1)

+gray.at(i-1,j+1),gray.at(i,j+1),gray.at(i+1,j+1)};

gray.at(i,j)=GetMidNum(a);

}

}

} int _tmain(int argc, _TCHAR* argv[]){ image1Pixel();//Test3();

//test4_4();return 0;}

2)邻域平均

void image1Pixel()sumHist[i]=0;grayHist[i]=0;} Mat image=imread(”..imagebookbeach.jpg“,0);for(int i=0;i(i);for(int j=0;j

count[data[j]]++;} } for(int i=0;i<256;i++)hist[i]=((float)count[i])/(image.size().height*image.size().width);sumHist[0]=hist[0];for(int i=1;i<256;i++)sumHist[i]=sumHist[i-1]+hist[i];for(int i=0;i<256;i++)grayHist[i]=saturate_cast(sumHist[i]*255);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));for(int i=0;i(i);uchar* grayData=gray.ptr(i);for(int j=0;j

grayData[j]=grayHist[data[j]];} } cvNamedWindow(”tset“);imshow(”org“,image);cvNamedWindow(”hist“);imshow(”hist“,gray);waitKey();{

double durationa,durationb,durationc;double cacStart,cacEnd;

Mat image=imread(”..imagebookbeach.jpg“,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));//gray=0.299R+0.587G+0.114b uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)for(int i=0;i

for(int j=0;j

{

b=image.at(i,j)[0];

g=image.at(i,j)[1];

r=image.at(i,j)[2];

fgray=0.299*r+0.587*g+0.114*b;

gray.at(i,j)=saturate_cast(fgray);

}

imshow(”“,gray);

cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();// the elapsed time in ms waitKey();}

void Test3(){

int GetMidNum(int n[]);double durationa,durationb,durationc;double cacStart,cacEnd;

Mat image=imread(”..imagebookbeach.jpg“,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));Mat grayGB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRG(image.size().height,image.size().width,CV_8UC3,Scalar(0));//gray=0.299R+0.587G+0.114b uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)

for(int i=0;i

b=image.at(i,j)[0];

g=image.at(i,j)[1];

r=image.at(i,j)[2];

}

实验心得:通过这次试验,我明白了,平滑技术用于平滑图像的噪声,平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。但是这些很容易引起边缘的模糊,常用的有均值滤波、中值滤波,在使用时,针对不同的噪声,也需要不同的滤波法,没有哪种方法是绝对好,必须具体情况具体分析。最后比较三种平滑效果,八点平滑最好,说明对高斯噪声平滑滤波效果较好。中值滤波基本把椒盐噪声都滤去了,说明中值滤波对椒盐噪声平滑效果比高斯噪声好。

fgray=0.299*r+0.587*g+0.114*b;

gray.at(i,j)=saturate_cast(fgray);} imshow(”原图“,gray);for(int i=1;i

for(int j=1;j

{

gray.at(i,j)=(gray.at(i-1,j)+gray.at(i,j)+gray.at(i+1,j)+

gray.at(i-1,j-j)+gray.at(i,j-1)+gray.at(i+1,j-1)

+gray.at(i-1,j+1)+gray.at(i,j+1)+gray.at(i+1,j+1))/9;

}

imshow(”邻域平均“,gray);实验四 图像的直方图均衡化

一.实验目的: 掌握直方图均衡化的基本步骤及实现方法

掌握opencv中对图像进行处理的基本过程。

二.实验内容:(1)打开一幅灰度图像,对图像进行直方图均衡化处理。

(2)比较原图像与均衡化的图像的差异。

(3)要求自己按照课本介绍的均衡化的步骤在opencv下实现直方图均衡化处理。

三.实验步骤:void test1(){ Mat inputImage=imread(”..imagebookbeach.jpg“,1);

if(!inputImage.empty()){

cvNamedWindow(”test“);

imshow(”test“,inputImage);

waitKey();} else

{

cout<<”file open error!“;

getchar();} } void test4(){ int count[256];float hist[256],sumHist[256];uchar grayHist[256];

for(int i=0;i<256;i++){

count[i]=0;

hist[i]=0;

sumHist[i]=0;

grayHist[i]=0;}

Mat image=imread(”..imagebookbeach.jpg“,0);

for(int i=0;i

uchar* data=image.ptr(i);

for(int j=0;j

{

count[data[j]]++;

} } for(int i=0;i<256;i++)

hist[i]=((float)count[i])/(image.size().height*image.size().width);sumHist[0]=hist[0];for(int i=1;i<256;i++)

sumHist[i]=sumHist[i-1]+hist[i];for(int i=0;i<256;i++)

grayHist[i]=saturate_cast(sumHist[i]*255);

Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));

for(int i=0;i

uchar* data=image.ptr(i);

uchar* grayData=gray.ptr(i);

for(int j=0;j

{

grayData[j]=grayHist[data[j]];

} }

cvNamedWindow(”org“);

imshow(”org“,image);

cvNamedWindow(”hist“);

imshow(”hist",gray);

waitKey();

} int _tmain(int argc, _TCHAR* argv[]){ //test1();test4();return 0;}

5.数字信号处理实验例题 篇五

要求:根据上述资料,不考虑其他因素,回答下列各题。

(1)甲公司A设备的入账价值是()。

A.950万元B.986万元

C.1 000万元D.1 111.5万元

『正确答案』C『答案解析』950+36+14=1 000(万元)。

(2)甲公司20×4对A设备计提的折旧是()。

A.136.8万元B.144万元

C.187.34万元D.190万元

『正确答案』B

『答案解析』计算过程如下:

20×2年的折旧额=1 000×2/5=400(万元)

20×3年的折旧额=(1 000-400)×2/5=240(万元)

20×4年的折旧额=(1 000-400-240)×2/5=144(万元)。

【拓展】20×2年3月10日,A设备达到预定可使用状态。

20×2年年折旧额=1 000×2/5×9/12=300(万元)

20×3年年折旧额=1 000×2/5×3/12+(1 000-400)×2/5×9/12=280(万元)20×4年年折旧额=(1 000-400)×2/5×3/12+(1 000-400-240)×2/5×9/12=168(万元)

20×5年年折旧额=(1 000-400-240)×2/5×3/12+(1 000-400-240-144-50)÷2×9/12=98.25(万元)

20×6年年折旧额=(1 000-400-240-144-50)÷2=83(万元)

20×7年年折旧额=(1 000-400-240-144-50)÷2×3/12=20.75(万元)验算方法:无论采用什么方法,固定资产到期报废的时候,也就是提满折旧的时候,固定资产的应计折旧额一定等于累计折旧额。

应计提折旧额=1 000-50=950(万元)

6.数字信号处理题库(附答案) 篇六

一、选择题

1、某系统y(n)g(n)x(n),g(n)有界,则该系统(A)。

A.因果稳定

B.非因果稳定

C.因果不稳定

D.非因果不稳定

2、一个离散系统(D)。

A.若因果必稳定

B.若稳定必因果

C.因果与稳定有关

D.因果与稳定无关

3、某系统y(n)nx(n),则该系统(A)。

A.线性时变

B.线性非时变

C.非线性非时变

D.非线性时变 4.因果稳定系统的系统函数H(z)的收敛域是(D)。A.z0.9

B.z1.1C.z1.1

D.z0.9 5.x1(n)3sin(0.5n)的周期(A)。A.4

B.3

C.2

D.1 6.某系统的单位脉冲响应h(n)()u(n),则该系统(C)。A.因果不稳定

B.非因果稳定

C.因果稳定

D.非因果不稳定 7.某系统y(n)x(n)5,则该系统(B)。

A.因果稳定

B.非因果稳定

C.因果不稳定

D.非因果不稳定 8.序列x(n)anu(n1),在X(z)的收敛域为(A)。A.za

B.za

C.za

D.za

9.序列x(n)()u(n)()u(n1),则X(z)的收敛域为(D)。

A.z12n13n12n11111

B.z

C.z

D.z 2323210.关于序列x(n)的DTFTX(ej),下列说法正确的是(C)。

A.非周期连续函数

B.非周期离散函数

C.周期连续函数,周期为2

D.周期离散函数,周期为2 11.以下序列中(D)的周期为5。

A.x(n)cos(nC.x(n)e12.x(n)e2j(n)58353)

B.x(n)sin(n)

8582j(n)58

D.x(n)e

nj()36,该序列是(A)。

A.非周期序列

B.周期N6

C.周期N6

D.周期N2

以上为离散时间信号与系统部分的习题

13.((4))4________。(A)A.0

B.1

C.2

D.4 14.W20________。(B)A.0

B.1

C.1

D.2 15.DFT[(n)]________。(B)A.0

B.1

C.2

D.1

16.N1024点的DFT,需要复数相乘次数约(D)。A.1024

B.1000

C.10000

D.1000000

17.((2))4________。(C)A.0

B.1

C.2

D.4 18.W21________。(C)A.0

B.1

C.1

D.2 19.DFT[(n1)]________。(B)kkA.0

B.WN

C.1

D.WN

20.N1024点的IDFT,需要复数相乘次数约(D)。A.1024

B.1000

C.10000

D.1000000 21.((202))8________。(C)A.0

B.2

C.4

D.6 22.W81________。(A)A.2222(1j)

B.(1j)

C.(1j)

D.(1j)222223.DFT[(nn0)]________。(A)

kA.WN0

B.WN

C.WNnkn0kk

D.WN

24.重叠保留法输入段的长度为NN1N21,h(n)(长为N1),每一输出段的前(B)点就是要去掉的部分,把各相邻段流下来的点衔接起来,就构成了最终的输出。

A.N1

B.N11

C.N21

D.N1N21

以上为DFT部分的习题

25.利用模拟滤波器设计IIR数字滤波器时,为了使数字滤波器的频响能模仿模拟滤波器的频响,在将Ha(s)转化为H(z)时应使s平面的虚轴映射到z平面的(C)。A.单位圆内

B.单位圆外

C.单位圆上

D.单位圆与实轴的交点

26.(B)方法设计的IIR数字滤波器会造成频率的非线性(与的关系)。A.脉冲响应不变法

B.双线性变换法

C.窗函数法

D.频率采样法 27.用(A)方法设计的IIR数字滤波器会造成频率混叠现象。

A.脉冲响应不变法

B.双线性变换法

C.窗函数法

D.频率采样法

28.在IIR滤波器设计法中,如果数字低通转化为数字低通的变换关系为u1G(z1),则数字低通转化为数字高通只要将(B)替换z。

A.z

B.z

C.z

D.z

29.在IIR滤波器设计方法中,主要讨论模拟低通滤波器而不是其他类型模拟滤波器,主要是因为(C)。

A.只有通过模拟低通滤波器才可以设计数字滤波器 B.模拟低通滤波器设计简单,有快速算法

C.模拟低通滤波器可以通过适当的变换转换成其他类型的滤波器

D.采用模拟低通滤波器才能恢复经过采样后离散信号所代表的原始信号

30.采用从模拟滤波器低通原型到带通滤波器的频率变换中,模拟频率为,数字频率为,数字带通滤波器的中心频率为0。应该将0映射到数字域的(C)。A.11*0

B.0

C.0

D.

31.设计IIR滤波器的性能指标一般不包括(D)。

A.滤除的频率分量

B.保留的频率分量

C.保留的部分允许的幅频或相位失真

D.滤波器的脉冲响应

32.对于IIR滤波器,其系统函数的有理分式为H(z)azii0Ni1Mi。当MN时,1biziH(z)可看成是(B)。

A.一个N阶IIR子系统和一个(M-N)阶的FIR子系统的并联 B.一个N阶IIR子系统和一个(M-N)阶的FIR子系统的级联 C.一个N阶IIR子系统和一个M阶的FIR子系统的级联 D.一个N阶IIR子系统和一个M阶的FIR子系统的并联 33.阶数位N的Butterworth滤波器的特点之一是(C)。A.具有阻带内最大平坦的幅频特性 B.具有通带内线性的相位特性

C.过度带具有频响趋于斜率为6N/倍频程的渐近线 D.过度带具有频响趋于斜率为3N/倍频程的渐近线 34.不是阶数为N的Chebyshev滤波器的特点之一是(D)。A.逼近误差值在阻带内等幅地在极大值和极小值之间摆动 B.具有阻带内等波纹的幅频特性 C.具有通带内等波纹的幅频特性

D.过渡带具有频响趋于斜率为3N/倍频程的渐近线

35.将模拟低通滤波器至高通滤波器的变换就是s变量的(B)。A.双线性变换

B.倒量变换

C.负量变换

D.反射变换

36.从低通数字滤波器到各种数字滤波器的频率变换要求对变换函数u1G(z1)在单位圆上是(C)。

A.归一化函数

B.反归一化函数

C.全通函数

D.线性函数 以上为IIR数字滤波器设计部分的习题

37.线性相位FIR滤波器的单位函数响应偶对称表达式为(A)。A.h(n)h(N1n)

B.h(n)h(N1)C.h(n)h(Nn)

D.h(n)h(nN)

38.线性相位FIR滤波器的单位函数响应奇对称表达式为(A)。A.h(n)h(N1n)

B.h(n)h(N1)C.h(n)h(Nn)

D.h(n)h(nN)

39.FIR滤波器的线性相位特性是指(B)。

A.相位特性是常数

B.相位特性是频率的一次函数 C.相位特性是频率的二次函数

D.相位特性不是频率的函数 40.FIR滤波器的幅度函数(C)。

A.就是幅频特性

B.函数值总是大于0

C.函数值可正可负

D.函数值是常数,与频率无关

41.线性相位FIR滤波器与相同阶数的IIR滤波器相比,可以节省一半左右的(B)。

A.加法器

B.乘法器

C.乘法器和加法器

D.延迟器

42.线性相位FIR滤波器系统函数的零点(D)。

A.单个出现

B.2个一组同时出现

C.3个一组同时出现

D.4个一组同时出现

43.窗函数的主瓣宽度越小,用其设计的线性相位FIR滤波器的(A)。

A.过渡带越窄

B.过渡带越宽

C.过渡带内外波动越大

D.过渡带内外波动越小

44.用频率采样法设计线性相位FIR滤波器,线性相位FIR滤波器在采样点上的幅频特性与理想滤波器在采样点上的幅频特性的关系(A)。A.相等

B.不相等

C.大于

D.小于

45.用窗函数法设计的线性相位FIR滤波器过渡带越窄越好,过渡带内、外波动越小越好,要求窗函数频谱(A)。

A.主瓣宽度小,旁瓣面积小

B.主瓣宽度小,旁瓣面积大

C.主瓣宽度大,旁瓣面积小

D.主瓣宽度大,旁瓣面积大

46.在线性相位FIR滤波器的窗函数设计法中,当窗型不变而点数增加时,FIR滤波器幅频特性的(A)。

A.过渡带变窄,带内外波动振幅不变

B.过渡带变宽,带内外波动振幅变大

C.过渡带变窄,带内外波动振幅变小

D.过渡带变宽,带内外波动振幅变小 47.用频率采样法设计线性相位FIR滤波器时,增加过渡带点的目的是(D)。A.增加采样点数

B.增加过渡带宽

C.修改滤波器的相频特性

D.增大阻带最小衰减

48.线性相位FIR滤波器的单位函数响应h(N1)0的充分条件是(A)。2A.单位函数响应奇对称,N为奇数

B.单位函数响应偶对称,N为奇数 C.单位函数响应奇对称,N为偶数

D.单位函数响应偶对称,N为偶数 以上为FIR数字滤波器设计部分的习题 49.在不考虑(A),同一种数字滤波器的不同结构是等效的。A.拓扑结构

B.量化效应

C.粗心大意

D.经济效益 50.研究数字滤波器实现的方法用(A)最为直接。A.微分方程

B.差分方程

C.系统函数

D.信号流图 51.下面的几种网络结构中,(A)不是IIR滤波器的基本网络结构。A.频率采样型

B.用的延迟单元较少

C.适用于实现低阶系统

D.参数ai、bi对滤波器性能的控制作用直接

52.(D)不是直接型结构实现IIR数字滤波器的优点。A.简单直观

B.用的延迟单元较少

C.适用于实现低阶系统

D.参数ai、bi对滤波器性能的控制作用直接

53.(D)不是级联型实现IIR滤波器的优点。

A.可单调滤波器的极点和零点

B.每个基本节有相同的结构 C.可灵活地进行零极点配对和交换级联次序

D.误差不会逐级积累 54.(A)不是并联型实现IIR滤波器的优点。A.零极点调整容易

B.运算速度快

C.各级的误差互不影响

D.总误差低于级联型的总误差

55.在级联型和并联型实现IIR滤波器中,一般以一阶和二阶节作为子系统,且子系统采用(A)。

A.直接型

B.级联型

C.并联型

D.线性相位型 56.任意的离散电路可以看成是(C)。

A.IIR滤波器

B.FIR滤波器

C.IIR滤波器和FIR滤波器的级联组成 D.非递归结构

57.在MATLAB中,用(B)函数实现IIR数字滤波器的级联型结构。A.filter

B.casfilter

C.parfilter

D.par2dir 58.DSP采用(B)总线结构。

A.PCI

B.USB

C.哈弗

D.局部 59.在以下的窗中,(A)的过渡带最窄。

A.矩形窗

B.汉宁窗

C.哈明窗

D.布莱克曼窗 60.频率采样型结构适用于(B)滤波器的情况。A.宽带的情况

B.窄带

C.各种

D.特殊 以上为离散系统网络结构实现部分的习题

二、判断题

1.离散时间系统的数学模型是差分方程。(Y)2.已知某信号频谱的最高频率为100Hz,能够恢复出原始信号的最低采样频率为200Hz。(Y)

3.某系统y(n)ax(n),则该系统是线性系统。(N)

4.线性时不变系统的数学模型是线性常系数差分方程。(Y)5.对模拟信号(一维信号,时间的函数)进行采样后并对幅度进行量化后就是数字信号。

2(Y)

6.稳定的离散时间系统,其所有极点都位于Z平面的单位圆外部。(N)7.正弦序列都是周期序列。(N)

8.若线性时不变系统是有因果性,则该系统的单位采样响应序列h(n)应满足的充分必要条件是h(n)0,n0。(Y)9.序列x(n)(n)的DTFT是1。(Y)

2j10.已知X(e)02sin(n)j2。2,X(e)的反变换x(n)(Y)

n211.采样序列单位圆上的Z变换等于该采样序列的DTFT。(N)

12.对信号x(t)进行等间隔采样,采样周期T5ms,则折叠频率为200Hz。(N)

以上为离散时间信号与系统部分的习题

13.周期序列的 39.IIR滤波器的优化设计方法需要通过设计模拟滤波器实现。(N)

40.脉冲响应不变法不一定将最小相位模拟滤波器映射为最小相位的数字滤波器。(Y)

以上为IIR数字滤波器设计部分的习题 41.FIR滤波器总是具有线性相位的特性。(N)42.FIR滤波器的单位函数响应关于原点对称。(N)

43.线性相位FIR滤波器的窗函数设计法所用的窗函数总是偶对称的。(Y)44.线性相位FIR滤波器的结构中存在反馈。(N)

45.FIR滤波器只有零点,除原点外,在Z平面上没有极点。(Y)46.在理论上,FIR总是稳定的。(Y)

47.单位函数响应偶对称N为奇数的FIR滤波器,不宜作为低通滤波器。(N)48.单位函数响应偶对称N为偶数的FIR滤波器,不宜作为低通滤波器。(N)49.单位函数响应奇对称N为奇数的FIR滤波器,不宜作为高通滤波器。(Y)50.单位函数响应奇对称N为偶数的FIR滤波器,不宜作为高通滤波器。(N)51.窗函数的主瓣宽度越小,用其设计的线性相位的过渡带越窄。(Y)

52.窗函数的旁瓣面积应该尽可能地小,以增大线性相位FIR滤波器过渡带内、外波动的最大振幅。(N)

53.用窗函数设计的线性相位FIR滤波器的过渡带越窄,表明窗函数的主瓣宽带越大。(N)

54.用窗函数设计的线性相位FIR滤波器过渡带内、外波动的最大振幅越大,表明窗函数的旁瓣面积越小。(N)

以上为FIR数字滤波器设计部分的习题

55.子系统是线性的,子系统级联次序仍会影响总系统的传递函数。(N)

56.对于单输入、但输出的系统,通过反转网络中的全部支路的方向,并且将其输入输出互换,得出的信号流图传递函数是原始流图传递函数的倒数。(N)57.数字滤波器由加法器、乘法器和延迟器组成。(Y)58.滤波器共有三种因量化而引起的误差因素:(1)A/D转换的量化效应;(2)系数的量化效应;(3)数字运算过程中的有限字长效应。(Y)

59.不同的排列方案在相同的运算精度下,其产生的误差是不同的。(Y)60.DSP系统与模拟信号处理系统在功能上有许多相似之处,因此在处理技术上也相似。(N)

61.FIR滤波器实现类型中横截型又称卷积型。(Y)62.FIR滤波器级联型结构中,每个二阶节控制一个零点。(N)63.可以用FIR滤波器实现振动器。(N)64.FIR滤波器只能用非递归结构实现。(N)

65.线性相位型FIR滤波器的计算量约为横截型的一半。(Y)66.FIR级联型结构所需要的系数比直接型多。(Y)67.线性相位型的信号流图与N为偶数或奇数无关。(N)

68.在FIR级联型网络结构中,每一个一阶网络决定一个实数极点,每一个二阶网络决定一对共轭极点。(N)

以上为离散系统网络结构实现部分的习题

三、计算与设计题

1.设h(n)u(n),x(n)(n)(n1),求y(n)x(n)*h(n)。

n2.设系统的单位脉冲响应h(n)au(n),0a1,输入序列为

x(n)(n)2(n2),求出系统输出序列y(n)。

1,1z2,求x(n)。

1z12z21n4.求序列(n)()u(n)的Z变换,并指出其零、极点和收敛域。

23.已知X(z)5.已知X(z)z,讨论对应X(z)的所有可能的序列表达式。2(z1)(z2)6.已知x(n)0.75(n1)(n)0.75(n1)(1)计算X(ej)DTFT[x(n)];

(2)在角频率0~2上对X(ej)作N8点等距离采样,得到X(k),写出X(k)与x(n)的对应关系。

以上为离散时间信号与系统部分的习题

7.已知有限长序列x(n)如下式:x(n){1,1},N2,计算X(k)DFT[x(n)]。8.已知x(n)R2(n),y(n)R2(n),用DFT计算f(n)x(n)y(n)。

9.已知有限长序列x(n)如下式:x(n){1,1,0,0},N4,计算X(k)DFT[x(n)]。10.已知x(n)RN(n),y(n)RN(n),用DFT计算f(n)x(n)y(n)。11.已知x(n)(n)(n1)(n2),对于N8,计算X(k)。)R8(n),y(n)sin(12.已知x(n)cos(282)R8(n)。用DFT计算8f(n)x(n)y(n),并画出f(n)x(n)y(n)的波形。

以上为DFT部分的习题

13.一个Butterworth模拟低通滤波器,通带截至频率c0.2rad/s上的衰减不小于1dB,阻带截至频率c0.3rad/s上的衰减不小于15dB,求阶数N和3dB截至频率。

14.采用脉冲响应不变法,采样频率为1000Hz,则将模拟频率f1000/Hz转换为多少?

15.采用双线性变换法,采样频率为1000Hz,则将模拟频率f1000Hz转换为多少?

16.设计Chebyshev滤波器,要求在通带内的纹波起伏不大于2dB,求纹波系数。

17.设计一个Chebyshev滤波器,要求在通带内的纹波起伏不大于2dB,截至频率为

40rad/s,阻带52rad/s处的衰减大于20dB。

18.设计一个Butterworth滤波器,要求在20rad/s处的幅频响应衰减不大于2dB,在 30rad/s处的衰减大于10dB。

以上为IIR数字滤波器设计部分的习题

N6,19.已知线性相位FIR滤波器的单位函数响应h(n)偶对称,h(0)1,h(1)2,h(2)3,求h(n)。

20.已知线性相位FIR滤波器的单位函数响应奇对称,N6,h(0)1,h(1)2,h(2)3,求系统函数H(z)。

21.试用窗函数设计一个线性相位FIR滤波器,并满足以下技术指标:在低通边界频率c40rad/s处衰减不大于3dB,在阻带边界频率s46rad/s处衰减不小于40dB,对模拟信号的采样周期T0.01s。

22.设计一个低通数字滤波器H(ej),其理想频率特性为矩形。

7.数字信号处理实验例题 篇七

关键词:图形化组态,动态链接库,数据驱动

0 引言

随着计算机技术的发展,图像处理技术已经运用到了工业、军事、医学等很多方面。而图像处理是一个复杂而繁琐的过程,常常一项简单的图像处理过程需要多个图像处理算法共同完成。如果临时编写算法的话不仅算法的正确性难以保证,而且对于不熟悉编程的人来说是件困难的事[1,2]。本文提出并研究了一种基于图形化组态的数字图像实验系统,本系统将图像处理算法封装为图形控件,用户可以通过拖、拽的方式自由组态,来绘制处理流程,根据绘制的流程来进行图像处理。本系统不仅可以减少从事图像处理的研究人员进行算法的重复开发,方便进行对比实验,而且也可以使图像处理初学者不需要编程就可以快速熟悉图像处理流程。本系统结合VB和VC语言的优点,采用VB和VC程序语言实现,运用了动态链接库技术,将系统所需的大量的图像处理算法编写成动态链接库,提高系统的运行速度。

基于图形化组态的软件开发代表了一种新的软件开发方式,它借助了图形图像简单直观、易于理解的特点,由节点和节点间的有向连线构成的一个有向图来表示程序的处理流程。节点可以看成是具有输入和输出接口,并且封装了一定算法的功能模块,输入接口用于接收数据,输出接口用于发送数据[3]。

本系统主要是为专业进行图像处理研究或者进行图像处理学习的人员设计。本系统采用图形化组态的方式来设计。图形化组态的一个特点就是可以把一些通用的图像处理算法封装成图标控件,用户要运用这些算法的时候,不必要再编写图像处理算法,而只要拖、拽相应的图标就可以组成流程,这样可以大大减少用户的工作量,而且对于不熟悉图像编程的初学者也比较方便;图形化组态的另一个特点是连接的对象可以随时被撤销和改变,即处理流程可以根据用户需要动态地改变,用户可以很快地对实验结果进行比较。

1 系统的主要功能模块

本系统采用VB和VC语言实现。VB在界面编程中具有所见即所得的优势,且编程快速、简单,但代码运行较慢。VC编写的程序,编译后代码的执行速度比VB快,但编程较为复杂。因此,对于系统界面和不涉及大量计算的程序用VB编写,而对于需要大量计算的图像处理算法则用VC的动态链接库来编写。运用动态链接库来编写大量的图像处理算法既可以节约内存也便于软件的升级。

本系统是一个基于图形化组态的数字图像实验系统,其中算法工具栏中的每一个选项代表了一种图像处理方法或者是某些方法的组合。用户通过单击鼠标选定算法工具栏中的方法,完成对象的选定,设置选定对象的属性,并建立选定对象的流程连线。根据绘制的操作流程,用户可以完成各种图像处理实验,快速地查看输出结果。本系统具有可扩展的特点,即用户新编写的图像处理程序可以自动封装成图形控件,添加到系统中去。系统的模块结构关系如图一所示:

下面,主要介绍本系统的流程绘制模块、运行模块、显示模块,以及算法扩展模块。

1.1 流程绘制模块

此模块的功能主要是负责流程的绘制、流程的修改和所选定方法对象所需参数的输入。其中,流程的绘制有两种方法:一种方法是通过单击鼠标选定算法工具栏中的相应方法对象,完成对象的选定、选定对象的连线等步骤来绘制流程;另一种方法是通过打开一个已经保存的流程文件来绘制流程。

图形控件可分为简单类图形控件、复合类图形控件和控制类图形控件三大类。简单类图形控件是只封装了一个单一功能或一个图像处理算法的图形控件;复合类图形控件是封装了多个图像处理算法的控件;控制类图形控件主要是在包含选择结构或者循环结构的流程中用到,用来控制流程的走向。图形控件V可以表示为V=(Index,Type,In_num,Out_num,Para,Fun,Pin,Pout),其中:

●Index表示图形控件的索引值;

●Type表示图形控件的类型,当它的值为0时表示简单类图形控件,值为1时表示复合类图形控件,值为2时表示控制类图形控件;

●In_num表示处理流程中以此图形控件为终点的连线的数目,即图形控件的入度,它是在对处理流程中的图形控件进行仿真运行的时候将要用到的一个重要量;

●Out_num与In_num相反,表示处理流程中以此图形控件为起点的连线的数目,即图形控件的出度,它也是在对处理流程中的图形控件进行仿真运行时将要用到的一个重要量;

●Para表示图形控件中所封装函数所需要的参数;

●Fun表示图形控件中所封装的函数;

●Pin表示图形控件的输入端口的集合,它可以为空;

●Pout表示图形控件的输出端口的集合,它可以为空。

这三类图形控件都是由图形部分、功能部分和属性面板三部分组成,图二为图形控件结构图。其中,图形部分是图形控件的外部表现形式,功能部分是图形控件的核心部分,里面封装了函数的具体实现,外部是不可见的,属性面板则可看成是为控件的功能部分传递参数的外部接口。

有向处理流程中图形控件之间的连线主要有两方面的作用:一是作为图形控件之间的可视化连接,二是表示数据传输的方向,两个相互连接的图形控件之间有数据从连线所连接的起点图形控件传输到连线所连接的终点图形控件,从而完成数据的传输过程。图形控件之间的连线E可以用E=(Index,Type,Start_index,End_index,Left_Right),其中:

●Index表示连线的索引值;

●Type表示连线的类型。有两种类型的连线:一种是带箭头的直线,它的Type为0;另一种是带箭头的折线,它的Type为1,当有向处理流程中包含循环结构时,会绘制出带箭头的折线;

●Start_index表示与连线起点相连接的图形控件的索引值;

●End_index表示与连线终点相连接的图形控件的索引值;

●Left_Right用来区分与控制类图形控件的左端口还是右端口相连的标志。为Flase表示与控制类图形控件的左端口相连;为True表示与控制类图形控件的右端口相连。当连线的一端连接的是图形控件时此标志位才有用。

1.2 运行模块

此模块的功能是根据用户所绘制的图像处理流程,分析实验流程,调用相应的图形控件所对应的函数对流程进行处理。用户所绘制的流程图具有以下特点:

(1)有向性:从一图形控件到另一图形控件存在有向关系,前者是后者的前驱节点,后者是前者的后继节点,流程的有向性决定了数据流动的有向性。

(2)条件性:某个图形控件可能有多个前驱,一个图形控件若想被激活运行,必须是它的所有前驱图形控件运行完毕并且有输出,也就是说它的所有输入接口都有输入。

(3)流程中可以包括顺序结构、选择结构、循环结构、子过程调用四种结构,所以,流程中可能会有环。

传统的基于图形化编程的平台基本上是在运行之前,根据处理流程的结构先对图形控件对象进行排序,然后再根据排序结果依次调用与图标相关的算法。这种方法不仅效率低,而且对于包含选择结果和循环结构的流程不适应。因此,本文提出的一种基于数据驱动的方法,这种方法利用栈结构的后进先出的特点实现。这种方法对于包含顺序结构、选择结构、循环结构以及子过程调用四种结构的流程都适用。系统的运行机制如图三所示。

1.3 显示模块

此模块的功能是显示处理后的结果。处理后的结果主要分为两类:一类是处理后的图像结果,另一类是图像结果的相关参数。

1.4 算法扩展模块

此模块的功能主要是提供一个开放性的外部接口,可以将用户自己编写的图像处理程序自动封装成图形控件,并且将此控件添加到系统中去,供以后使用。

此开放性的外部接口主要包括添加图形控件的控件名、图形控件所对应函数的函数名、添加函数参数的个数以及参数的类型。添加图形控件的控件名和图形控件所对应函数的函数名是不可缺少的,但是输入的参数信息可以为空。当用户要往系统中添加一个新的算法的时候,只要提供外部接口中的相关信息,系统就根据用户提供的信息,生成与添加函数的名字相同的图标对象,并且将生成的图标对象添加到已有的算法工具栏中保存下来。同时,系统将添加的图形控件的控件名和图形控件所对应函数的函数名对应的保存下来,使流程解析的时候能够正确的自动调用正确的函数。

2 示例

图四是系统的用户界面。左边是算法控件栏,中间是流程绘制实验台。以下图的实验为例,首先在控件栏中拖取“打开图像”、“灰度均衡”、“显示”、“sobel算子”等控件,然后设计它们的属性,按照实验的要求将它们用线连接起来,组成图四所示的流程图,点击运行按钮来运行实验,结果如图五所示。

3 结束语

本文介绍了基于图形化编程的图像处理实验系统的主要功能和实现技术。基于图形化的编程方式增加了系统的可视化效果,提高了图像处理的速度。

参考文献

[1]王建新,陆炜妮,王伟平.基于组建的数字图像处理仿真系统的设计与实现[J].系统仿真学报,2004,16(6):1213-1216.

[2]王建新,张丽媛,盛羽,刘丽娟.基于组件的计算机组成原理虚拟实验室的设计与实现[J].系统仿真学报,2008,20(9):2469-2474.

[3]Fabrega L,Massaguer J,Jove T,Merida D.A Vir-tual network laboratory for learning IP network[A].Denmark:The7th Annual Conference on Innovation and Technology in Compute Science Education,2002.Reference6.

[4]N Kehtarnavaz,C Gope.Dsp System Design Us-ing Labview and Simulink:A Comparative Evaluation[J].IEEE,2006,6:985-988.

8.数字电路实验报告 篇八

一、实验目的1、掌握用门电路设计组合逻辑电路的方法。

2、掌握组合逻辑电路的调试方法。

二、实验器材

数字电路实验箱一台、74LS00若干

三、实验内容

1、用与非门实现散人多数表决器电路

(1)真值表

(2)表达式化简及变形

(3)逻辑图

2、用与非门实现YAB

(1)真值表

(2)表达式化简及变形

(3)逻辑图

译码器应用电路的设计与测试

一、实验目的1、熟悉集成译码器的性能和使用方法

2、学会使用二进制译码器实现组合逻辑电路的方法

二、实验器材

数字电路实验箱一台、74LS138一片、74LS20一片

三、实验内容

1、用74LS138及74LS20实现三人多数表决器电路

(1)真值表

(2)表达式转换

(3)逻辑图

2、用74LS138及74LS20实现YAB

(1)表达式转换

(2)逻辑图

数据选择器的设计与调试

一、实验目的1、熟悉数据选择器的性能及使用方法

2、学会使用数据选择器进行逻辑设计的方法

二、实验器材

数字电路实验箱一台、74LS151一片

三、实验内容

1、用74LS151实现三人多数表决器

(1)真值表

(2)比较卡诺图求出Ai及Di

(3)逻辑图

2、用74LS151实现YABBCAC

(1)比较卡诺图求出Ai及Di

(2)逻辑图

N进制计数器的设计与测试

一、实验目的1、掌握集成技术器的测试方法

2、学会利用集成技术器构成N进制计数器

二、实验器材

数字电路实验箱一台、74LS161一片、74LS20一片

三、实验内容

1、用74LS161设计七进制计数器。

方法一:清零(0-6)

(1)逻辑图

(2)状态转换图

方法二:置数(1-7)

(1)逻辑图

(2)状态转换图

方法三:置数(9-15)(CO做反馈)

(1)逻辑图

9.例谈课本例题教学的处理方法 篇九

一、七年级 (上) 第二章一元一次方程

再探实际问题与一元一次方程.

探究1:销售中的盈亏.

某商店在某一时间以每件60元的价格卖出两件衣服, 其中一件盈利25%, 另一件亏损25%, 卖出这两件衣服总的是盈利还是亏损, 或是不盈不亏?

题目出示后, 我就举例:我左右两个口袋里都有钱, 现在把左口袋里的钱的25%给学生甲, 右口袋里的钱的25%给学生乙, 看我做事很公平吧, 对谁也不偏心, 他俩得到的钱一样多呵!

这时马上就有学生反驳:那可不一定!这要看你两个口袋中的钱是否一样多, 如果不一样多的话, 他俩得到的钱肯定不一样多!

这时我会付之一笑, 对学生的这种认识表示肯定和称赞, 学生有了这样认识后, 我马上回到探究1, 到底是盈还是亏, 或是不盈不亏?

学生就会顺理成章地反应:这要看这两件衣服的进价是否一样多, 如果一样多, 那就不盈也不亏;如果不一样多的话, 还得看哪一件的进价多, 第一件进价高则盈利;第二件进价高则亏损.所以, 现在需要求出两件衣服的进价分别是多少.

利用我们学过的方程的方法, 设两件衣服的进价分别为x元、y元, 根据进价与利润的和等于售价列方程, 很容易求出x、y的值, 再算出总利润, 若总利润为正, 就盈;若总利润为负, 就亏, 这样问题就顺利地得到解决了.

二、七年级 (下) 第八章二元一次方程组

习题8.3 (综合运用) 第7题.

要用含药30%和75%的两种防腐药水, 配制含药50%的防腐药水18千克, 两种药水各需取多少?

学生第一次接触浓度的问题, 由于对百分含量不明白, 尽管题目很短, 但学生带着模糊的感觉读完不到两行字的题目后, 仍然一头雾水.

这时, 我提了一个问题, 给了一个公式, 学生就基本明白了, 然后又套举了一个例子:

问题:将一杯很甜很甜的糖水和一杯稍微有些甜味的糖水混在一起, 味道将会怎样?

举例:假设刚才很甜很甜的水含糖75%, 稍微有些甜味的水含糖30%, 混在一起的水含糖50%, 且有18千克, 问75%的糖水和30%的糖水各需多少?

让学生在已有的理解程度上解决这个问题, 此时, 可以看出已没有障碍了.

然后, 再回到第7题, 给出这题的公式, , 学生就都会做了.因为孩子往往对身边的事最感兴趣, 也最容易理解.

三、七年级 (下) 第九章不等式与不等式组

习题9.1 (拓广探索) 第12题.

一件用黄金和白银制成的首饰重a克, 商家称其中黄金含量不低于90%, 黄金与白银的密度分别是19.3 g/m3与10.5 g/m3, 列出不等式表示这件首饰的体积应满足什么条件? (提示:质量=密度×体积)

初一的学生还没有学物理, 对物质的密度没有概念, 无法理解, 需要数学老师把这个物理概念通俗化地告诉学生.

我是这样处理的:先告诉学生规范的物理概念——单位体积中物质的质量就叫做这个物质的密度.

然后举了一个通俗的例子:用两个同样大小的玻璃杯, 一个装满细砂, 一个装满小石粒, 此时哪个重?哪个轻?

学生很容易知道:装满细砂的杯子较重, 装满小石粒的杯子较轻.

师:这就是说, 装满细砂的杯子中物质的密度较大, 而装满小石粒的杯子中物质的密度较小.

这样学生对“密度”这个概念就有了初步的认识了, 然后为了让学生对和密度有关的其他量的理解, 以及质量一定的前提下, 密度发生变化, 体积将会如何变化?我又做一步一步的提问:

(1) 如果要使两个杯中物质的质量相等, 体积将会做怎样的变化? (充分理解公式:质量=密度×体积)

(2) 若先将小石粒与细砂各一半混合装入一个玻璃杯中, 装满, 称重, 记住这个质量;要想提高细砂的含量而且保证总质量不变, 还能装满吗?也就是混合装的物质的体积发生了变化, 而且变小了, 才能保证总质量不变.也就是说, 要保证总质量不变, 密度大的细砂含量越高的话, 混装物质的体积就会越小.

这时回到第12题, 黄金密度19.3 g/m3大于白银的密度10.5 g/m3, 所以黄金好比细砂, 白银好比小石粒, 黄金白银制成的首饰好比混合装物质, 当黄金含量不底于90%时, 即黄金含量大于等于90%时, 意味着首饰的体积V会随着黄金含量的逐渐增大而逐渐变小, 所以V首饰≤V黄金+V白银, 而这件首饰既然是黄金白银制成的, 就不能为纯金的, 所以V首饰>V黄金.

四、八年级 (下) 第十六章分式

16.3分式方程P31:练习第2题.

一个圆柱形容器的容积为V立方米, 开始用一根小水管向容器内注水, 水面高度达到容器高度一半后, 改用一根口径为小水管2倍的大水管注水, 向容器中注满水的全过程共用时间t分, 求两根水管各自的注水速度. (提示:要考虑大水管的进水速度是小水管进水速度的多少倍)

这里关键要解决提示中的问题, 而学生对口径、流速很难理解, 也不知道该如何求流速, 所以要逐一解释.

师: (1) 口径:直径.

(2) 流速:单位时间内流过的液体的体积.

(3) 设小水管直径为d, 则大水管直径为2d, 此时水管长度可视为一样长, 都为h, 所流时间都为T, 那么

所以, 大水管的流速是小水管流速的4倍.有了这个结论, 再设未知数, 利用和分式方程就可以解决这道题了.

在七年级 (上) 学一元一次方程时, 课堂上遇到一道补充题:

某队伍长450米, 以每秒1.5米的速度行进, 通讯员从排尾赶到排头, 并立即返回排尾, 他的速度是每秒3米.问通讯员往返需要多少时间?

行程问题是初中应用题的一大难点, 在解行程问题时, 要紧紧抓住速度、时间及路程之间的数量关系, 并善于画出示意图或列表分析题意, 这将有助于学生弄清题意, 揭示问题的实质, 找出等量关系, 解决问题.因此要要求学生会画示意图或列表分析.甚至有时把题目中的情景套在本班学生身上, 他们会非常感兴趣的.

例如, 我班学生排成一队步行去外校参观, 队伍长45米, 速度每秒1.5米, 我在队首带队, 某某某在队尾, 他有事情要请示我, 就以每秒3米的速度跑来, 说完后又返回队尾.问他往返需要多少时间?

此时, 学生特别有劲头, 主动讨论起来, 边讨论边动手画示意图.

本来按照别的老师的经验, 应提示学生:通讯员从排尾赶到排头或从排头返回排尾时, 队伍仍在向前行进.

(1) 通讯员赶到排头是个“追及问题”, 画出示意图.

(2) 通讯员返回排尾是个“相遇问题”, 画出示意图.

上一篇:我的学校_作文500字下一篇:矿山管理员工作总结