




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学数字信号处理课程设计报告课程名称 数字信号处理指导教师学 院 信息科学与工程学院专业班级 通信 姓名 zzz一、 课程设计题目和要求课程设计选题二: 1、已知序列1)为了克服频谱泄露现象,试确定 DFT 计算所需要的信号数据长度 N。2)求 的 N 点 DFT,画出信号的幅频特性。()xn3)改变信号数据长度,使其大于或小于计算出的 N 值,观察此时幅频特性的变化。分析说明变化原因。2、 多采样率语音信号处理1)读取一段语音信号2)按抽取因子 D=2 进行抽取,降低信号采样率,使得数据量减少。3)按内插因子 I=2 进行内插,将采样率提高 2 倍4)设计模拟低通滤波器恢复出语音信号5)给出各个设计环节信号的时域波形和频域波形,指出信号频谱的变化,并理论说明。回放语音信号,比较它们之间的区别。特别是第 4)步恢复出的语音信号与原信号的区别。3、 1)读入一段语音信号(或音乐信号)2)在语音信号中分别加入以下几种噪声:(1)白噪声;(2)单频噪色(正弦干扰) ;(3)多频噪声(多正弦干扰) ;绘出叠加噪声前后的语音信号时域和频域波形图,播放语音信号,从听觉上进行对比,分析并体会含噪语音信号频域和时域波形的改变 3)根据信号的频谱特性,设计 IIR 或 FIR 数字滤波器; 4)用所设计的滤波器对被污染的语音信号进行滤波; 5)分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化; 6)回放语音信号二、 设计内容和步骤2.1 信号 DFT 处理 设计内容已知序列1)为了克服频谱泄露现象,试确定 DFT 计算所需要的信号数据长度 N。2)求 的 N 点 DFT,画出信号的幅频特性。()xn3)改变信号数据长度,使其大于或小于计算出的 N 值,观察此时幅频特性的变化。分析说明变化原因。791()=cos()0.5cos()0.75cos()16162nnn791()=cos)0.5cos()0.75cos()6162xnn 设计思想(1)因为 x(n)是一个周期序列,而 x(n)可以看做长度为 N 的有限长序列的周期延拓序列。为克服频谱泄漏现象,必须对信号进行整数周期的截取。可以看出,x(n)是由三个不同频率的正弦信号 , 和 1()=(716) 2()=(916)相加而成的,由于 3()=(716)()=sin()=sin(+2)=(+2/)m=0,=(+) 1,2,式中 为正弦序列的数字角频率,单位为 rad。由上式可见,仅当 为整2/数时,正弦序列才具有周期 。当 为有理数时,例如 ,=2/ 2/ 2/=/N 和 M 均为无公因子的整数,正弦序列仍具有周期型,但其周期为 。=2/而为使 x(n)成为周期序列,需使其中三个不同频率的正弦信号都具有周期性,即对 x(n)中三个信号分别计算周期:1()=(716)2716=327=11 , 1=21 =322()=(916)2916=329=22 , 2=22 =323()=(716)22=4=3 , 3=4故 N 取三个信号周期的最小公倍数 32,作为所需信号的数据长度。(2)然后根据 DFT 的定义,即可求得信号 x(n)的 DFT。DFT,即离散傅里叶变换。它的实质是有限长序列傅里叶变换的有限点离散采样,从而实现了频域离散化。设 x(n)是一个长度为 M 的有限长序列,则定义 x(n)的 N 点离散傅里叶变换(DFT )为()=()=1=0() =0,1,1式中, ,N 称为 DFT 变换区间长度,N M。取模 可绘出=2 |()|幅频特性曲线。 设计步骤(1)根据设计思想(1) ,可计算得到为了克服频谱泄露现象,DFT 计算所需要的信号数据长度 N=32(最小周期) 。(2)根据设计思想(2) ,利用 MATLAB 编程求 x(n)的 N 点 DFT,画出信号的幅频特性。利用 MATLAB 函数编写 DFT 和 IDFT 函数,DFT 函数的 MATLAB 代码如下:%DFT 函数function Xk=dft(xn,N)%Xk 为 0 = n = N-1 间的 DFT 系数数组%xn=N 点有限持续时间序列%N=DFT 的长度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;求得 的 N 点 DFT 为:()xnX(k)=0,0,0,0,0,0,0,16,12,8,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,0,0,0,0,0,0(3)编写 MATLAB 代码画出信号 x(n)序列图:编写MATLAB代码,画出N=32的信号的幅频特性图:N=32;n=0:1:N-1;xn=cos(7/16*pi.*n)+0.5*cos(9/16*pi.*n)+0.75*cos(0.5*pi.*n);subplot(2,1,1);stem(n,xn,.);title(信号 x(n) );xlabel(n);ylabel(x(n);axis(0,32,-4,4)X=dft(xn,N)magX=abs(X(1:1:(N/2+1);k=0:1:(N/2);w=2*pi/N*k;subplot(2,1,2);stem(w/pi,magX,.);xlabel(omega/pi);ylabel(幅度);title(N=32 点 DFT 幅频特性图)改变信号数据长度为30,使其小于32,画出N=30的信号的幅频特性图:0 5 10 15 20 25 30-4-2024 二二 x(n)nx(n)0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105101520/二二N=32二 DFT二二二二二0 5 10 15 20 25 30-4-2024 二二 x(n)nx(n)改变信号数据长度为40,画出N=40的信号的幅频特性图:(4)观察幅频特性的变化,分析说明变化原因。改变信号数据长度,使其大于或小于计算出的 N 值 ,是非整数周期截取信号,此时信号幅频特性出现频谱泄漏现象。因为当 N 为 32 或 32 的正整数倍数时,x(n)为一周期序列,其频谱可以清楚地看见三条谱线,三个正弦信号的频率。 而因为应用 DFT 处理信号时,已经把该信号当成了周期信号。如果不是对周期信号进行整周期截断,当 N 不是 32 或 32 的正整数倍数的话,那么经周期延拓后,在信号的开始点和结束点就存在跃变,再经过 DFT 变换,故这样所得频谱(包括频率和幅值)就会出现频谱泄漏现象。2.2 多采样率语音信号处理 设计内容1)读取一段语音信号2)按抽取因子 D=2 进行抽取,降低信号采样率,使得数据量减少。3)按内插因子 I=2 进行内插,将采样率提高 2 倍4)设计模拟低通滤波器恢复出语音信号0 5 10 15 20 25 30-4-2024 二二 x(n) nx(n)0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 105101520/二二N=40二 DFT二二二二二0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1051015/二二N=30二 DFT二二二二二5)给出各个设计环节信号的时域波形和频域波形,指出信号频谱的变化,并理论说明。回放语音信号,比较它们之间的区别。特别是第 4)步恢复出的语音信号与原信号的区别。 设计思想(1)采样率转换前面讨论的信号处理的方法都是把采样率 Fs 视为固定值,即在一个数字系统中只有一种采样频率。但在实际系统中,要求一个数字系统能工作在“多采样率”状态。采样率转换通常分为:抽取和插值。信号整数抽取的概念:如果希望将采样率降低到原来的 1/D,D 为大于1 的整数,称为抽取因子。最简单的方法是对 x(nT)信号每 D 点抽取 1 点,抽取的样点依次再组成新的序列。抽取看起来好像很简单,只要每隔 D-1 个抽取 1 个就可以了,但是抽取降低了采样频率,可能引起频谱混叠现象。只有在抽取后仍能满足采样定理时才能恢复出原来的信号,所以通常要先进行抗混叠滤波,即在抽取之前先对信号进行低通滤波。而信号的整数倍内插,是先在已知采样序列的相邻两个样本点之间等间隔插入 I-1 个 0 值点,然后进行低通滤波,即可求得 I 倍内插的结果。这里我采用直接抽取和直接内插的方式,改变采样率,而不采用 decimate 和interp 函数,原因是这两个函数都已由 MATLAB 封装好,先进行滤波再进行抽取和内插,所以这样处理的话,后续的滤波器设计就失去了原本的意义,故这里只采用直接抽取和直接内插的方式。这里所有的小题不是独立的,首先对输入序列按整数因子 D 抽取,再对输出序列按整数因子 I 被内插,达到有理数因子 I/D 采样率的转换。 (一般来说,先内插后抽取才能最大限度地保留输入序列的频谱成分,但此处按要求先抽取再内插,一般实现方法的原理框图如下:)(2)模拟低通滤波器的设计根据抽取和内插后输出的信号序列波形,估计旁瓣峰值在-30dB 左右,过渡带宽度近似值 8/N,阻带最小衰减-50dB 左右。对比几种窗函数的基本参数,这里我选择了有严格线性相位的 FIR 滤波器,汉宁窗设计低通滤波器进行滤波,设计参数如下:wp=0.75*pi;ws=0.125*pi;rp=0.25;as=50; 设计步骤(1) 首先读取一段语音信号away.wav 。编写 MATLAB 代码,绘出原始语音信号的时域波形和频谱。(2) 然后,按抽取因子 D=2 进行抽取,降低信号采样率,使得数据量减少。利用 MATLAB 编写程序如下,并绘出二倍抽取后的时域波形和频谱:%对原始信号分别进行D 倍的直接抽取x1=x(1:2:end); X1=fft(x1); N1=length(x1);n=0:N1-1;f1=n*fs/N1;figure(2);subplot(2,1,1)plot(x1);title(二倍抽取后信号时域波形 );xlabel(时间轴 n);ylabel(幅值 A);subplot(2,1,2)stem(f1,abs(X1),.);title(二倍抽取后的信号频谱幅值 );xlabel(频率f);ylabel(幅值 A);sound(x1,fs/2); %回放抽取后的语音信号0 2000 4000 6000 8000 10000 12000 14000 16000 18000-1-0.500.51 二二二二二二二二二二二 n二二A0 0.5 1 1.5 2 2.5x 1040100200300400 二二二二二二二二二二 f二二A这里采用直接抽取的方式,而不选择MATLAB 的decimate函数。因为decimate函数会先对序列进行抗混叠滤波再抽取,就失去了后续自己设计模拟低通滤波器的意义,所以这里采用直接抽取,后续再自行滤除。分析:可以看到整数倍抽取后原序列的频谱带宽扩展,已抽样序列x(n)和抽取序列y(n) 的频谱差别在频率尺度上不同。信号的整数2倍抽取,每个1个抽取一个,降低了采样率,会引起频谱混叠现象,这样就无法恢复原信号,所以后续要进行抗混叠滤波。回放语音信号,由于采样率降低,语音听起来变得沉闷、低沉一些,还是可以清晰地听到“away” 这个单词。3)按内插因子 I=2 进行内插,将采样率提高 2 倍利用MATLAB编写程序如下,并绘出二倍抽取后二倍插值的时域波形和频谱:0 1000 2000 3000 4000 5000 6000 7000 8000 9000-1-0.500.51 二二二二二二二二二二二二二二 n二二A0 0.5 1 1.5 2 2.5x 104050100150200 二二二二二二二二二二二二二二 f二二A%对信号进行L倍直接插值x2=zeros(1,2*length(x);x2(1:2:end)=x; X2=fft(x2); N2=length(x2);n=0:N2-1;f2=n*fs/N2; figure(3);subplot(2,1,1)plot(x2);title(二倍插值后信号时域波形 );xlabel(时间轴 n);ylabel(幅值 A);subplot(2,1,2)stem(f2,abs(X2),.);title(二倍插值后的信号频谱幅值 );xlabel(频率f);ylabel(幅值 A);s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸的发明与文化传播教学教案:初中历史课程
- 上海华二附中高一(下)期末数学试题及答案
- 2022学年上海进才中学高一(下)期末政治试题及答案
- 2021学年上海控江中学高一(下)期中语文试题及答案
- 百年孤独的经典名句解读:文学鉴赏教学教案
- 英语现在完成时态结构与应用实例讲解教案
- 夏日海滩的回忆抒情类作文13篇
- 公交公司比赛活动方案
- 公交职工互助活动方案
- 公众号元旦活动方案
- 丝网除沫器小计算
- 制钵机的设计(机械CAD图纸)
- 《土木工程生产实习报告》
- 11分泌性中耳炎学习课程
- 明基逐鹿eHR白皮书(DOC 30页)
- 三年级下册美术课件-第15课色彩拼贴画|湘美版(共11张PPT)
- 水稻病虫统防统治工作总结
- 水在不同温度下的折射率、粘度和介电常数
- 四柱特高弟子班绝密资料——席学易
- 呼吸机基础知识最终版
- 广安市教育局文件材料归档范围及保管期限表
评论
0/150
提交评论