当前位置:文档之家› DTMF信号的产生与检测-实验报告

DTMF信号的产生与检测-实验报告

DTMF信号的产生与检测-实验报告
DTMF信号的产生与检测-实验报告

DSP课程设计实验报告DTMF信号的产生与检测

时间:2014年7月18日

1 设计任务书

双音多频DTMF(Dual Tone Multi Frequency)信号是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4个频率,据CCITT的建议,国际上采用的这些频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和1633Hz等8种。在每组频率中分别抽出一个频率进行组合就可以组成16种DTMF编码,从而代表16种不同的数字或功能键,分别记作0~9、*、#、A、B、C、D。如下图所示。

图1-1 双音多频信号编码示意图

要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1.1 实验目的

掌握DTMF信号的产生和检测的DSP设计可使学生更加透彻的理解和应用奈奎斯特采样定理,与实际应用相结合,提高学生系统地思考问题和解决实际问题的能力。通过对DSP 信号处理器及D/A和A/D转换器的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。

1.2 技术指标及设计要求

1.2.1 基本部分

1)使用C语言编写DSP下DTMF信号的产生程序,要求循环产生0~9、*、#、A、B、C、

D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

2)使用C语言编写DSP下DTMF信号的检测程序,检测到的DTMF编码在CCS调试窗口

中显示,要求既不能漏检,也不能重复检出。

3) DTMF 信号的发送与接收分别使用不同的实验板完成。

1.2.2 发挥部分

1) 使用一个DSP 工程同时实现DTMF 信号的发送和检测功能。

2) 改进DTMF 信号的规定指标,使每秒内可传送的DTMF 编码加倍。

3)发送的DTMF 信号的幅度在一定范围内可调,此时仍能完成DTMF 信号的正常检测。

1.3 方案完成情况

在实现基本要求的基础上,我们又完成了发挥部分的全部要求:能够实现在一个DSP 实验箱上同时实现自发自收,基本能实现无差错传输。通过改变处理信号的点数N 的数值实现了DTMF 信号编码加倍,能够在一秒内传送够多的数据。通过gel 添加滑动条的方法实现输入信号幅度可调,并实现判决门限的自适应处理,能随着幅度的变化自动调整门限的值,进而了判决传输信号的正确性。

2 设计内容

2.1 DTMF 信号的的定义

双音多频(DTMF)信号是由两个不同频率的信号叠加而成,设V(t)为DTMF 信号、()t V H 和()t V L 分别为构成V(t)的两个信号,则它们应满足关系式(1)。

V(t)= ()t V H +()t V L

(1)

根据CCITT 建议,国际上采用697Hz 、770Hz 、852Hz 、941Hz 、1209Hz 、1336Hz 、1477Hz 、1633Hz8个频率,并将其分成两个群,即低频群和高频群。从低频群和高频群中任意抽出一个频率进行叠加组合,具有16种组合形式,让其代表数字和功率,如表3-1所列,则有关系式(2)。

V(t)=Asin H ωt+Bsin L ωt

(2)

其中Asin H ωt 为低频群的值,Bsin L ωt 为高频组的值,A 、B 分别为低频群和高频群样值的量化基线,具体见表2-1。

表2-1 DTMF频率及其对应的键值

2.2 DTMF信号生成方法

2.2.1 利用math.h采用数学方法产生DTMF信号

buffer[k]= sin(2*pi*k *f0/fs)+ sin(2*pi*k *f1/fs) (式2-1)f0为行频频率,f1为列频频率,fs为8000采样频率,k为对信号的采样。

2.2.2 利用两个二阶数字正弦波振荡器产生DTMF信号(本

课程设计实际采用方法)

DTMF 编码器基于两个二阶数字正弦波振荡器,一个用于产生行频,一个用于产生列频。向DSP装入相应的系数和初始条件,就可以只用两个振荡器产生所需的八个音频信号。典型的DTMF信号频率范围是700~1700Hz,选取8000Hz 作为采样频率,即可满足Nyquist 条件。由数字振荡器对的框图,可以得到该二阶系统函数的差分方程

(式2-2)其中a1=-2cosω0,a2=1,ω0=2πf0 /fs,fs为采样频率,f0 为输出正弦波的频率,A 为输出正弦波的幅度。该式初值为y(-1)=0,y(-2)=-Asinω0。CCITT 对DTMF 信号规定的指标是,传送/ 接收率为每秒10个数字,即每个数字100ms。代表数字的音频信号必须持续至少45ms,但不超过55ms。100ms 内其他时间为静音,以便区别连续的两个按键信号。编程的流程如图1所示,由CCITT 的规定,数字之间必须有适当长度的静音,因此编码器有两个任务,其一是音频信号任务,产生双音样本,其二是静音任务,产生静音样本。每个任务结束后,启动下一个任务前(音频信号任务或静音任务),都必须复位决定其持续时间的定时器变量。在静音任务结束后,DSP 从数字缓存中调出下一个数字, 判决该数字信号所对应的行频和列频信号,并根据不同频率确定其初始化参数a1=-2cosω0 与y(-2)=-Asinω0。该流程图可采用C 语言实现,双音信号的产生则由54x汇编代码实现。整个程序作为C 5 4 x 的多通道缓冲串口(McBsp)的发射串口中断服务子程序,由外部送入的16000Hz串口时钟触发中断,可实时处理并通过D / A 转换器输出DTMF 信令信号。

图2-1 DTMF编码流程

2.3 DTMF信号的检测方法

DTMF信号的检测方法可以有多种。主要分为从信号时间域处理和从信号频率域处理两大类。

前一种方法包括:过零点位置检测法、信号峰值位置检测法、过零点位置及信号幅值检测法。其特点是实现简单,可以通过MT8880等芯片加上外围电路实现,易于集成化。缺点是易受干扰,对信噪比要求高。现在广泛应用于一般的脉冲拨号电话机。通过神经网络等辅助判别方法可以大大提高信号的识别率。

后一种方法包括:频率判断、能量判断两类。频率判断主要通过滤波器提取DTMF相应的频率信号进行比较判断,滤波器可以用窄带、低通、高通滤波器,应用方式可以有并联、级联、混合联接等方式。能量判断是直接对DTMF信号相应的能量进行计算,找出高、低频率群中最强的信号,进行判断,包括有DFT法(Discrete Fourier Transform)、FFT(Fast Fourier Transform)、Goertzel法等。

本次实验我们采用的是能量判断法,并采用了Goertzel算法。

3 设计方案、算法原理说明

3.1 Goertzel 算法原理

Goertzel 算法信号解码是将两个音频信号提取出来,并通过他们的频率,确定所接受的DTMF 数字。原来使用模拟技术音频信号频率进行检测,一般通过模拟电路进行过零点检测,通过零点计数完成对输入信号的频率检测。在数字信号检测电路中,一般使用频域计算技术代替时域信号处理。我们可以直接通过付立叶变换,直接得到输入的信号频率。信号各个频率分量的幅值直接计算可以使用DFT 。对于N 点数据序列{x(n)}的DFT 为:

()()1N ,...,1,0k ,W n x k X nk

N 1

N 0n -==∑-=

(式 3-1)

如果用FFT 算法来实现DFT 计算,计算将涉及复数乘法和加法,并且计算量为N Nlog 2。虽然我们可以得到DFT 的所有N 个值,然而,如果希望计算DFT 的M 个点,并且M

Goertzel 算法,从根本上说,是计算DFT 的一种线性滤波算法,它可以通过调整滤波器的中心频率和带宽,直接计算出DFT 的系数。

Goertzel 算法利用相位因子{}

k

N W 的周期性。我们可以同时将DFT 运算表示为线性滤波运算,由于kN N W -=1,我们可以用该因子对公式(4) (DFT 表达式)两边相乘,得到:

()()()()()

m N k N 1

N 0

m kN N

nk N

1N 0

n kN

N

W m x W

W n x k X k X W

---=--=-∑∑=*== (式 3-2) 我们注意到,上式就是卷积形式。可以定义序列()n Y K 为:

()()()

m N k N

1

N 0m k W m x n Y ---=∑= (式 3-3) 显然,Yk (n)就是长度为N 的有限长输入序列()n Y K 与具有如下单位脉冲响应的滤波器的卷积:

()()n u W n h kn

N k -= (式 3-4)

可以看到,当n=N 时,该滤波器的输出就是DFT 在频点k N

2k π

=ω值 即

()()N n K n Y k X == (式 3-5)

我们可以通过比较式(6)和式(7) 来验证上式。对于单位脉冲响应为()n h k 的滤波器来说,其系统函数为:

()1

k N k z

W 11

z H ---=

(式 3-6) 这个滤波器只有一个位于单位圆上的极点,其频率为k N

2K π

=

ω。因此,可以使用输入数据块通过N 个并行的单极点滤波器或者谐振器组来计算全部的DFT,其中每个滤波器有一个位于DFT 响应频率的极点。

因此,对于式(7)的卷积计算,我们可以使用差分方程形式来表示用式(9)给出的滤波器,通过迭代的方法计算()n Y K ,从而得出DFT 的计算结果:

