数字信号处理实验六
数字信号处理综合实验
数字信号处理综合实验一、实验目的本实验旨在通过数字信号处理技术的综合应用,加深对数字信号处理原理和方法的理解,提高学生的实际操作能力和问题解决能力。
二、实验原理数字信号处理是利用数字计算机对摹拟信号进行采样、量化和编码,然后进行数字运算和处理的技术。
本实验主要涉及以下几个方面的内容:1. 信号采集与预处理:通过摹拟信号采集电路将摹拟信号转换为数字信号,然后进行预处理,如滤波、降噪等。
2. 数字滤波器设计:设计和实现数字滤波器,包括FIR滤波器和IIR滤波器,可以对信号进行滤波处理,提取感兴趣的频率成份。
3. 时域和频域分析:对采集到的信号进行时域和频域分析,如时域波形显示、功率谱密度估计等,可以了解信号的时域和频域特性。
4. 信号重构与恢复:通过信号重构算法对采集到的信号进行恢复,如插值、外推等,可以还原信号的原始特征。
三、实验内容根据实验原理,本实验的具体内容包括以下几个部份:1. 信号采集与预处理a. 使用摹拟信号采集电路将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。
b. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。
2. 数字滤波器设计a. 设计并实现FIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。
b. 设计并实现IIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。
3. 时域和频域分析a. 对采集到的信号进行时域分析,绘制信号的时域波形图,并计算信号的均值、方差等统计指标。
b. 对采集到的信号进行频域分析,绘制信号的功率谱密度图,并计算信号的频域特性。
4. 信号重构与恢复a. 使用插值算法对采集到的信号进行重构,恢复信号的原始特征。
b. 使用外推算法对采集到的信号进行恢复,还原信号的原始特征。
四、实验步骤1. 搭建信号采集电路,将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。
2. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。
数字信号实验报告材料 (全)
数字信号处理实验报告实验一:用 FFT 做谱分析 一、 实验目的1、进一步加深 DFT 算法原理和基本性质的理解。
2、熟悉 FFT 算法原理和 FFT 子程序的应用。
3、学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用 FFT 。
二、实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ≤D 。
可以根据此时选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号的频谱时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
三、实验内容和步骤对以下典型信号进行谱分析:⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它nn n n n n x n R n x ,074,330,4)(,074,830,1)()()(32414()cos4x n n π=5()cos(/4)cos(/8)x n n n ππ=+6()cos8cos16cos20x t t t t πππ=++对于以上信号,x1(n)~x5(n) 选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论;;x6(t)为模拟周期信号,选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。
数字信号处理实验六报告
实验六 频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理给定信号1, 013()27, 14260, n n x n n n +≤≤⎧⎪=-≤≤⎨⎪⎩其它 1.利用DTFT 计算信号的频谱()j X e ω,一个周期内角频率离散为M=1024点,画出频谱图,标明坐标轴。
n=0:100; %设定n 及其取值范围for n1=0:13 %对于n 处于不同的取值范围将n 代入不同的表达式xn(n1+1)=n1+1;endfor n2=14:26xn(n2+1)=27-n2;endfor n3=27:100xn(n3+1)=0;endM=1024; %设定抽样离散点的个数k=0:M-1; %设定k 的取值范围w=2*pi*k/M; %定义数字角频率[X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱plot(w,abs(X)); %画出幅度值的连续图像xlabel('w/rad');ylabel('|X(exp(jw))|');title(' M=1024时的信号频谱图像'); %标明图像的横纵坐标和图像标题function [X,w] = dtft2(xn, n, M ) %定义x(n)的DTFT 函数w=0:2*pi/M:2*pi-2*pi/M; %将数字角频率w 离散化L=length(n); %设定L 为序列n 的长度 for (k=1:M) %外层循环,w 循环M 次sum=0; %每确定一个w 值,将sum 赋初值为零for (m=1:L) %内层循环,对n 求和,循环次数为n 的长度sum=sum+xn(m)*exp(-j*w(k)*n(m)); %求和X(k)=sum; %把每一次各x(n)的和的总值赋给X ,然后开始对下一个w 的求和过程end %内层循环结束end%外层循环结束M=1024时的信号频谱图像如图1-1所示:图1-1 M=1024时的信号频谱图像2.分别对信号的频谱()jX eω在区间π[0,2]上等间隔抽样16点和32点,得到32()X k和16()X k。
数字信号处理实验(1-7)原始实验内容文档(含代码)
实验要求1.每个实验进行之前须充分预习准备,实验完成后一周内提交实验报告;2.填写实验报告时,分为实验题目、实验目的、实验内容、实验结果、实验小结五项;3.实验报告要求:实验题目、实验目的、实验内容、实验结果四项都可打印;但每次实验的实验内容中的重要代码(或关键函数)后面要用手工解释其作用。
实验小结必须手写!(针对以前同学书写实验报告时候抄写代码太费时间的现象,本期实验报告进行以上改革)。
实验一信号、系统及系统响应实验目的:1. 掌握使用MATLAB进行函数、子程序、文件编辑等基本操作;2. 编写一些数字信号处理中常用序列的3. 掌握函数调用的方法。
实验内容:1.在数字信号处理的基本理论和MATLAB信号处理工具箱函数的基础上,可以自己编写一些子程序以便调用。
(1)单位抽样序列δ(n-n0)的生成函数impseq.m(2)单位阶跃序列u(n-n0)的生成函数stepseq.m(3)两个信号相加的生成函数sigadd.m(4)两个信号相乘的生成函数sigmult.m(5)序列移位y(n)=x(n-n0)的生成函数sigshift.m(6)序列翻褶y(n)=x(-n)生成函数sigfold.m(7)奇偶综合函数evenodd.m(8)求卷积和2.产生系列序列,并绘出离散图。
(1) x1(n)=3δ(n-2)-δ(n+4) -5≤n≤5(2) x3(n)=cos(0.04πn)+0.2w(n) 0≤n≤50其中:w(n)是均值为0,方差为1 的白噪声序列。
3.设线性移不变系统的抽样响应h(n)=(0.9)^n*u(n),输入序列x(n)=u(n)-u(n-10),求系统的输出y(n).实验二 系统响应及系统稳定性1.实验目的(1)掌握 求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
实验六用窗函数法设计FIR滤波器分析解析
实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
最新数字信号处理实验报告
最新数字信号处理实验报告一、实验目的本次实验旨在加深对数字信号处理(DSP)理论的理解,并通过实践操作掌握数字信号处理的基本方法和技术。
通过实验,学习如何使用相关软件工具进行信号的采集、分析、处理和重构,提高解决实际问题的能力。
二、实验内容1. 信号采集与分析- 使用数字示波器采集模拟信号,并将其转换为数字信号。
- 利用傅里叶变换(FFT)分析信号的频谱特性。
- 观察并记录信号的时域和频域特性。
2. 滤波器设计与实现- 设计低通、高通、带通和带阻滤波器。
- 通过编程实现上述滤波器,并测试其性能。
- 分析滤波器对信号的影响,并调整参数以优化性能。
3. 信号重构实验- 应用所学滤波器对采集的信号进行去噪处理。
- 使用逆傅里叶变换(IFFT)重构经过滤波处理的信号。
- 比较重构信号与原始信号的差异,评估处理效果。
三、实验设备与材料- 计算机及DSP相关软件(如MATLAB、LabVIEW等)- 数字示波器- 模拟信号发生器- 数据采集卡四、实验步骤1. 信号采集- 连接并设置好数字示波器和模拟信号发生器。
- 生成一系列不同频率和幅度的模拟信号。
- 通过数据采集卡将模拟信号转换为数字信号。
2. 滤波器设计- 在DSP软件中设计所需的滤波器,并编写相应的程序代码。
- 调整滤波器参数,如截止频率、增益等,以达到预期的滤波效果。
3. 信号处理与重构- 应用设计的滤波器对采集的数字信号进行处理。
- 利用IFFT对处理后的信号进行重构。
- 通过对比原始信号和重构信号,评估滤波器的性能。
五、实验结果与分析- 展示信号在时域和频域的分析结果。
- 描述滤波器设计参数及其对信号处理的影响。
- 分析重构信号的质量,包括信噪比、失真度等指标。
六、实验结论- 总结实验中所学习到的数字信号处理的基本概念和方法。
- 讨论实验中遇到的问题及其解决方案。
- 提出对实验方法和过程的改进建议。
七、参考文献- 列出实验过程中参考的书籍、文章和其他资源。
数字信号处理(西电上机实验)
数字信号处理实验报告实验一:信号、系统及系统响应一、实验目的:(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验原理与方法:(1) 时域采样。
(2) LTI系统的输入输出关系。
三、实验内容、步骤(1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2) 编制实验用主程序及相应子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列:a. xa(t)=A*e^-at *sin(Ω0t)u(t)A=444.128;a=50*sqrt(2)*pi;b. 单位脉冲序列:xb(n)=δ(n)c. 矩形序列:xc(n)=RN(n), N=10②系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR系统。
a. ha(n)=R10(n);b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)③有限长序列线性卷积子程序用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数conv。
conv用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。
调用格式如下:y=conv (x, h)四、实验内容调通并运行实验程序,完成下述实验内容:①分析采样序列的特性。
a. 取采样频率fs=1 kHz, 即T=1 ms。
b. 改变采样频率,fs=300 Hz,观察|X(ejω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(ejω)|曲线。
②时域离散信号、系统和系统响应分析。
a. 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
数字信号处理实验报告
一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
数字信号处理实验报告
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境1、计算机一台,安装有 MATLAB 软件。
2、数据采集卡。
三、实验原理1、数字信号的表示与采样数字信号是在时间和幅度上都离散的信号,可以用数字序列来表示。
在采样过程中,根据奈奎斯特采样定理,为了能够准确地恢复原始信号,采样频率必须大于信号最高频率的两倍。
2、离散傅里叶变换(DFT)DFT 是将时域离散信号变换到频域的一种方法。
通过 DFT,可以得到信号的频谱特性,从而分析信号的频率成分。
3、数字滤波器数字滤波器是对数字信号进行滤波处理的系统,分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
FIR 滤波器具有线性相位特性,而 IIR 滤波器则在性能和实现复杂度上有一定的优势。
四、实验内容与步骤1、信号的采集与生成使用数据采集卡采集一段音频信号,或者在 MATLAB 中生成一个模拟信号,如正弦波、方波等。
2、信号的采样与重构对采集或生成的信号进行采样,然后通过插值算法重构原始信号,观察采样频率对重构信号质量的影响。
3、离散傅里叶变换对采样后的信号进行DFT 变换,得到其频谱,并分析频谱的特点。
4、数字滤波器的设计与实现(1)设计一个低通 FIR 滤波器,截止频率为给定值,观察滤波前后信号的频谱变化。
(2)设计一个高通 IIR 滤波器,截止频率为给定值,比较滤波前后信号的时域和频域特性。
五、实验结果与分析1、信号的采集与生成成功采集到一段音频信号,并在MATLAB 中生成了各种模拟信号,如正弦波、方波等。
通过观察这些信号的时域波形,对不同类型信号的特点有了直观的认识。
2、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。
dsp实验报告
dsp实验报告DSP实验报告一、引言数字信号处理(Digital Signal Processing,DSP)是一种对数字信号进行处理和分析的技术。
它在许多领域中被广泛应用,如通信、音频处理、图像处理等。
本实验旨在通过实际操作,探索和理解DSP的基本原理和应用。
二、实验目的1. 理解数字信号处理的基本概念和原理;2. 掌握DSP实验平台的使用方法;3. 进行一系列DSP实验,加深对DSP技术的理解。
三、实验器材和软件1. DSP开发板;2. 电脑;3. DSP开发软件。
四、实验内容1. 实验一:信号采集与重构在此实验中,我们将通过DSP开发板采集模拟信号,并将其转换为数字信号进行处理。
首先,我们需要连接信号源和开发板,然后设置采样频率和采样时间。
接下来,我们将对采集到的信号进行重构,还原出原始模拟信号,并进行观察和分析。
2. 实验二:滤波器设计与实现滤波器是DSP中常用的模块,用于去除或增强信号中的特定频率成分。
在此实验中,我们将学习滤波器的设计和实现方法。
首先,我们将选择合适的滤波器类型和参数,然后使用DSP开发软件进行滤波器设计。
最后,我们将将设计好的滤波器加载到DSP开发板上,并进行实时滤波处理。
3. 实验三:频谱分析与频域处理频谱分析是DSP中常用的方法,用于分析信号的频率成分和能量分布。
在此实验中,我们将学习频谱分析的基本原理和方法,并进行实际操作。
我们将采集一个包含多个频率成分的信号,并使用FFT算法进行频谱分析。
然后,我们将对频谱进行处理,如频率选择、频率域滤波等,并观察处理后的效果。
4. 实验四:音频处理与效果实现音频处理是DSP中的重要应用之一。
在此实验中,我们将学习音频信号的处理方法,并实现一些常见的音频效果。
例如,均衡器、混响、合唱等。
我们将使用DSP开发软件进行算法设计,并将设计好的算法加载到DSP开发板上进行实时处理。
五、实验结果与分析通过以上实验,我们成功完成了信号采集与重构、滤波器设计与实现、频谱分析与频域处理以及音频处理与效果实现等一系列实验。
数字信号处理实验报告完整版[5篇模版]
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
(实验六 随机信号功率谱分析)
实验报告实验课程:数字信号处理实验开课时间:2020—2021 学年秋季学期实验名称:随机信号功率谱分析实验时间: 2020年9月30日星期三学院:物理与电子信息学院年级:大三班级:182 学号:1843202000234 姓名:武建璋一、实验预习实验目的要求深刻理解随机信号的特性,掌握随机信号功率谱估计的基本原理,灵活运用各种随机信号功率谱估计的基本方法。
实验仪器用具装有Matlab的计算机一台实验原理功率谱估计是随机信号处理中的一个重要的研究和应用领域.功率谱估计基本上可以非参数估计的经典方法和参数估计的近代方法.典型功率谱估计是基于FFT 算法的非参数估计,对足够长的记录数据效果较好。
在工程实际中,经典功率谱估计法获得广泛应用的是修正期图发。
该方法采取数据加窗处理再求平均的办法。
通过求各段功率谱平均,最后得到功率谱计P(m),即:式中:为窗口函数ω[k]的方差。
K表示有重叠的分数段。
由于采用分段加窗求功率谱平均,有效地减少了方差和偏差,提高了估计质量,使修正周期图法在经典法中得到普遍应用。
但在估计过程存在两个与实际不符的假设,即(1)利用有限的N个观察数据进行自相关估计,隐含着在已知N个数据之外的全部数据均为零的假设。
(2)假定数据是由N个观察数据以N为周期的周期性延拓。
同时在计算过程中采用加窗处理,使得估计的方差和功率泄露较大,频率分辨率较低,不适用于短系列的谱分析和对微弱信号的检测。
近代谱估计是建立在随机信号参数模型的基础上,通过信号参数模型或预测误差滤波器(一步预测器)参数的估计,实现功率谱估计。
由于既不需要加窗,又不需要对相关函数的估计进行如经典法那样的假设,从而减少公里泄露,提高了频谱分辨率。
常用的参数模型有自回归(AR)模型、滑动平均(MA)模型、自回归滑动平均(ARMA)模型。
其中AR模型是基本模型,求解AR模型的参数主要有L—D算法和Burg算法。
1.某随机信号由两余弦信号与噪声构成x(t)=cos(20*pi*t)+cos(40*pi*t)+s(t)式中:s(t)是均值为0、方差为1的高斯白噪声。
数字信号处理实验报告
数字信号处理实验报告郑州航空工业管理学院《数字信号处理》实验报告专业电子信息工程学号姓名实验一 数字滤波器的结构一、 实验目的(1) 加深对数字滤波器分类与结构的了解;(2) 明确数字滤波器的基本结构及其相互间的转换方法;(3) 掌握用MATLAB 进行数字滤波器各种结构相互间转换的子函数及程序编写方法。
二、 实验原理一个离散LSI 系统可用系统函数来表示;()()()12001212120z 11M m M m m M N N kN k k b z Y b b z b z b z H z X z a z a z a za z ----=----=++++===+++++∑∑ 也可用差分方程来表示:()()()10N Mk m k m y n a y n k b x n m ==+-=-∑∑当k a 至少有一个不为0时,则在有限z 平面上存在极点,表示一个IIR 数字滤波器;当k a 全都为0时,系统不存在极点,表示一个FIR 系统。
IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、级联型和并联型。
FIR 数字滤波器的基本结构分为横截型、级联型、并联型、、线性相位型和频率抽样型。
三、 实验仪器微型计算机、MATLAB四、 实验内容(1) 已知一个IIR 系统的系统函数为()1231230.10.40.40.110.30.550.2z z z H z z z z -------+-=+++ 将其从直接型转换为级联型和并联型结构,并画出各种结构的流程图。
(2) 已知一个FIR 系统的系统函数为()12340.20.8850.212+0.212+0.885H z z z z z ----=++for i=1:2:N-1Brow=r(i:1:i+1,:); %取出一对留数Arow=p(i:1:i+1,:); %取出一对对应的极点%二个留数极点转为二阶子系统分子分母系数[Brow,Arow]=residuez(Brow,Arow,[]);B(fix((i+1)/2),:)=real(Brow);%取Brow的实部,放入系数矩阵B的相应行A(fix((i+1)/2),:)=real(Arow);%取Arow的实部,放入系数矩阵A的相应行endendnum =[8 -4 11 -2];den =[1 -1.25 0.75 -0.125];[C,B,A]=dir2par(num,den)C =16B =-16.0000 20.00008.0000 0A =1.0000 -1.0000 0.50001.0000 -0.2500 0五、试验结果分析实验二 用冲激响应不变法设计IIR 数字滤波器一、 实验目的(1) 加深对冲激响应不变法设计IIR 数字滤波器的基本原理的理解;(2) 掌握用冲激响应不变法设计数字低通、带通滤波器的设计;(3) 了解MATLAB 有关冲激响应不变法的常用子函数。
(成都理工大学)数字信号处理实验
本科生实验报告实验课程数字信号处理学院名称信息科学与技术学院专业名称物联网工程学生姓名曹林鑫学生学号201413060301指导教师罗耀耀实验地点6B607实验成绩二〇一六年十月——二〇一六年十二月实验一熟悉Matlab环境一、实验目的1.熟悉MATLAB的主要操作命令。
2.学会简单的矩阵输入和数据读写。
3.掌握简单的绘图命令。
4.用MATLAB编程并学会创建函数。
5.观察离散系统的频率响应。
二、实验内容(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实现下列序列:1) x(n)=0.8n0≤n≤152) x(n)=e(0.2+3j)n0≤n≤153) x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤154) 将3)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。
数字信号处理实验报告
数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。
二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。
其主要内容包括采样、量化、滤波、变换分析、重建等。
其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。
频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。
采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。
三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。
采集的信号包括噪声信号、含有正弦波和方波的混合信号等。
2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。
这一步通常通过ADC(模数转换器)实现。
3.滤波处理:将量化后的数字信号输入到数字滤波器中。
我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。
4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。
5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。
我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。
四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。
这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。
2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。
在频域分析中,我们可以更清楚地看到信号的频率特性。
例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。
数字信号处理实验报告(自己的实验报告)
数字信号处理实验报告西南交通大学信息科学与技术学院姓名:伍先春学号:20092487班级:自动化1班指导老师:张翠芳实验一序列的傅立叶变换实验目的进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换(FFT )的应用。
实验步骤1. 复习DFS 和DFT 的定义,性质和应用;2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。
实验内容1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。
2. 有限长序列x(n)的DFT(1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度;(2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k) 的幅度;(3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。
利用FFT进行谱分析 已知:模拟信号以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。
请分别画出N=45; N=50;N=55;N=60时的幅值曲线。
数字信号处理实验一1.(1) L=5;N=20;60,7)4(;60,5)3(;40,5)2(;20,5)1()](~[)(~,2,1,01)1(,01,1)(~=========±±=⎩⎨⎧-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L mN L mN n mN n x )52.0cos()48.0cos()(n n n x ππ+=)8cos(5)4sin(2)(t t t x ππ+=n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=20');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(2)L=5;N=40;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(2)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=40');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(3)L=5;N=60;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(3)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=60');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(4)L=7;N=60;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(4)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=7,N=60');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');2. (1)M=10;N=10;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(1)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(2)M=10;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(2)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(3)M=100;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(3)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=100');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');3.figure(1)subplot(2,2,1)N=45;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))stem(q,abs(y))title('FFT N=45')%subplot(2,2,2)N=50;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=50')%subplot(2,2,3)N=55;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=55')%subplot(2,2,4)N=16;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=16')function[Xk]=dfs(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;实验二 用双线性变换法设计IIR 数字滤波器 一、 实验目的1. 熟悉用双线性变换法设计IIR 数字滤波器的原理与方法; 2. 掌握数字滤波器的计算机仿真方法;3.通过观察对实际心电图的滤波作用,获得数字滤波器的感性知识。
数字信号处理实验报告
x= randn (size(1 : n));
plot(x);
运行结果:
四、习题
1.设某旋转构件的故障信号是一个正弦信号,一般情况下,这只是机构的安装有偏心误差,但信号s(n)很弱,在强噪声干扰下,想在一个周期的测量信号x(n)看上去到故障信号s(n)的形状是不可能的,已知该构件的转动周期为T=10(10个采样周期),用时间平均法检测,取测量信号x(n)长度为M个转动周期,经过时间平均后,噪声逐渐减弱,信号突出来,M分别为10、50、100、500和1000的时间平均后的结果,信噪比提高到8.73、13.7、24.62和30.62dB。
matlab代码:
1.
dalta=zeros(1,5);
dalta(1)=1;
x=[1,2,1,3];
conv(x,dalta)
运行结果:
ans =1 2 1 3 0 0 0 0
2.
dalta=zeros(1,5);
dalta(4)=1;
x=[1,2,1,3];
conv(x,dalta)
运行结果:
ans =0 0 0 1 2 1 3 0
运行结果:
结果分析:先求差分方程的z变换:
0.75Y(z) +0.125Y(z) =X(z)-X(z)
H(z)= = ,将指数转化为正值:H(z)= .然后再利用residuez()函数求 = 的展开式,matlab代码如下:
A=[0.75,0.125];
B=[1,-1];
[r,p,k]=residue(B,A)
学生实验心得
通过这次的数字信号处理实验,我学到了如何用matlab求两离散时间序列的卷积以及利用matlab提供的randn()函数产生随机数据,仿真白噪声,还学会了用时间平均法突出信号,减弱噪声、求由差分方程给出系统的单位冲激响应与单位阶跃响应。其中,在进行时间平均法使信号突出时,改正了代码中的错误,将subplot(322),plot(k,x)改成subplot(322),plot(k,s(1:n)),计算出的信噪比与题目中给出的大致相同,可能是MATLAB版本不同产生的差异,同时,从计算处理后的信噪比可以看出随着时间平均次数增多,信号逐渐被突出。
南昌大学数字信号处理实验报告6
实验六数字滤波器结构一:实验目的1.掌握IIR滤波器的三种结果(直接形式、级联形式、并联形式)及其互相形式。
2.掌握线性相位FIR滤波器的四种结构(横截形、级联形、线性相位形、频率抽样形)及其互相转换。
6.1 级联的实现程序P6.1如下:% 程序 P6_1% 将一个有理数传输函数% 转化为因式形式num = input('分子系数向量 = ');den = input('分母系数向量 = ');[z,p,k] = tf2zp(num,den);sos = zp2sos(z,p,k)习题:1.使用程序P6.1,生成如下有限冲激响应传输函数的一个级联实现:H1(z)=2+10z^(-1)+23z^(-2)+34z^(-3)+31z^(-4)+16z^(-5)+4z^(-6)画出级联实现的框图。
H1(z)是一个线性相位传输函数吗?答:级联框图:H1(z)不是一个线性相位传输函数,因为系数不对称。
2.使用程序P6.1,生成如下有限冲激响应传输函数的一个级联实现:H2(z)=6+31z^(-1)+74z^(-2)+102z^(-3)+74z^(-4)+31z^(-5)+6z^(-6)画出级联实现的框图。
H2(z)是一个线性相位传输函数吗?只用4个乘法器生成H2(z)的一个级联实现。
显示新的级联结构的框图。
答:级联框图:H2(z)是一个线性相位传输函数。
只用四个乘法器生成级联框图:6.2级联和并联实现习题:3.使用程序P6.1生成如下因果无限冲激响应传输函数的级联实现:画出级联实现的框图。
答:级联实现框图:4.使用程序P6.1生成如下因果无限冲激响应传输函数的级联实现:画出级联实现的框图。
答:级联实现框图:程序P6.2生成两种类型的并联实现,程序如下:% 程序 P6_2% 一个无限冲激响应传输函数的并联形式实现num = input('分子系数向量 = ');den = input('分母系数分量 = ');[r1,p1,k1] = residuez(num,den);[r2,p2,k2] = residue(num,den);disp('并联I型')disp('留数是');disp(r1);disp('极点在');disp(p1);disp('常数');disp(k1);disp('并联II型')disp('留数是');disp(r2);disp('极点在');disp(p2);disp('常数');disp(k2);习题:5.使用程序P6.2生成式(6.27)所示因果无限冲激响应传输函数的两种不同并联形式实现。
数字信号处理实验指导书
《数字信号处理》实验指导书编写:刘梦亭审核:司玉娟阎维和适用专业:电子信息工程电子信息科学与技术通信工程等电子信息与工程系2009年9月目录实验一:离散时间信号分析 (1)实验二:离散时间系统分析 (3)实验三:离散系统的Z域分析 (6)实验四:FFT频谱分析及应用 (9)实验五:IIR数字滤波器的设计 (12)实验六:FIR数字滤波器的设计 (16)附录: MATLAB基本操作及常用命令 (20)实验一:离散时间信号分析实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的1) 掌握离散卷积计算方法; 2) 学会差分方程的迭代解法;3) 了解全响应、零输入响应、零状态响应和初始状态的物理意义和具体求法; 二、实验内容 1、信号的加数学描述 )()()(21n x n x n x += MATLAB 实现 21X X X +=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]2、信号的乘数学描述 )()()(21n x n x n x *= MATLAB 实现 2.1X X X *=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]3、计算卷积用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
首先用手工计算,然后用MATLAB 编程验证。
三、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。
四、实验条件1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。
《数字信号处理》实验讲义(信息计算)
《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这是一个用DFT检测正弦波频率是否准确的问题。序列的N点DFT是对序列频谱函数在0~ 区间的N点等间隔采样,如果是一个周期序列,截取周期序列的整数倍周期,进行DFT,其采样点刚好在周期信号的频率上,DFT的幅度最大处就是信号的准确频率。分析这些DTMF信号,不可能经过采样得到周期序列,因此存在检测频率的准确性问题。
sound(x,8000); %发出声音
pause(0.1)
%接收检测端的程序
X=goertzel(x(1:205),K+1); %用Goertzel算法计算八点DFT样本
val= abs(X); %列出八点DFT向量
subplot(3,2,l);
stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|') %画出DFT(k)幅度
表10.6.1双频拨号的频率分配
列
行
1209Hz
1336Hz
1477Hz
633Hz
697Hz
1
2
3
A
770Hz
4
5
6
B
852Hz
7
8
9
C
942Hz
*
0
#
D
DTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等
电
话
中
的
附录1:
贵州大学实验报告
学院: 电气工程学院 专业: 测控技术与仪器 班级:测仪131
姓名
杨
学号
1308040019
实验组
实验时间
2016.5.20
指导教师
成绩
实验项目名称
数字信号处理在双音多频拨号系统中的应用
实验
导读
双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。这种信号制式具有很高的拨号速度,且容易自动监测识别,很快就代替了原有的用脉冲计数方式的拨号制式。这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其它通信系统中,用于电子邮件和银行系统中。这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。
形成上面序列的方法有两种,即计算法和查表法。用计算法求正弦波的序列值容易,但实际中要占用一些计算时间,影响运行速度。查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按顺序和一定的速度取出便可。这种方法要占用一定的存储空间,但是速度快。
因为采样频率是8000Hz,因此要求每125ms输出一个样本,得到的序列再送到D/A变换器和平滑滤波器,输出便是连续时间的DTMF信号。DTMF信号通过电话线路送到交换机。
在电话中,数字0~9的中每一个都用两个不同的单音频传输,所用的8个频率分成高频带和低频带两组,低频带有四个频率:679Hz,770Hz,852Hz和941Hz;高频带也有四个频率:1209Hz,1336Hz,1477Hz和1633Hz.。每一个数字均由高、低频带中各一个频率构成,例如1用697Hz和1209Hz两个频率,信号用 表示,其中 , 。这样8个频率形成16种不同的双频信号。具体号码以及符号对应的频率如表10.6.1所示。表中最后一列在电话中暂时未用。
(2)双音多频信号的检测
在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断所对应的十进制数字或者符号。显然这里仍然要用数字方法进行检测,因此要将收到的时间连续DTMF信号经过A/D变换,变成数字信号进行检测。检测的方法有两种,一种是用一组滤波器提取所关心的频率,根据有输出信号的2个滤波器判断相应的数字或符号。另一种是用DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。当检测的音频数目较少时,用滤波器组实现更合适。FFT是DFT的快速算法,但当DFT的变换区间较小时,FFT快速算法的效果并不明显,而且还要占用很多内存,因此不如直接用DFT合适。下面介绍Goertzel算法,这种算法的实质是直接计算DFT的一种线性滤波方法。这里略去Goertzel算法的介绍(请参考文献[19]),可以直接调用MATLAB信号处理工具箱中戈泽尔算法的函数Goertzel,计算N点DFT的几个感兴趣的频点的值。
xn是被变换的时域序列,用于DTMF信号检测时,xn就是DTMF信号的205个采样值。
K是要求计算的DFT[xn]的频点序号向量,用N表示xn的长度,则要求1≤K≤N。由表10.2.2可知,如果只计算DTMF信号8个基频时,
K=[18,20,22,24,31,34,38,42],
如果同时计算8个基频及其二次谐波时,
%《数字信号处理(第三版)》第十章实验6程序:exp6.m
% DTMF双频拨号信号的生成和检测程序
%clearall;clc;
tm=[1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68]; % DTMF信号代表的16个数
N=205;K=[18,20,22,24,31,34,38,42];
941
24.113
24
0.113
1882
47.285
47
0.285
1209
30.981
31
0.019
2418
60.752
61
0.248
1336
34.235
34
0.235
2672
67.134
67
0.134
1477
37.848
38
0.152
2954
74.219
74
0.219
1633
41.846
42
0.154
本实验程序较复杂,所以将仿真程序提供给读者,只要求读者读懂程序,直接运行程序仿真。程序名为exp6。程序分四段:第一段(2—7行)设置参数,并读入6位电话号码;第二段(9—20行)根据键入的6位电话号码产生时域离散DTMF信号,并连续发出6位号码对应的双音频声音;第三段(22—25行)对时域离散DTMF信号进行频率检测,画出幅度谱;第四段(26—33行)根据幅度谱的两个峰值,分别查找并确定输入6位电话号码。根据程序中的注释很容易分析编程思想和处理算法。程序清单如下:
3266
82.058
82
0.058
通过以上分析,确定 =8KHz,N=205,
实
验
仪
器
PC机,MATLAB软件
DTMF信号的产生与识别仿真实验
下面先介绍MATLAB工具箱函数goertzel,然后介绍DTMF信号的产生与识别仿真实验程序。Goerztel函数的调用格式额为
Xgk=goertzel(xn,K)
end
disp('接收端检测到的号码为:') %显示接收到的字符
disp(TNr)
运
行
的
结
果
实
验
总
结
1、实验内容①6位电话号码的DTMF双频拨号信号的生成和检测程序清单exp6.m已经在实验指导中给出。运行程序,并输入6位电话号码123456,则输出相应的6幅频谱图如图10.10.1所示,左上角的第一个图在k=18和k=31两点出现峰值,所以对应第一位号码数字1。其他5个图请读者对照表10.10.1和表10.10.2,确定确定其对应的数字,验证程序输出的电话号码“123456”是正确的。
for p=1:4;
for q=1:4;
if tm(p,q)==abs(d);break,end%检测码相符的列号q
end
if tm(p,q)==abs(d);break,end%检测码相符的行号p
end
n=0:1023; %为了发声,加长序列
x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);%构成双频信号
DFT的频率采样点频率为 (k=0,1,2,---,N-1),相应的模拟域采样点频率为 (k=0,1,2,---,N-1),希望选择一个合适的N,使用该公式算出的 能接近要检测的频率,或者用8个频率中的任一个频率 代入公式 中时,得到的k值最接近整数值,这样虽然用幅度最大点检测的频率有误差,但可以准确判断所对应的DTMF频率,即可以准确判断所对应的数字或符号。经过分析研究认为N=205是最好的。按照 =8KHz,N=205,算出8个频率及其二次谐波对应k值,和k取整数时的频率误差见表10.6.2。
DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器;在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理与识别。为了系统的检测速度并降低成本,还开发一种特殊的DFT算法,称为戈泽尔(Goertzel)算法,这种算法既可以用硬件(专用芯片)实现,也可以用软件实现。下面首先介绍双音多频信号的产生方法和检测方法,包括戈泽尔算法,最后进行模拟实验。下面先介绍电话中的DTMF信号的组成。
2、实验内容② 只要对6位电话号码检测程序exp6.m作如下修改,即可产生、检测和识别8位电话号码。
1.频谱分析的分辨率。
观察要检测的8个频率,相邻间隔最小的是第一和第二个频率,间隔是73Hz,要求DFT最少能够分辨相隔73Hz的两个频率,即要求 。DFT的分辨率和对信号的观察时间 有关, 。考虑到可靠性,留有富裕量,要求按键的时间大于40ms。
2频谱分析的频率范围
要检测的信号频率范围是697~1633Hz,但考虑到存在语音干扰,除了检测这8个频率外,还要检测它们的二次倍频的幅度大小,波形正常且干扰小的正弦波的二次倍频是很小的,如果发现二次谐波很大,则不能确定这是DTMF信号。这样频谱分析的频率范围为697~3266Hz。按照采样定理,最高频率不能超过折叠频率,即 ,由此要求最小的采样频率应为7.24KHz。因为数字电话总系统已经规定 =8KHz,因此对频谱分析范围的要求是一定满足的。按照 , =8KHz,算出对信号最少的采样点数为 。