()()()()01y ,n x 1n y W n y k k k

N k =-+-=- (式 3-7)

计算涉及复数加法和复数乘法,计算量大。由于我们只需要计算幅值信息,而不关心相位信息。我们在单位圆上另外引入一个极点,与原有的极点形成一对共扼极点。将两个滤波器组成一对复数共轭极点的谐振器。原有的单极点滤波器计算方式变成形如式(10)的方式。其系统函数为:

()()2

11

k N z z

z N k 2cos 21z

W 1z H ---+π--= (式 3-8) 上式中:N /k j2K

N e W π=,为差分方程的系数。由于引入了复数共扼极点,避免了式(9)

中复杂的复数加法和复数乘法。

显然,对式(10)无法进行直接计算。为了便于计算实现,我们引入中间变量()n Q k ,将式(9)表示为差分方程形式:

()()()()n x 2n Q 1n Q N k 2cos 2n Q k k k +---???

?

??π?= (式 3-9)

式中,初始条件为: ()()N ,...,1,0n ,02Q 1Q k k ==-=-

()()()()1N Q W N Q N Y k X k k

N k k -?-== (式 3-10)

其中,N

k

2k N

e

W π-=

3.2 Goertzel 算法改进与实现

Goertzel 算法是计算离散傅立叶变换的方法,需要计算的频率点数不超过21092 N 时Goertzel 算法将比FFT(Fast Fourier Transform)更为有效。Goertzel 算法相当于一个二阶IIR 滤波器,(10)式是它的转移函数我们可以根据(10)式画出改进Goertzel 算法的模拟框图,如图 3-1所示

(n x -1

()

n k

图 3-1 Goertzel 算法的模拟框图

图2中可看到,整个计算过程分为两部分:前向通路式(11)和反馈通路式(12)。显然,对于式(11)的递推关系计算需要重复N=1,?,N 重复N+1次,但是式(12)中的反向计算只需要在n=N 时计算一淡。每次计算只需要计算一次实数乘法和两次实数加法。所以,对实数序列x (n), 由于对称性,用这种算法求出X(k)和X(N-k)的值需要N+1次实数乘法运算。

我们现在可应用Goertzel 算法完成实现DTMF 解码器了。由于有8种可能的音频信号需要检测。所以需要至少8个由式(9)给出的滤波器,将每个滤波器调谐到这8个频率值上。在完成信号判决时,我们并不需要相位信息,只需要幅值信息|X(k)| 。因此,对式(12)两边进行平方,计算幅度的平方值|X(k)|2。我们将递推方程式(9,11, 12)进一步简化,得到滤波器计算的前向部分的简化表达方式,即滤波表达式的分子项部分:

由于我们只需要幅值信息,不需要相位信息,因此,对前向部分进行改进,输出幅度平

方值。

()()()()()()()1N Q N Q N

k

2cos

21N Q N Q N y N y k X k k 2

k 2k k k 2

-π-+==* (式 3-1) 3.3 改进Goertzel 算法原理小结

在式(12)中可以使用A, B 分别代替递归项,令()1N Q A k -=,()2N Q B k -=将离散付里叶变换DFT 的改进计算过程总结写为:

()k 222

k ABcoef B A N y -+= (式 3-2)

其中 ??

?

??π=k N 2cos 2coef k ,()()22k k X N y = 可以看到,由于上面两式中:

忽略相位信息,使用实数运算,无复数运算。等式右边全部是实数运算,大大提高了运算速度,降低计算量。

3.4 实际实现中误差分析

3.4.1 舍入误差问题

我们再次回到公式 3-1 进行分析:

()()()()()()1N Q N Q N

k

22cos

1N Q N y N y k X K K 2K k k 2

-π--==*

(式 3-1) 简单地说,在实际的DSP 实现中将使用(4)式和(6)式来得到DTMF 信号的频谱信息,(4)式实际就是一个递归线性滤波器的表达式,它在n=0…N 之间进行循环。每N 个样点对公式(6)进行了一次计算。

在这个算法中,DTMF 频率(f i )变换成了离散傅立叶系数(k ),它们之间存在如下关系:

,N

k

f f s i = 这里,N 是滤波器的长度,f s 是采样频率。在给定的采样频率下,我们可以通过调整N 和K 值,得到相应的DTMF 频率(i f )上的能量幅值。

但是,由于k 和N 是整数,有可能不能取到合适的DTMF 频率(f i )。实际上,计算时如果采用FFT 变换,计算字长N 将被限定为2得n 次方,每次计算可以同时得到N/2个频率点的幅度值。而对于DFT 或Goertzel 算法来说,对于N 长度的算法,其可以分辨的最高频率为采样频率的一半。其输出序列为

{X(0)、X(1)……,X(N)}

对应的信号计算频率为f i ,i=0,1,…,N 。所以,我们可以知道,可计算的信号频率存在一定的限制。式(4-12)给出了Goertzel 算法的频率分辨率。对于不是正好在输出序列计算点上的信号频率,其计算结果分布在相近的频率值上,将会出现泄漏,这不是我们所期望的。

3.4.2 计算字长N 的问题提出

N 和k 的选择不同,计算的误差会有很大不同。缩小N 值,将显著减少计算量,所以N 值的选取,是完成实时计算的核心。

在相关文献中,N 值的选取也有很大的不同。有使用16个106字长计算完成信号监测及语音检测的,也有使用105字长或205字长完成Goertzel 算法完成检测的,由此我们提出这样一个问题,在文所利用的Goertzel 算法中,进行DTMF 信号检测的最佳字长是多少?

由采样频率公式可知,在采样率一定的情况下,N 值的取值同时决定Goertzel 算法计算时对应的频率,即Goertzel 滤波器的中心频率。通过改变N 值,计算出我们感兴趣的对应一组k 值,即完成DTMF 频率检测。但是,由式(14)可知k 取整数,计算中心频率的位置与实际的DTMF 频率必然会产生一定的舍入误差。我们将Goertzel 算法中的中心频率与实际的DTMF 频率的差值定义为D 。可以计算出D 的最大值为

Dmax =

2N f s ,当k 的误差k =0.5时,对应的频率百分比为:dtmf

s

2Nf f ,dtmf f 为所需计算的DTMF 频率。

这实际上是DTMF 频率位于“所计算的信号窗口的边缘”。当N 值取较大值时,同时采取较高的采样频率可以取得较准确的检测结果,但是也加大了计算量。

由于N 的取值,影响了计算时的Goertzel 滤波器的中心频率的位置。实际应用中,首先需要确定N ,同时对应不同的DTMF 频率,取相应的k 值,通过Goertzel 算法,得到相应的X(k)。可以看到,N 的取值是Goertzel 算法设计DTMF 信号检测器的关键,它直接决定了检测器的性

能及对ITU 建议的满足性。以下讨论在满足ITU 要求的情况下,寻找的N 值的过程,同时,我们在这里讨论的是误差的百分比,因此,可以通过计算点数的误差百分比来估计频率的百分比。

3.4.3 Goertzel 算法中N 的选择要求

N 的选择应考虑如下的因素:

频率偏移度不但要求主瓣宽度存在一定的范围之内,同时也和计算窗口中心频率有关。Goertzel 算法种计算长度N 的取值也影响到计算窗口中心频率的取值。 例如,如果N=125,f s =8000Hz,对于770Hz 信号的完成检测,频域分辨率为

8000/125=64Hz,ITU 规定的对于频率误差大于3.5%的信号拒识,即对于770Hz 信号为中心,宽度为743.05到769.95。39.0Hz 的频率分辨率将矗立的信号为780.488Hz 为中心,其他范围的频率则不满足规定要求。

3.4.4 舍入误差的寻优

根据s

i

f f N k ?

=,在Goertzel 算法进行递归计算时k 要取整数,因而存在舍入误差。舍入误差是随机和离散的,不同的N 值和不同的f i 舍入误差是不同的,因此造成的频率的偏移也是不同的。由于k 的舍入误差反映的是频率的偏移,因此必须兼顾每个频率,选择k 舍入误差小得N 值。表3-1列出了当N=125时,不同的频率k 值的舍入误差,表3-2列出了当N=205时,不同的频率k 值的舍入误差.

表3-1 N=125时不同的频率值k的舍入误差

表3-2 N=205时不同的频率值k的舍入误差

由于k的舍入误差反映的是频率的偏移,因此必须选择k舍入误差小的N值。同时还要兼顾每个频率,每个频率k舍入误差都比较小,或者尽可能的都取“舍”或者都取“入”,这样就会使偏移比较小或者都向同一个方向偏移。

3.4.5 复杂度比较

直接计算离散傅里叶变换,对于每一个k值,需要4N次实数乘法及4N-2次的实数加法,4N次实数乘法及N(4N-2)次实数加法,因此,采用直接法计算的计N点的傅里叶变换需要2

N)。

算复杂度为O(2

对于Goertzel算法来说。其输入的X(n),Wk,是复数,每计算一个新输出Y值需要做四次实数加法和四次实数乘法。由于我们只需要幅值信息,对于相位信息可以忽略,通过变换得到

N)。

幅值信息。因此,共需要N+l次实数乘法,计算复杂度为O(M

对于单个解码器来说,对于每次成功完成DTMF信号解码的时间估计十分重要。通过对解码器的处理时间估计,我们可以得到其处理性能,通过对处理性能评价,就可以预计单个解码器工作时可以承载的最大信道个数。在这里,定义DTMF解码器成功完成两个DTMF信

号解码之间所耗费的时间可以这样估算:

每处理一个采样样本的时间间隔允许的最大值为:

==

s

s f 1

T 125s μ (式3-3) 前向计算所需的时间为:s T N *

可以看到,计算时间主要决定于计算字长N 。对于每一个需要检测的频率,都必须进行(N+4)次实数乘法和(N 十2)次加法。检测8个DTMF 频率需要的总共的计算量为:(8N+ 32)次乘法与(16N 十16)次实数加法。

4 算法流程图

图4-1 程序算法流程图

5 源程序注释

5.1 初始化程序

//*****************************初始化********************************** // Initialize CSL library - This is REQUIRED !!! CSL_init();

// The main frequency of system is 240MHz

// 该频率是为了设置IIC模块的需要设置的,为了使用I2C_setup函数PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);

//EMIF初始化

Emif_Config();

// Open McBSP port 1 and get a McBSP type handle

hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);

// Config McBSP port 1 by use previously defined structure

Mcbsp_Config(hMcbsp);

//I2C初始化

I2C_cofig();

//CODEC寄存器初始化

inti_AIC();

5.2 二极管闪烁程序

//*******************程序正常执行:二极管闪烁两次***********************

while(cnt--)

{

asm(" BCLR XF"); // ; Clear XF

delay(3000);

asm(" BSET XF"); // ; Set XF

delay(3000);

}

5.3 DTMF信号产生,发送与接收

//**********************DTMF信号产生,发送,接收*************************

for(i=0;i<16;i++)

{

f0=freq[i][0]; //顺序获取各符号低频数据

row_freq[i][0]=cos(2*pi*f0/fs);

row_freq[i][1]=sin(2*pi*f0/fs);

}

for(i=0;i<16;i++)

{

f0=freq[i][1]; //顺序获取各符号高频数据

column_freq[i][0]=cos(2*pi*f0/fs);

column_freq[i][1]=sin(2*pi*f0/fs);

}

for(k=0;k<16;) //基于两个二阶数字正弦振荡器,产生DTMF信号

{

ax1=row_freq[k][0];

x_n_2= -row_freq[k][1];

ay1=column_freq[k][0];

y_n_2= -column_freq[k][1];

x_n_1=0;

y_n_1=0;

for(j=0;j<200;j++) //传输信号采样值,设产生信号的持续时间为50ms,所以j为200。

{

x_n=2*ax1*x_n_1-x_n_2;

y_n=2*ay1*y_n_1-y_n_2;

z_n=x_n+y_n;

x_n_2=x_n_1;

x_n_1=x_n;

y_n_2=y_n_1;

y_n_1=y_n;

dtmf[j]=z_n*gain; //gain(可变)改变产生信号的幅度,使之在一定范围内可调,

while(!MCBSP_xrdy(hMcbsp)) {}; //左声道信号发送

MCBSP_write16(hMcbsp,dtmf[j]); //采样值的装入,前二百

个点为双音信号采样值

while(!MCBSP_xrdy(hMcbsp)) {}; //右声道信号发送

MCBSP_write16(hMcbsp,dtmf[j]); //采样值的装入,前二百个点为双音信号采样值

while(!MCBSP_rrdy(hMcbsp)){}; //左声道信号接收

dtmfr[j]=MCBSP_read16(hMcbsp);

while(!MCBSP_rrdy(hMcbsp)){}; //右声道信号接收

dtmfr[j]=MCBSP_read16(hMcbsp);

}

for(j=0;j<200;j++) //传输静音信号,设产生信号的持续时间为50ms,所以j为200。

{

dtmf[j+200]=0; //后二百个点为0(即静音信号)。

while(!MCBSP_xrdy(hMcbsp)) {}; //左声道信号发送

MCBSP_write16(hMcbsp,0);

while(!MCBSP_xrdy(hMcbsp)) {}; //右声道信号发送

MCBSP_write16(hMcbsp,0);

while(!MCBSP_rrdy(hMcbsp)){}; //左声道信号接收

dtmfr[j+200]=MCBSP_read16(hMcbsp);

while(!MCBSP_rrdy(hMcbsp)){}; //右声道信号接收

dtmfr[j+200]=MCBSP_read16(hMcbsp);

}

detect(); //接收信号判决检测与显示

k++;

if(k==16) //控制16个符号循环发送

k=0;

}

5.4 延时子程序

//********************************延时子程序******************************

void delay(int period)

{

int i, j;

for(i=0; i

{

for(j=0; j>1; j++);

}

}

5.5 接收信号判决检测与显示子程序

//***********************接收信号判决检测与显示子程序*********************

void detect()

{

w[0]=2*cos(2*pi*K[0]/N); //采用Goertzel算法检测DTMT信号

w[1]=2*cos(2*pi*K[1]/N);

w[2]=2*cos(2*pi*K[2]/N);

w[3]=2*cos(2*pi*K[3]/N);

w[4]=2*cos(2*pi*K[4]/N);

w[5]=2*cos(2*pi*K[5]/N);

w[6]=2*cos(2*pi*K[6]/N);

w[7]=2*cos(2*pi*K[7]/N);

for(i=0;i<8;i++) //i表示有8个频率点。

{

bb[i][0]=0;

bb[i][1]=0;

for(j=0;j

{

bb[i][2]=w[i]*bb[i][1]-bb[i][0]+dtmfr[j+50]/8192.0; //DFT在8个频率点的值

bb[i][0]=bb[i][1]; //迭代算法

bb[i][1]=bb[i][2];

}

result[i]=bb[i][1]*bb[i][1]+bb[i][0]*bb[i][0]-w[i]*bb[i][1]*bb[i][0]; //每一段的8个频率点的幅度平方值

}

j=0;

for(i=0;i<8;i++)

{

if(result[i]>thresh) //对result中的值进行检测,与域值比较,当超过域值时,判断此频率点上信号存在

{

j++;

printf("dtmf[%d]:%f\r\n",i,result[i]);

if(j==1) //j=1时i的值赋给x,代表检测符号含

有的低频信息

{

X=i;

}

else if(j==2) //j=2时i的值赋给y,代表检测符号含有的高频信息

{

Y=i;

}

}

}

threshold(); //根据当前8个频率点的幅度平方值自适应更新域值

ch='e';

if(j==2)

{

if(X==0 && Y==4) //若x=0,y=4,则表示低频为697Hz,高频为1209Hz

{

ch='1'; //这两个频率所对应的数为"1"

}

else if(X==0 && Y==5) //若x=0,y=5,则表示低频为697Hz,高频为1336Hz

{

ch='2'; //这两个频率所对应的数为"2"

}

else if(X==0 && Y==6) //以下都依次类推

{

ch='3';

}

else if(X==1 && Y==4)

{

ch='4';

}

else if(X==1 && Y==5)

{

ch='5';

}

else if(X==1 && Y==6)

{

ch='6';

}

else if(X==2 && Y==4)

{

ch='7';

}

else if(X==2 && Y==5)

{

ch='8';

}

else if(X==2 && Y==6)

{

ch='9';

}

else if(X==3 && Y==5)

{

ch='0';

}

else if(X==3 && Y==4)

{

ch='*';

}

else if(X==3 && Y==6)

{

ch='#';

}

else if(X==0 && Y==7)

{

ch='A';

}

else if(X==1 && Y==7)

{

ch='B';

}

else if(X==2 && Y==7)

{

ch='C';

}

else if(X==3 && Y==7)

{

ch='D';

}

}

if(ch!='e') //满足以上一种情况,则输出检测的信号{

printf("The DTMF signal is \"%c\".\r\n",ch);

}

else //以上情况都不满足,则输出错误信息提示{

printf("The number inputted in is wrong!\n");

}

}

5.6 自适应域值更新子程序

//******************************自适应域值更新子程序**********************

void threshold()

{

for(c=0;c<8;c++) //传递当前8个频率点的幅度平方值,便于自适应域值更新处理

{

linshi[c]=result[c];

}

for(b=0;b<2;b++) //寻找八个频点中第二大频点的幅度平方值{

for(a=b;a<8;a++)

{

if(linshi[b]<=linshi[a])

{

temp=linshi[b];

linshi[b]=linshi[a];

linshi[a]=temp;

}

}

}

thresh=thresh*0.3+0.7*(linshi[1]*0.5); //自适应更新域值(原域值30%+0.7倍第二大频点的幅度平方值70%)

}

6 程序设计、调试与结果分析

随机信号分析实验报告

一、实验名称 微弱信号的检测提取及分析方法 二、实验目的 1.了解随机信号分析理论如何在实践中应用 2.了解随机信号自身的特性,包括均值、方差、相关函数、频谱及功率谱密度等 3.掌握随机信号的检测及分析方法 三、实验原理 1.随机信号的分析方法 在信号与系统中,我们把信号分为确知信号和随机信号。其中随机信号无确定的变化规律,需要用统计特新进行分析。这里我们引入随机过程的概念,所谓随机过程就是随机变量的集合,每个随机变量都是随机过程的一个取样序列。 随机过程的统计特性一般采用随机过程的分布函数和概率密度来描述,他们能够对随机过程作完整的描述。但由于在实践中难以求得,在工程技术中,一般采用描述随机过程的主要平均统计特性的几个函数,包括均值、方差、相关函数、频谱及功率谱密度等来描述它们。本实验中算法都是一种估算法,条件是N要足够大。 2.微弱随机信号的检测及提取方法 因为噪声总会影响信号检测的结果,所以信号检测是信号处理的重要内容之一,低信噪比下的信号检测是目前检测领域的热点,而强噪声背景下的微弱信号提取又是信号检测的难点。 噪声主要来自于检测系统本身的电子电路和系统外空间高频电磁场干扰等,通常从以下两种不同途径来解决 ①降低系统的噪声,使被测信号功率大于噪声功率。 ②采用相关接受技术,可以保证在信号功率小于噪声功率的情况下,人能检测出信号。 对微弱信号的检测与提取有很多方法,常用的方法有:自相关检测法、多重自相法、双谱估计理论及算法、时域方法、小波算法等。 对微弱信号检测与提取有很多方法,本实验采用多重自相关法。 多重自相关法是在传统自相关检测法的基础上,对信号的自相关函数再多次做自相关。即令: 式中,是和的叠加;是和的叠加。对比两式,尽管两者信号的幅度和相位不同,但频率却没有变化。信号经过相关运算后增加了信噪比,但其改变程度是有限的,因而限制了检测微弱信号的能力。多重相关法将 当作x(t),重复自相关函数检测方法步骤,自相关的次数越多,信噪比提高的越多,因此可检测出强噪声中的微弱信号。

广东工业大学《测试技术与信号分析》测试实验报告

测试技术与信号处理实验报告 机械转子底座的振动测量和分析 一、实验目的 1.掌握磁电式速度传感器的工作原理、特点和应用。

2.掌握振动的测量和数据分析。 二、实验内容和要求 先利用光电式转速传感器测量出电机的转速;然后利用磁电式速度传感器测量机械转子底座在该电机转速下的振动速度;对测量出的振动速度信号进行频谱分析;找出振动信号的主频与电机转速之间的关系。 三、实验步骤 1.启动实验程序“机械转子系统的振动测量.exe”; 输入个人信息,也可以启动之后通过单击“修改”按钮修改个人信息。 2.单击“采样设置”按钮,输入采集卡连接磁电速度传感器的采样通道号,批量采样频率(建议设为10KHz)、批量采样点数(建议设为10000)。 3.打开转子电机的电源,单击“单点采样”。 4.旋转调节旋钮改变转子的转速,观察图形区显示的磁电速度传感器采集到的转子底座振动信号;如果振动信号比较小,可适当提高转子的转速。 5.转子转速的测量: (1) 单击“采样设置”按钮,输入采集卡连接光电转速传感器的 采样通道号、批量采样频率(建议值为10KHz)、批量采样点 数(建议值为10000)。 (2) 单击“批量采样”按钮,开始采样;采样完成之后,采集到 的波形信号会显示在图形窗口,系统会自动计算出转子的速度

并显示出来。记录下此时的转子的转速(单位:r/s)。 (3) 再重复步骤(2)测量2次。以三次测量的平均值作为此时转子 的转速。 转速的测量结果 单点采样采集通道6,测量3组数据 6.振动信号的测量和频谱分析: (1) 单击“采样设置”按钮,输入采集卡连接磁电速度传感器的 采样通道号、批量采样频率(建议设为10KHz)、批量采样点 数(建议设为10000)。 (2) 单击“批量采样”按钮,开始采样;采样完成之后,采集到 的波形信号会显示在图形窗口。如果信号不正常,重复点击“批 量采样”按钮 (3) 单击“保存”按钮,将采集到的磁电传感器的信号数据保存 为文本文件。文件必须保存到“C:\ExperiData\”目录下。可单 击“保存设置”更改文件名。 (4) 打开刚保存的文本文件,文件前面几行保存了个人信息、采 样频率、采样通道、保存的数据个数等信息。文件中共有四列 数据,第一列为数据的序号,第二列为磁电传感器检测到的数 据。

信号检测论评价法实验报告

信号检测论的评价法实验报告 (福州大学应用心理系福建福州 350001)摘要:信号检测论是现代心里物理学最重要的内容之一。本实验使用了信号检测论的基本方法评价法考察了被试对图片再认的准确性和判断标准。通过本实验来了解信号检测论的一些观点和评价法的具体实施方法、步骤。 关键词:信号检测法范式、评价法、感受性、判定标准 一、引言 科学主义要求心理学的量化和精确性。心理物理学的发展在信号检测论出现之后进入了一个新的阶段,被习惯称为现代心里物理学。信号检测论被引入到心理学实验中,是对传统心理物理学的重大突破。信号检测论(Signal Detector Theory)原是信息论的一个分支,研究的对象是信息传输系统中信号的接收部分【1】。信号检测论主要包括有无法和评价法两种实验方法。国内运用信号检测论实验的研究主要集中在记忆领域,在注意、知觉、表象、内隐学习以及社会认知领域的研究也日渐增多[2]。本实验运用了信号检测论的评价法来考察被试对图片再认的准确性和判断标准。 二、实验方法 1、实验目的:(1)掌握信号检测论的基本理论,学会计算信号检测论指标d’、 C、β;(2)学习绘制接受者操作特性曲线,了解信号检测论的用途;(3)了解评价等级对再认回忆的影响。 2、实验仪器与材料:本实验的仪器为计算机和Psykey系统中的信号侦查论---评价法。实验材料为两套图片:一套是识记过的图片,共60张(每个图片内容不同)作为信号SN;另一套是没有识记过的图片,共60张(每个图片也不同,但与相应的第一套相似),作为噪音N。

3、被试:福州大学应用心理学系2012级学生一名,性别男,矫正后视力正常。 4、实验程序: (1)准备工作 打开并登录计算机里的psykey软件系统,找到里面的信号检测论——评价法实验,并开始实验。 (2)正式实验 被试阅读指导语:“请你来做一个记忆实验,先看60张图片,要求你尽量记住这些图片,电脑播放这些图片的速度是没一秒钟一张。”被试阅读完毕并理解指导语后,开始实验。根据实验设计,以1s的时间间隔开始呈现第一套的60张图片,每张图片呈现时间为2s。 接着被试继续阅读指导语:“现在电脑会呈现120张图片,其中一半是你刚才看过的,另一半是新的图片。在看一张图片时,你就要判断它是不是刚才看到过的,并请点击相应数字:5——100%的可能为看过,4——75%的可能为看过,3——50%的可能为看过,2——25%的可能为看过,1——0%的可能为看过。你必须在5秒之内完成判断。请你尽快判断。” 根据实验设计,开始呈现二套图片混合后的120张图片,让被试判断是否是刚才识记过的,并按照规定的等级按键作出评价。 实验完毕由计算机统计实验数据。 二、实验结果 表1 被试实验结果统计 类型 1 2 3 4 5 合计 信号17 2 4 7 30 60 噪音54 1 3 1 1 60

微弱信号检测装置(实验报告)剖析

2012年TI杯四川省大学生电子设计竞赛 微弱信号检测装置(A题) 【本科组】

微弱信号检测装置(A题) 【本科组】 摘要:本设计是在强噪声背景下已知频率的微弱正弦波信号的幅度值,采用TI公司提供的LaunchPad MSP430G2553作为系统的数据采集芯片,实现微弱信号的检测并显示正弦信号的幅度值的功能。电路分为加法器、纯电阻分压网络、微弱信号检测电路、以及数码管显示电路组成。当所要检测到的微弱信号在强噪音环境下,系统同时接收到函数信号发生器产生的正弦信号模拟微弱信号和PC机音频播放器模拟的强噪声,送到音频放大器INA2134,让两个信号相加。再通过由电位器与固定电阻构成的纯电阻分压网络使其衰减系数可调(100倍以上),将衰减后的微弱信号通过微弱信号检测电路,检测电路能实现高输入阻抗、放大、带通滤波以及小信号峰值检测,检测到的电压峰值模拟信号送到MSP430G2553内部的10位AD 转换处理后在数码管上显示出来。本设计的优点在于超低功耗 关键词:微弱信号MSP430G2553 INA2134 一系统方案设计、比较与论证 根据本设计的要求,要完成微弱正弦信号的检测并显示幅度值,输入阻抗达到1MΩ以上,通频带在500Hz~2KHz。为实现此功能,本设计提出的方案如下图所示。其中图1是系统设计总流程图,图2是微弱信号检测电路子流程图。 图1系统设计总流程图 图2微弱信号检测电路子流程图

1 加法器设计的选择 方案一:采用通用的同相/反相加法器。通用的加法器外接较多的电阻,运算繁琐复杂,并且不一定能达到带宽大于1MHz,所以放弃此种方案。 方案二:采用TI公司的提供的INA2134音频放大器。音频放大器内部集成有电阻,可以直接利用,非常方便,并且带宽能够达到本设计要求,因此采用此方案。 2 纯电阻分压网络的方案论证 方案一:由两个固定阻值的电阻按100:1的比例实现分压,通过仿真效果非常好,理论上可以实现,但是用于实际电路中不能达到预想的衰减系数。分析:电阻的标称值与实际值有一定的误差,因此考虑其他的方案。 方案二:由一个电位器和一个固定的电阻组成的分压网络,通过改变电位器的阻值就可以改变其衰减系数。这样就可以避免衰减系数达不到或者更换元器件的情况,因此采用此方案。 3 微弱信号检测电路的方案论证 方案一:将纯电阻分压网络输出的电压通过反相比例放大电路。放大后的信号通过中心频率为1kHz的带通滤波器滤除噪声。再经过小信号峰值电路,检测出正弦信号的峰值。将输出的电压信号送给单片机进行A/D转换。此方案的电路结构相对简单。但是,输入阻抗不能满足大于等于1MΩ的条件,并且被测信号的频率只能限定在1kHz,不能实现500Hz~2KHz 可变的被测信号的检测。故根据题目的要求不采用此方案。 方案二:检测电路可以由电压跟随器、同相比例放大器、带通滤波电路以及小信号峰值检测电路组成。电压跟随器可以提高输入阻抗,输入电阻可以达到1MΩ以上,满足设计所需;采用同相比例放大器是为了放大在分压网络所衰减的放大倍数;带通滤波器为了选择500Hz~2KHz的微弱信号;最后通过小信号峰值检测电路把正弦信号的幅度值检测出来。这种方案满足本设计的要求切实可行,故采用此方案。 4 峰值数据采集芯片的方案论证 方案一:选用宏晶公司的STC89C52单片机作为。优点在于价格便宜,但是对于本设计而言,必须外接AD才能实现,电路复杂。

北理工随机信号分析实验报告

本科实验报告实验名称:随机信号分析实验

实验一 随机序列的产生及数字特征估计 一、实验目的 1、学习和掌握随机数的产生方法。 2、实现随机序列的数字特征估计。 二、实验原理 1、随机数的产生 随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。进行随机信号仿真分析时,需要模拟产生各种分布的随机数。 在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。 (0,1)均匀分布随机数是最最基本、最简单的随机数。(0,1)均匀分布指的是在[0,1]区间上的均匀分布,即 U(0,1)。实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下: )(m od ,110N ky y y n n -= N y x n n /= 序列{}n x 为产生的(0,1)均匀分布随机数。 下面给出了上式的3组常用参数: 1、10 N 10,k 7==,周期7 510≈?; 2、(IBM 随机数发生器)31 16 N 2,k 23,==+周期8 510≈?; 3、(ran0)31 5 N 21,k 7,=-=周期9 210≈?; 由均匀分布随机数,可以利用反函数构造出任意分布的随机数。 定理 1.1 若随机变量 X 具有连续分布函数F X (x),而R 为(0,1)均匀分布随机变量,则有 )(1R F X x -= 由这一定理可知,分布函数为F X (x)的随机数可以由(0,1)均匀分布随机数按上式进行变

微弱信号检测装置(实验报告)

微弱信号检测装置 摘要:本设计是在强噪声背景下已知频率的微弱正弦波信号的幅度值,采用TI公司提供的LaunchPad MSP430G2553作为系统的数据采集芯片,实现微弱信号的检测并显示正弦信号的幅度值的功能。电路分为加法器、纯电阻分压网络、微弱信号检测电路、以及数码管显示电路组成。当所要检测到的微弱信号在强噪音环境下,系统同时接收到函数信号发生器产生的正弦信号模拟微弱信号和PC机音频播放器模拟的强噪声,送到音频放大器INA2134,让两个信号相加。再通过由电位器与固定电阻构成的纯电阻分压网络使其衰减系数可调(100倍以上),将衰减后的微弱信号通过微弱信号检测电路,检测电路能实现高输入阻抗、放大、带通滤波以及小信号峰值检测,检测到的电压峰值模拟信号送到MSP430G2553内部的10位AD 转换处理后在数码管上显示出来。本设计的优点在于超低功耗 关键词:微弱信号MSP430G2553 INA2134 一系统方案设计、比较与论证 根据本设计的要求,要完成微弱正弦信号的检测并显示幅度值,输入阻抗达到1MΩ以上,通频带在500Hz~2KHz。为实现此功能,本设计提出的方案如下图所示。其中图1是系统设计总流程图,图2是微弱信号检测电路子流程图。 图1系统设计总流程图 图2微弱信号检测电路子流程图 1 加法器设计的选择 方案一:采用通用的同相/反相加法器。通用的加法器外接较多的电阻,运算繁琐复杂,并且不一定能达到带宽大于1MHz,所以放弃此种方案。

方案二:采用TI公司的提供的INA2134音频放大器。音频放大器内部集成有电阻,可以直接利用,非常方便,并且带宽能够达到本设计要求,因此采用此方案。 2 纯电阻分压网络的方案论证 方案一:由两个固定阻值的电阻按100:1的比例实现分压,通过仿真效果非常好,理论上可以实现,但是用于实际电路中不能达到预想的衰减系数。分析:电阻的标称值与实际值有一定的误差,因此考虑其他的方案。 方案二:由一个电位器和一个固定的电阻组成的分压网络,通过改变电位器的阻值就可以改变其衰减系数。这样就可以避免衰减系数达不到或者更换元器件的情况,因此采用此方案。 3 微弱信号检测电路的方案论证 方案一:将纯电阻分压网络输出的电压通过反相比例放大电路。放大后的信号通过中心频率为1kHz的带通滤波器滤除噪声。再经过小信号峰值电路,检测出正弦信号的峰值。将输出的电压信号送给单片机进行A/D转换。此方案的电路结构相对简单。但是,输入阻抗不能满足大于等于1MΩ的条件,并且被测信号的频率只能限定在1kHz,不能实现500Hz~2KHz 可变的被测信号的检测。故根据题目的要求不采用此方案。 方案二:检测电路可以由电压跟随器、同相比例放大器、带通滤波电路以及小信号峰值检测电路组成。电压跟随器可以提高输入阻抗,输入电阻可以达到1MΩ以上,满足设计所需;采用同相比例放大器是为了放大在分压网络所衰减的放大倍数;带通滤波器为了选择500Hz~2KHz的微弱信号;最后通过小信号峰值检测电路把正弦信号的幅度值检测出来。这种方案满足本设计的要求切实可行,故采用此方案。 4 峰值数据采集芯片的方案论证 方案一:选用宏晶公司的STC89C52单片机作为。优点在于价格便宜,但是对于本设计而言,必须外接AD才能实现,电路复杂。 方案二:采用TI公司提供的MSP430G2553作为控制芯片。由于MSP430G2553资源配置丰富,内部集成了10位AD,可以直接使用,简化电路,程序实现简单。此外还有低功耗,以及性价比高等优点,所以采用该方案。 5 显示电路的方案设计 方案一:采用液晶显示器作为显示电路,液晶显示器显示内容较丰富,可以显示字母数

《测试信号分析与处理》实验报告

测控1005班齐伟0121004931725 (18号)实验一差分方程、卷积、z变换 一、实验目的 通过该实验熟悉 matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。 二、实验设备 1、微型计算机1台; 2、matlab软件1套 三、实验原理 Matlab 软件是由mathworks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱,其中包含用于信号分析与处理的sptool工具箱和用于滤波器设计的fdatool工具箱。它具有强大的矩阵计算和数据可视化能力,是广泛应用于信号分析与处理中的功能强大且使用简单方便的成熟软件。Matlab软件中已有大量的关于数字信号处理的运算函数可供调用,本实验主要是针对数字信号处理中的差分方程、卷积、z变换等基本运算的matlab函数的熟悉和应用。 差分方程(difference equation)可用来描述线性时不变、因果数字滤波器。用x表示滤波器的输入,用y表示滤波器的输出。 a0y[n]+a1y[n-1]+…+a N y[n-N]=b0x[n]+b1x[n-1]+…+b M x[n-M] (1) ak,bk 为权系数,称为滤波器系数。 N为所需过去输出的个数,M 为所需输入的个数卷积是滤波器另一种实现方法。 y[n]= ∑x[k] h[n-k] = x[n]*h[n] (2) 等式定义了数字卷积,*是卷积运算符。输出y[n] 取决于输入x[n] 和系统的脉冲响应h[n]。 传输函数H(z)是滤波器的第三种实现方法。 H(z)=输出/输入= Y(z)/X(z) (3)即分别对滤波器的输入和输出信号求z变换,二者的比值就是数字滤波器的传输函数。 序列x[n]的z变换定义为 X (z)=∑x[n]z-n (4) 把序列x[n] 的z 变换记为Z{x[n]} = X(z)。

信号检测论有无法实验报告

信号检测论有无法实验报告 摘要:本次实验采用信号检测论中的有无法,测定被试在不同先定概率下对呈现信号和刺激的击中率与虚报率,计算其辨别力d′和判定标准β,并绘制出ROC曲线;检验信号呈现的先定概率发生变化时,被试的击中率、虚报率、辨别力d′和判定标准β是否会受到影响。 关键词:信号检测论;有无法;先定概率;辨别力d′;判定标准β。 1. 引言:信号检测论(SDT)是以统计判定论为根据的理论,基本原则是把刺激的肯定程度用有序的方法数量化。具体做法是把人类个体比作一个信号感受器,具有对信息辨别的感受能力,能在信号和背景噪音不易分清的实验条件下,根据可供选择的假说,选定一个假说做为判断标准,然后报告出现的刺激是信号还是噪音。 信号检测论把刺激的判断看成对信号的侦察并作出决策的过程,其中既包括感觉过程也包括决策过程。感觉过程是神经系统对信号或噪音的客观反应,它仅取决于外在的刺激的性质,即信号和噪音之间的客观区别;而决策过程受到主观因素的影响。前者决定了被试的感受性大小,信号检测论多选用辨别力指标d’来作为反映客观感受性的指标;后者则决定被试的决策是偏向于严格还是偏向于宽松,信号检测论用判定标准β或报告标准C来对反应倾向进行衡量。并学习绘制ROC曲线。 2. 实验方法: 2.1被试:上海师范大学天华学院13应用心理1班女生一名 2.2仪器:采用计算机和Psytech心理实验系统。4种频率声音:1000Hz、1005Hz、1010Hz和1015Hz。 2.3程序:1.登录并打开PsyTech心理实验软件主界面,选中实验列表中的“信号检测论(有无法)”单击呈现实验简介。点击“进入实验”到“操作向导”。在参数设置中,实验者可以让被试先进行预备实验确定信号的频率。如果不做预备实验可以人工选取 1005、1010、 1015中的一种频率的声音作为信号,直接开始实验。 2.预备实验的指导语是:这是一个预备实验,使用1号反应盒。每次实验计算机将先后发出两个不同频率的声音。请你判断哪个声音的频率更高。如果你觉得第二个声音比第一个声音的频率高,请按“+”键;如果觉得第二个声音比第一个声音的频率低,请按“-”键。预备实验将进行30次。当你明白了上述指导语后,请点击下面的“预备实验”按钮开始。3.预备实验结束后,实验者在“预备实验结果”中将正确百分比中最接近80%的频率作为正式实验的信号(SN),而1000HZ则作为噪声(N)。

实验二实验报告

PAM和PCM编译码器系统 一、实验目的 1.观察了解PAM信号形成的过程;验证抽样定理;了解混叠效应形 成的原因; 2.验证PCM编译码原理;熟悉PCM抽样时钟、编码数据和输入/输出 时钟之间的关系;了解PCM专用大规模集成电路的工作原理和应用。 二、实验内容和步骤 1.PAM编译码器系统 1.1自然抽样脉冲序列测量 (1)准备工作; (2)PAM脉冲抽样序列观察; (3)PAM脉冲抽样序列重建信号观测。 1.2平顶抽样脉冲序列测量 (1)准备工作; (2)PAM平顶抽样序列观察; (3)平顶抽样重建信号观测。 1.3信号混叠观测 (1)准备工作 (2)用示波器观测重建信号输出的波形。 2.PCM编译码器系统 2.1PCM串行接口时序观察 (1)输出时钟和帧同步时隙信号的观察; (2)抽样时钟信号与PCM编码数据测量; 2.2用示波器同时观察抽样时钟信号和编码输出数据信号端口 (TP502),观测时以TP504同步,分析掌握PCM编码输数据和抽样时钟信号(同步沿、脉冲宽度)及输出时钟的对应关系; 2.3PCM译码器输出模拟信号观测,定性观测解码信号与输入信号的 关系:质量,电平,延时。 2.4PCM频率响应测量:调整测试信号频率,定性观察解码恢复出的 模拟信号电平,观测输出信号电平相对变化随输入信号频率变化的相对关系;

2.5PCM动态范围测量:将测试信号频率固定在1000Hz,改变测试信 号电平,定性观测解码恢复出的模拟信号的质量。 三、实验数据处理与分析 1.PAM编译码器系统 (1)观察得到的抽样脉冲序列和正弦波输入信号如下所示: 上图中上方波形为输入的正弦波信号,下方为得到的抽样脉冲序列,可见抽样序列和正弦波信号基本同步。 (2)观测得到的重建信号和正弦波输入信号如下所示:

随机信号分析实验报告二 2

《随机信号分析》实验报告二 班级: 学号: 姓名:

实验二高斯噪声的产生和性能测试 1.实验目的 (1)掌握加入高斯噪声的随机混合信号的分析方法。 (2)研究随机过程的均值、相关函数、协方差函数和方差。 ⒉实验原理 (1)利用随机过程的积分统计特性,给出随机过程的均值、相关函数、协方差函数和方差。 (2)随机信号均值、方差、相关函数的计算公式,以及相应的图形。 ⒊实验报告要求 (1)简述实验目的及实验原理。 (2)采用幅度为1,频率为25HZ的正弦信号错误!未找到引用源。为原信号,在其中加入均值为2,方差为0.04的高斯噪声得到混合随机信号X(t)。 试求随机过程 的均值、相关函数、协方差函数和方差。用MATLAB进行仿真,给出测试的随机过程的均值、相关函数、协方差函数和方差图形,与计算的结果作比较,并加以解释。 (3)分别给出原信号与混合信号的概率密度和概率分布曲线,并以图形形式分别给出原信号与混合信号均值、方差、相关函数的对比。 (4)读入任意一幅彩色图像,在该图像中加入均值为0,方差为0.01的高斯噪声,请给出加噪声前、后的图像。 (5)读入一副wav格式的音频文件,在该音频中加入均值为2,方差为0.04的高斯噪声,得到混合随机信号X(t),请给出混合信号X(t)的均值、相关函数、协方差函数和方差,频谱及功率谱密度图形。 4、源程序及功能注释 (2)源程序: clear all; clc; t=0:320; %t=0:320 x=sin(2*pi*t/25); %x=sin(2*p1*t/25) x1=wgn(1,321,0); %产生一个一行32列的高斯白噪声矩阵,输出的噪声强度为0dbw

信号检测实验报告

Harbin Institute of Technology 匹配滤波器实验报告 课程名称:信号检测理论 院系:电子与信息工程学院 姓名:高亚豪 学号:14SD05003 授课教师:郑薇 哈尔滨工业大学

1. 实验目的 通过Matlab 编程实现对白噪声条件下的匹配滤波器的仿真,从而加深对匹配滤波器及其实现过程的理解。通过观察输入输出信号波形及频谱图,对匹配处理有一个更加直观的理解,同时验证匹配滤波器具有时间上的适应性。 2. 实验原理 对于一个观测信号()r t ,已知它或是干扰与噪声之和,或是单纯的干扰, 即 0()()()()a u t n t r t n t +?=?? 这里()r t ,()u t ,()n t 都是复包络,其中0a 是信号的复幅度,()u t 是确知的归一化信号的复包络,它们满足如下条件。 2|()|d 1u t t +∞ -∞=? 201||2 a E = 其中E 为信号的能量。()n t 是干扰的均值为0,方差为0N 的白噪声干扰。 使该信号通过一个线性滤波系统,有效地滤除干扰,使输出信号的信噪比在某一时刻0t 达到最大,以便判断信号的有无。该线性系统即为匹配滤波器。 以()h t 代表系统的脉冲响应,则在信号存在的条件下,滤波器的输出为 0000()()()d ()()d ()()d y t r t h a u t h n t h τττττττττ+∞+∞+∞ =-=-+-???

右边的第一项和第二项分别为滤波器输出的信号成分和噪声成分,即 00()()()d x t a u t h τττ+∞ =-? 0 ()()()d t n t h ?τττ+∞ =-? 则输出噪声成分的平均功率(统计平均)为 2 20E[|()|]=E[|()()d |]t n t h ?τττ+∞ -? **00*000200 =E[()(')]()(')d d '=2()(')(')d d ' 2|()|d n t n t h h N h h N h ττττττδττττττττ+∞+∞+∞+∞+∞ ---=?? ?? ? 而信号成分在0t 时刻的峰值功率为 22 20000|()||||()()d |x t a u t h τττ+∞ =-? 输出信号在0t 时刻的总功率为 22000E[|()|]E[|()()|]y t x t t ?=+ 22**0000002200E[|()||()|()()()()] |()|E[|()|] x t t x t t t x t x t t ????=+++=+ 上式中输出噪声成分的期望值为0,即0E[()]0t ?=,因此输出信号的功率 成分中只包含信号功率和噪声功率。 则该滤波器的输出信噪比为 222000022000|||()()d ||()|E[|()|]2|()|d a u t h x t t N h τττρ?ττ+∞ +∞-==?? 根据Schwartz 不等式有

信号检测论有无法实验报告剖析

------------------------------------------------------------------------------- 实验报告信息栏 系别心理系年级 13级2班姓名魏晓芹同组成员杨思琪、张彤、韩永超 实验日期 2016年4月学号 120105510215 教师评定 ------------------------------------------------------------------------------- 信号检测论有无法实验报告 摘要本次实验采用信号检测论中的有无法,测定被试在不同先定概率下对呈现信号和刺激的击中率与虚报率,计算其辨别力d′和判定标准β,并绘制出ROC 曲线;检验信号呈现的先定概率发生变化时,被试的击中率、虚报率、辨别力d′和判定标准β是否会受到影响。结果显示:(1)被试在先定概率为0.2、0.5、0.8的条件下,击中率分别为0.8、0.92、0.8625,虚报率分别为0.5125、0.56、0.75,辨别力d′分别为0.592、1.254、0.406,判定标准β分别为0.70、0.38、0.71。 关键词信号检测论;有无法;先定概率;辨别力d′;判定标准β 1引言 传统心理物理学对阈限的理解是有限的,不能将个体客观的感受性和主观的动机、反应偏好等加以区分,从而使研究者渐渐陷入到了由阈限概念本身所引发的僵局之中。而在1954年,坦纳和斯韦茨等人首次应用的信号检测论,正好解决了这个问题。 信号检测论的研究对象是信息传播系统中信号的接收问题。在心理学中,它是借助于数学的形式描述“接收者”在某一观察时间内将掺有噪音的信号从噪音中辨别出来。 信号检测论应用于心理学中的基本原理是:将人的感官、中枢分析综合过程看作是一个信息处理系统,应用信号检测论中的一些概念、原理对它进行分析。信号检测论在心理学中具体应用时,常把刺激变量当作信号,把对刺激变量起干扰作用的因素当作噪音,这样就可以把人接收外界刺激时的分辨问题等效于一个在噪音中检测信号的问题,从而便可以应用信号检测论来处理心理学中的实验结果。 信号检测论的理论基础是统计决策。信号检测论本身就是一个以统计判定为根据的理论。它的基本原理是:根据某一观察到的事件,从两个可选择的方面选

随机信号实验报告

随机信号分析 实验报告 目录 随机信号分析 (1) 实验报告 (1) 理想白噪声和带限白噪声的产生与测试 (2) 一、摘要 (2) 二、实验的背景与目的 (2) 背景: (2) 实验目的: (2) 三、实验原理 (3) 四、实验的设计与结果 (4) 实验设计: (4) 实验结果: (5) 五、实验结论 (12) 六、参考文献 (13) 七、附件 (13) 1

理想白噪声和带限白噪声的产生与测试一、摘要 本文通过利用MATLAB软件仿真来对理想白噪声和带限白噪声进行研究。理想白噪声通过低通滤波器和带通滤波器分别得到低通带限白噪声和帯通带限白噪声。在仿真的过程中我们利用MATLAB工具箱中自带的一些函数来对理想白噪声和带限白噪声的均值、均方值、方差、功率谱密度、自相关函数、频谱以及概率密度进行研究,对对它们进行比较分析并讨论其物理意义。 关键词:理想白噪声带限白噪声均值均方值方差功率谱密度自相关函数、频谱以及概率密度 二、实验的背景与目的 背景: 在词典中噪声有两种定义:定义1:干扰人们休息、学习和工作的声音,引起人的心理和生理变化。定义2:不同频率、不同强度无规则地组合在一起的声音。如电噪声、机械噪声,可引伸为任何不希望有的干扰。第一种定义是人们在日常生活中可以感知的,从感性上很容易理解。而第二种定义则相对抽象一些,大部分应用于机械工程当中。在这一学期的好几门课程中我们都从不同的方面接触到噪声,如何的利用噪声,把噪声的危害减到最小是一个很热门的话题。为了加深对噪声的认识与了解,为后面的学习与工作做准备,我们对噪声进行了一些研究与测试。 实验目的: 了解理想白噪声和带限白噪声的基本概念并能够区分它们,掌握用MATLAB 或c/c++软件仿真和分析理想白噪声和带限白噪声的方法,掌握理想白噪声和带限白噪声的性质。

心理学“信号检测论”实验报告

实验题目评价法-信号侦察论 实验课程实验心理学实验指导老师刘海涛 学生姓名吴楚楚1208300045 试验班级心理121 实验简介:信号检测论是人们在对刺激做判断时,对不确定的情况做出某种决定的理论。信号检测 论最早应用在雷达和通讯技术中,用来解决信号接受的正确概率问题。后来信号检测论被广泛应用到感知觉过程的研究中。通过信号检测论的实验方法可以对被试的感受性和反应倾向性进行有效的测量,克服被试的主观因素和噪音干扰对感受性的影响。信号检测论不仅能测定人对信号的反应,也测定人对噪音的反应,因而能够将人的感受性与其判断标准区分开,并且分别用不同的数量来表达。信号检测论有三个基础实验程序,即有无法、迫选法和评价法。其中,评价法可以在相同的时间内获得被试更多的信息。 在评价法中,不仅要求被试对有无信号作出判断,还要求按规定的等级作出评价,即说明每次判断的把握有多大。这样,被试就有了几个判断标准,因而用一轮实验的结果就可以绘制出ROC曲线。 实验目的:通过图片再认,学习信号侦察论及其基础程序评价法。 实验器材:PsyKey心理教学系统 实验被试:大学生一名,年龄21岁,性别女。 实验过程: 本实验采用图片再认作为评价法的实验。刺激共有两套:一套是识记过的图片,共60张(每个图片内容不同)作为信号SN;另一套是没有识记过的图片,共60张(每个图片也不同,但与相应的第一套相似),作为噪音N。 第一步,先让被试识记第一套图片,计算机屏幕随机呈现每张图片,60张图片连续呈现; 第二步,把这60张识记过的图片与第二套60张图片混合在一起,仍按上述的方法呈现给被试,让被试判断是否是刚才识记过的,并按照规定的等级按键作出评价。 采用五等级评价的方法,其中1—0%,2—25%,3—50%,4—75%,5—100%。让被试直接点击对应的数字按钮来进行反应。

随机信号分析实验报告(基于MATLAB语言)

随机信号分析实验报告 ——基于MATLAB语言 姓名: _ 班级: _ 学号: 专业:

目录 实验一随机序列的产生及数字特征估计 (2) 实验目的 (2) 实验原理 (2) 实验内容及实验结果 (3) 实验小结 (6) 实验二随机过程的模拟与数字特征 (7) 实验目的 (7) 实验原理 (7) 实验内容及实验结果 (8) 实验小结 (11) 实验三随机过程通过线性系统的分析 (12) 实验目的 (12) 实验原理 (12) 实验内容及实验结果 (13) 实验小结 (17) 实验四窄带随机过程的产生及其性能测试 (18) 实验目的 (18) 实验原理 (18) 实验内容及实验结果 (18) 实验小结 (23) 实验总结 (23)

实验一随机序列的产生及数字特征估计 实验目的 1.学习和掌握随机数的产生方法。 2.实现随机序列的数字特征估计。 实验原理 1.随机数的产生 随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。进行随机信号仿真分析时,需要模拟产生各种分布的随机数。 在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。 (0,1)均匀分布随机数是最最基本、最简单的随机数。(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下: y0=1,y n=ky n(mod N) ? x n=y n N 序列{x n}为产生的(0,1)均匀分布随机数。 定理1.1若随机变量X 具有连续分布函数F x(x),而R 为(0,1)均匀分布随机变量,则有 X=F x?1(R) 2.MATLAB中产生随机序列的函数 (1)(0,1)均匀分布的随机序列函数:rand 用法:x = rand(m,n) 功能:产生m×n 的均匀分布随机数矩阵。 (2)正态分布的随机序列 函数:randn 用法:x = randn(m,n) 功能:产生m×n 的标准正态分布随机数矩阵。 如果要产生服从N(μ,σ2)分布的随机序列,则可以由标准正态随机序列产生。 (3)其他分布的随机序列 分布函数分布函数 二项分布binornd 指数分布exprnd 泊松分布poissrnd 正态分布normrnd 离散均匀分布unidrnd 瑞利分布raylrnd 均匀分布unifrnd X2分布chi2rnd 3.随机序列的数字特征估计 对于遍历过程,可以通过随机序列的一条样本函数来获得该过程的统计特征。这里我们假定随机序列X(n)为遍历过程,样本函数为x(n),其中n=0,1,2,……N-1。那么,

《测试信号分析与处理》实验报告

《测试信号分析与处理》 实验一差分方程、卷积、z变换 一、实验目的 通过该实验熟悉 matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。 二、实验设备 1、微型计算机1台; 2、matlab软件1套 三、实验原理 Matlab 软件是由mathworks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱,其中包含用于信号分析与处理的sptool工具箱和用于滤波器设计的fdatool工具箱。它具有强大的矩阵计算和数据可视化能力,是广泛应用于信号分析与处理中的功能强大且使用简单方便的成熟软件。Matlab软件中已有大量的关于数字信号处理的运算函数可供调用,本实验主要是针对数字信号处理中的差分方程、卷积、z变换等基本运算的matlab函数的熟悉和应用。 差分方程(difference equation)可用来描述线性时不变、因果数字滤波器。用x表示滤波器的输入,用y表示滤波器的输出。 a0y[n]+a1y[n-1]+…+a N y[n-N]=b0x[n]+b1x[n-1]+…+b M x[n-M] (1) ak,bk 为权系数,称为滤波器系数。

N为所需过去输出的个数,M 为所需输入的个数卷积是滤波器另一种实现方法。 y[n]= ∑x[k] h[n-k] = x[n]*h[n] (2)等式定义了数字卷积,*是卷积运算符。输出y[n] 取决于输入x[n] 和系统的脉冲响应h[n]。 传输函数H(z)是滤波器的第三种实现方法。 H(z)=输出/输入= Y(z)/X(z) (3) 即分别对滤波器的输入和输出信号求z变换,二者的比值就是数字滤波器的传输函数。 序列x[n]的z变换定义为 X (z)=∑x[n]z-n (4)把序列x[n] 的z 变换记为Z{x[n]} = X(z)。 由X(z) 计算x[n] 进行z 的逆变换x[n] = Z-1{X(z)}。 Z 变换是Z-1的幂级数,只有当此级数收敛,Z 变换才有意义,而且同一个Z 变换等式,收敛域不同,可以代表不同序列的Z 变换函数。 这三种数字滤波器的表示方法之间可以进行相互转换。 四、实验步骤 1、熟悉matlab软件基本操作指令。读懂下列matlab程序指令,键入程序并 运行,观察运行结果。 Conv.m% 计算两个序列的线性卷积; %-----------------------------------------------------------------

信号检测论(有无法)实验报告

龙源期刊网 https://www.doczj.com/doc/c55929532.html, 信号检测论(有无法)实验报告 作者:韦琳廖倩黄彬芯 来源:《科学与财富》2018年第19期 1 前言 信号检测论(Signal Detection Theory,简称SDT),是一种心理物理法,是关于人们在不确定的情况下如何作出决定的理论。它是信息论的一个重要分支。常以SN(信号加噪音)表示信号,以N表示噪音[1]。在心理学领域,信号检测论所指的信号可以理解为刺激。在信号检测论中,噪音就是对信号检测起干扰作用的所有背景。 信号检测论将个体客观的感受性和主观的动机、反应偏好等加以区分,从而解决了传统心理物理学所无法解决的问题。它将辨别力和判断标准分离,使实验者可以用一些方法测量反应的倾向性,并使测得的被试的辨别力不受反应倾向性的影响。通过信号检测论可以排除主观标准设定的变动,求得感觉系统对某一强度刺激的感受性,信号检测论多选用辨别力指标d’来作为反映客观感受性的指标;用似然比β或报告标准C来对反应倾向进行衡量[2]。 信号检测论增进人们对于阈限的理解以及提供传统和现代心里物理学整合的可能性。 2 方法 2.1 被试 大二学生,女,20岁。 2.2 实验仪器和材料 本实验采用成都中医药大学信号检测论—有无法实验程序,根据给定的各种文字或图形材料定义实验参数。 2.3 实验程序 进入实验操作后在“信号+噪音数量”后面选择信号与噪音的总数量为80,在“先验概率P (SN)”中定义信号呈现的先验概率,本实验中,先验概率依次为0.1,0.3,0.5,0.7,0.9。 选择“提取图片”按钮,之后再预览图片,然后单击“保存图片”按钮,保存图片材料。 准备进行正式实验。以0.5先验概率为例,主试选择主界面“正式实验”菜单中,选择“给 定图形材料”。被试开始进行实验,屏幕出现指导语:下面是一个测验你的辨别能力的实验。实验开始时,首先在屏幕中心一次呈现一系列的图片材料,要求你尽量记住这些材料,呈现完这些材料之后,计算机将呈现两倍数量的图片,其中部分是刚才呈现过的,并要求你判断哪一

信号分析实验报告

河南城建学院实验报告 课程名称:信号处理基础 系:电气与电子工程系 专业:自动化 指导教师:梁成武 姓名:肖邓 学号: 122408155 报告上交时间: 2010年 12月 22日 教师评语: 成绩等级 日期:2010年12月 22日第一次实验内容:MATLAB工具使用和信号的时域分析 一、实验目的 1、掌握MATLAB基本知识和基本应用。 2、掌握用MATLAB进行仿真的简单操作。 3、通过实验体会MATLAB的操作,获取一些初步的经验。 二、实验设备: 装有MATLAB6.5版软件的计算机一台 三、实验原理与步骤 1、打开信号处理实验素材文件夹,仔细阅读里边的第01章节,认识MATLAB桌面的基本结构和学习使用一些基本的命令。 2、通过MATLAB做出指数函数2e t和抽样函数() Sa t的图形并分析。 (1)指数函数y=2e t的MATLAB实验程序:

t=0:0.01:10; y=exp(1/2*t); plot(t,y) (2)抽样函数y=() Sa t的MATLAB实验程序: t=-10:0.01:10; y=sinc(t); plot(t,y) 四、实验结果与数据处理 1、指数函数2e t实验结果如下图(一)、图(二)所示: 图(一)指数函数2e t的MATLAB仿真图 2、抽样函数() Sa t的实验结果: 图(二)抽样函数() Sa t的MATLAB仿真图 五、实验体会与讨论 通过本次试验掌握了MATLAB基本知识和基本应用,掌握了用MATLAB进行仿真的简单操作和一些基本的操作指令。 MATLAB 在处理函数、信号,以及了解他们的特性方面,MATLAB是一款非常方便的软件,当然也可以通过它来做出某些复杂函数或信号的图形。 第二次实验内容:线性系统的时域特性 一、实验目的: 了解线性系统的时域特性,并会用计算机进行简单的分析。 二、实验设备: 装有MATLAB 6.5版软件的计算机一台 三、实验原理与步骤: 连续时间信号在食欲的一些基本运算-——尺度变换、平移、翻转、叠加、相乘、

随机信号分析实验报告

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 实验报告 课程名称:随机信号分析 院系:电子与信息工程学院班级: 姓名: 学号: 指导教师: 实验时间: 实验一、各种分布随机数的产生

(一)实验原理 1.均匀分布随机数的产生原理 产生伪随机数的一种实用方法是同余法,它利用同余运算递推产生伪随机数序列。最简单的方法是加同余法 )(mod 1M c y y n n +=+ M y x n n 1 1++= 为了保证产生的伪随机数能在[0,1]内均匀分布,需要M 为正整数,此外常数c 和初值y0亦为正整数。加同余法虽然简单,但产生的伪随机数效果不好。另一种同余法为乘同余法,它需要两次乘法才能产生一个[0,1]上均匀分布的随机数 )(mod 1M ay y n n =+ M y x n n 1 1++= 式中,a 为正整数。用加法和乘法完成递推运算的称为混合同余法,即 )(mod 1M c ay y n n +=+ M y x n n 1 1++= 用混合同余法产生的伪随机数具有较好的特性,一些程序库中都有成熟的程序供选择。 常用的计算语言如Basic 、C 和Matlab 都有产生均匀分布随机数的函数可以调用,只是用各种编程语言对应的函数产生的均匀分布随机数的范围不同,有的函数可能还需要提供种子或初始化。 Matlab 提供的函数rand()可以产生一个在[0,1]区间分布的随机数, rand(2,4)则可以产生一个在[0,1]区间分布的随机数矩阵,矩阵为2行4列。Matlab 提供的另一个产生随机数的函数是random('unif',a,b,N,M),unif 表示均匀分布,a 和b 是均匀分布区间的上下界,N 和M 分别是矩阵的行和列。 2.随机变量的仿真 根据随机变量函数变换的原理,如果能将两个分布之间的函数关系用显式表达,那么就可以利用一种分布的随机变量通过变换得到另一种分布的随机变量。 若X 是分布函数为F(x)的随机变量,且分布函数F(x)为严格单调升函数,令Y=F(X),则Y 必为在[0,1]上均匀分布的随机变量。反之,若Y 是在[0,1]上 均匀分布的随机变量,那么)(1 Y F X X -= 即是分布函数为FX(x)的随机变量。式中F X -?1 ()为F X ()?的反函数。这样,欲求某个分布的随机变量,先产生在[0,1]区间上的均匀分布随机数,再经上式变 换,便可求得所需分布的随机数。 3.高斯分布随机数的仿真 广泛应用的有两种产生高斯随机数的方法,一种是变换法,一种是近似法。 如果X1,X2是两个互相独立的均匀分布随机数,那么下式给出的Y1,Y2

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