版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./完美WORD格式编辑电子信息工程学院《DSP技术及应用》课程设计报告题目:基于MATLAB的回声信号产生器专业班级:通信工程专业二〇一三年六月十六日目录一、设计目的…………1二、设计要求…………1三、设计原理及方案…………………1四、设计流程…………5五、调试分析…………5六、GUI界面…………17七、设计总结.………..20.完美WORD格式编辑设计目的综合运用我们掌握的数字信号处理知识,利用matlab语言编程进行回声信号产生器的设计再对其进行频谱分析,实现回声的产生,消除和隐藏。1、首先熟练掌握对声音采集、处理、衰减、延时等过程的理论知识。2、根据设计思路,学习资料的搜集与整理。3、通过理论与实际的结合,在理论的基础结合实际情况完成课程的设计。关于MATLAB软件:MATLAB语言具备高效、可及推理能力强等特点,是目前工程界流行最广泛的科学计算语言。MATLAB强大的运算和图形显示功能,可使信号与系统上机实验效率大大提高。特别是它的频谱分析和滤波器分析与设计功能很强,使数字信号处理工作变得十分简单,直观。关于GUI界面:图形用户界面GUI<GraphicsUserInterface>是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交流信息的工具和方法。GUI设计即可以基本的MATLAB程序设计为主,也可以鼠标为主利用GUIDE工具进行设计。设计要求首先,自己录取一个合适的原声信号,并对其进行频谱分析;然后通过数字信号处理对已录制好的原声信号进行延时,衰减,产生出回声信号,通过图形与原声信号进行比较;再把信息转换成二进制信号将其叠加在回声中,通过数字信号处理实现信息的隐藏;最后,通过设计GUI界面将结果展示出来。1、通过计算机中的y=fft〔x傅里叶变换,对原声信号和回声信号进行频谱分析。2、通过设计FIR、IIR滤波器对原声信号进行衰减、延时产生一次、三次、六次无限次回声。3、学习并掌握MATLAB的使用方法,用MATLAB编程和会使用MATLAB中的GUI界面设计。设计原理及方案1、设计原理〔1回声的定义:当声投射到距离声源有一段距离的大面积上时,声能的一部分被吸收,而另一部分声能要反射回来,如果听者听到由声源直接发来的声和由反射回来的声的时间间隔超过十分之一秒,它就能分辨出两个声音这种反射回来的声叫"回声"。〔2回声信号产生:根据回声的定义,回声信号可以是原始信号通过延时、衰减来生成。〔3回声信号消除:数字滤波器的作用是滤除信号中某一部分频率分量。可以将回声信号消除。〔4回声信号隐藏:回声隐藏利用了人耳的听觉掩蔽效应,是一种有效的音频信息隐藏方法。〔5处理单元原理:假设x<n>为原始信号,y<n>为经过延时、衰减迭加后产生的"回声信号",声音信号和经延迟R个周期,衰减系数α〔α<1的单个回声的差分方程有如下表示:y<n>=x<n>+α·x<n-R>上述差分方程可用系统函数表示为:H<z>=1+α·z-R此滤波器为FIR滤波器,其结构图如下:在实际生活中,往往不止存在一重回声,因此,需要实现多重回声的设计,关于均匀间隔的多重回声的实现,是将每一级回声相对于上一级回声依次衰减和延时R个周期,此时不能再用FIR滤波器来实现,应该用IIR滤波器设计。IIR滤波器设计的系统函数如下:当回声次数很多时多重回声的系统函数如下:IIR滤波器结构图:IIR滤波器结构隐藏目的是以添加回声的方式在原有音频信息中嵌入新信息,实现信息隐藏。它的数学模型可以表示为:典型的回声核脉冲嵌入回声的声音可表示为和的卷积,和,分别为原始声音信号和回声核的单位脉冲响应。回声信号由引入到原始声音当中,其中,d为延迟时间,为衰减系数。嵌入回声后的声音信号可以表示为2、设计方案〔1读取语音信号与回放录制一段合适的原声信号,用"[x,fs,bits]=wavread<'y',[140000]>"来读取录制好的语音信号,这是以采样频率fs、采样位数bits从[140000]来读取语音,并将采样值放在x中。用sound<5*x,fs,bits>对声音信号进行回放,乘以5以加强信号,便于听取。〔2傅里叶变换FFT傅里叶变换调用格式:y=-fft<x>其中,x是序列,y是序列的FFT,,x可以为一向量或矩阵,若x为一向量,y是x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基-2FFT算法;否则fft执行一种混合基离散傅里叶变换算法,计算速度较慢。〔3函数filter函数filter的调用格式为:y=filter<b,a,x>该格式采用数字滤波器对数据进行滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a=1,此时表示FIR滤波器,否则就是IIR滤波器。该函数是利用给出的向量b和a,对x中的数据进行滤波,结果放入向量y。〔4函数zearos函数的一种调用格式为:B
=
zeros<n>返回一个n*n的矩阵,其元素都为零,如果参数n不是一个标量就会报错。函数的另一种调用格式为:B
=
zeros<m,n>
或B
=
zeros<[m
n]>返回一个m*n的零矩阵。函数的另一种调用格式为:B
=
zeros<m,n,p,…>或B
=
zeros<[m
n
p
…]>返回一个m*n*p*…的零矩阵。注意:参数m,n,p都是非负整数,负整数都会看成零。四、设计流程五、调试与分析1、原始信号分析读取一段语音信号,画出其时域波形,用fft对读取的语音信号进行傅里叶变换,并画出其相位与幅值。[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;figure<1>subplot<2,1,1>;plot<x>;%原始信号时域波形title<'原始信号时域波形'>;X=fft<x>;%对原始信号做FFT变换subplot<2,1,2>;plot<n1<1:1000>,X<1:1000>>;%原始信号频谱图title<'原始信号频谱图'>;figure<2>subplot<2,1,1>;plot<abs<X>>;%经傅里叶变换之后的信号的幅值title<'幅值'>;subplot<2,1,2>;plot<angle<X>>;%经傅里叶变换之后的信号的相位title<'相位'>;sound<5*x,fs,bits>;%原始语音信号,乘以5是为了加强信号2、回声信号的产生对原始信号取出单声道信号,并用filter函数对其进行衰减和延时,得到回声信号。〔1FIR滤波器产生一次回声[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;b=x<:,1>;%取单声道信号yy1=filter<[1,zeros<1,12000>,0.7],1,[b',zeros<1,30000>]>;%FIR滤波器进行滤波figure<1>subplot<2,1,1>;plot<yy1>;%单回声滤波器时域波形title<'单回声滤波器时域波形'>;YY1=fft<yy1>;%对单回声信号做2001点的FFT变换subplot<2,1,2>;plot<n1<1:1000>,YY1<1:1000>>;%单回声滤波器频谱图title<'单回声滤波器频谱图'>;figure<2>subplot<2,1,1>;plot<abs<YY1>>;%经傅里叶变换之后的信号的幅值title<'幅值'>;subplot<2,1,2>;plot<angle<YY1>>;%经傅里叶变换之后的信号的相位title<'相位'>;sound<5*yy1,fs,bits>;%经单次回声滤波器后的语音信号,乘以5是为了加强信号〔2IIR滤波器产生多次回声:yy2=filter<1,[1,zeros<1,80000/<N+1>>,0.7],[b',zeros<1,40000>]>;通过改变式中N的数值可设置回声的次数,三次回声:[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;b=x<:,1>;%产生单声道信号N=3;yy2=filter<1,[1,zeros<1,80000/<N+1>>,0.7],[b',zeros<1,40000>]>;%IIR滤波器进行滤波figure<3>subplot<2,1,1>;plot<yy2>;%三次回声滤波器时域波形title<'三次回声滤波器时域波形'>;YY2=fft<yy2>;%对三次回声信号做FFT变换subplot<2,1,2>;plot<n1<1:1000>,YY2<1:1000>>;%三次回声滤波器频谱图title<'三次回声滤波器频谱图'>;figure<4>subplot<2,1,1>;plot<abs<YY2>>;%经傅里叶变换之后的信号的幅值title<'幅值'>;subplot<2,1,2>;plot<angle<YY2>>;%经傅里叶变换之后的信号的相位title<'相位'>;sound<5*yy2,fs,bits>;%经三次回声滤波器后的语音信号,乘以5是为了加强信号使用叠加法产生三次回波:[x,fs]=wavread<‘ding.wav’>;x1=x<1:40000>;%产生40000行1列矩阵x2=x<1:40000>;x3=x<1:40000>;x4=x<1:40000>;x1=[x1’,zeros<1,18000>];%x1’为x1的转置,zero是〔1,18000产生1行18000列全零矩阵并加到x1’的后面x2=[zeros<1,6000>,0.7*x2’,zeros<1,12000>];x3=[zeros<1,12000>,0.4*x3’,zeros<1,6000>];x4=[zeros<1,18000>,0.2*x4’];yy1=x1+x2+x3+x4;figure<3>subplot<2,1,1>;plot<yy1>;%三次回声时域波形title<‘三次回声滤波器时域波形’>;YY1=fft<yy1>;%三次回声信号做FFT变换subplot<2,1,2>;plot<n1<1:1000>,YY1<1:1000>>;%三次回声频谱图title<‘三次回声滤波器频谱图‘>;figure<4>subplot<2,1,1>;plot<abs<YY1>>;%经傅里叶变换之后的信号的幅值title<‘幅值’>;subplot<2,1,2>;plot<angle<YY1>>;%经傅里叶变换之后的信号的相位title<‘相位'>;sound<5*yy1,fs>;六次回声:[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;b=x<:,1>;%产生单声道信号N=6;yy2=filter<1,[1,zeros<1,70000/<N+1>>,0.7],[b',zeros<1,40000>]>;%IIR滤波器进行滤波figure<3>subplot<2,1,1>;plot<yy2>;%六次回声滤波器时域波形title<'六次回声滤波器时域波形'>;YY2=fft<yy2>;%对六次回声信号做FFT变换subplot<2,1,2>;plot<n1<1:1000>,YY2<1:1000>>;%三次回声滤波器频谱图title<'六次回声滤波器频谱图'>;figure<4>subplot<2,1,1>;plot<abs<YY2>>;%经傅里叶变换之后的信号的幅值title<'幅值'>;subplot<2,1,2>;plot<angle<YY2>>;%经傅里叶变换之后的信号的相位title<'相位'>;sound<5*yy2,fs,bits>;%经六次回声滤波器后的语音信号,乘以5是为了加强信号〔3IIR滤波器产生无限次回声函数yy1=filter〔B,A,x利用给出的向量b和a,对x中的数据进行滤波,结果放入向量yy1。[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;a=0.7;%a取小于等于1B=[1,a];%分子的系数A=1;%分母的系数yy1=filter<B,A,x>;%IIR滤波器进行滤波figure<11>subplot<2,1,1>;plot<yy1>;%无限回声滤波器时域波形title<'无限个回声滤波器时域波形'>;YY1=fft<yy1>;%经无限回声滤波器后的信号做FFT变换subplot<2,1,2>;plot<n1<1:1000>,YY1<1:1000>>;%无限回声滤波器频谱图title<'无限个回声滤波器频谱图'>;figure<12>subplot<2,1,1>;plot<abs<YY1>>;title<'幅值'>;subplot<2,1,2>;plot<angle<YY1>>;title<'相位'>;sound<5*yy1,fs,bits>;%回放经无限回声滤波器后的语音信号3、回声信号的滤除数字信号滤波器的作用是滤除一部分频率分量,利用y=filter<B,A,x>函数,设计出回声信号消除滤波器。y=x?〔1单回声消除:产生回声过程:yy1=filter<[1,zeros<1,12000>,0.7],1,[b',zeros<1,30000>]>;回声滤除过程:z=filter<1,[1,zeros<1,12000>,0.7],yy1>;[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;b=x<:,1>;%取单声道信号yy1=filter<[1,zeros<1,12000>,0.7],1,[b',zeros<1,30000>]>;subplot<3,1,1>;plot<yy1>;%单回声滤波器时域波形title<'单回声滤波器时域波形'>;YY1=fft<yy1>;%对单回声信号做2001点的FFT变换subplot<3,1,2>;plot<n1<1:1000>,YY1<1:1000>>;%单回声滤波器频谱图title<'单回声滤波器频谱图'>;z=filter<1,[1,zeros<1,12000>,0.7],yy1>;subplot<3,1,3>;plot<z>;title<'滤波后信号波形'>;sound<z,fs>;〔2多重回声消除产生回声:yy2=filter<1,[1,zeros<1,80000/<N+1>>,0.7],[b',zeros<1,40000>]>;回声消除:z=filter<[1,zeros<1,80000/<N+1>>,0.7],1,yy2>;通过改变N的数值,实现多次回声的消除。三次回声消除:[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;N=3;b=x<:,1>;yy2=filter<1,[1,zeros<1,80000/<N+1>>,0.7],[b',zeros<1,40000>]>;%IIR滤波器进行滤波subplot<3,1,1>;plot<yy2>;%三次回声滤波器时域波形title<'三次回声滤波器时域波形'>;YY2=fft<yy2>;%对三次回声信号做FFT变换subplot<3,1,2>;plot<n1<1:1000>,YY2<1:1000>>;%三次回声滤波器频谱图title<'三次回声滤波器频谱图'>;z=filter<[1,zeros<1,80000/<N+1>>,0.7],1,yy2>;subplot<3,1,3>;plot<z>;title<'滤波后信号波形'>;sound<z,fs>;六次回声消除:[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;N=6;b=x<:,1>;yy2=filter<1,[1,zeros<1,70000/<N+1>>,0.7],[b',zeros<1,40000>]>;%IIR滤波器进行滤波subplot<3,1,1>;plot<yy2>;%六次回声滤波器时域波形title<'六次回声滤波器时域波形'>;YY2=fft<yy2>;%对六次回声信号做FFT变换subplot<3,1,2>;plot<n1<1:1000>,YY2<1:1000>>;%六次回声滤波器频谱图title<'六次回声滤波器频谱图'>;z=filter<[1,zeros<1,70000/<N+1>>,0.7],1,yy2>;subplot<3,1,3>;plot<z>;title<'滤波后信号波形'>;sound<z,fs>;〔3无限次回声滤波器函数yy1=filter<B,A,x>利用分子B,分母A的设置对回声信号进行滤除。产生回声:yy1=filter<B,A,x>;滤除回声:z=filter<B,A,yy1>;[x,fs,bits]=wavread<'y',[140000]>;%读取语音信号n1=0:2000;a=0.7;%a取小于等于1B=[1,a];%分子的系数A=1;%分母的系数yy1=filter<B,A,x>;%IIR滤波器进行滤波subplot<3,1,1>;plot<yy1>;%无限回声滤波器时域波形title<'无限个回声滤波器时域波形'>;YY1=fft<yy1>;%经无限回声滤波器后的信号做FFT变换subplot<3,1,2>;plot<n1<1:1000>,YY1<1:1000>>;%无限回声滤波器频谱图title<'无限个回声滤波器频谱图'>;z=filter<B,A,yy1>;subplot<3,1,3>;plot<z>;title<'滤波后信号波形'>;sound<z,fs>;%回放经无限回声滤波器后的语音信号4、回声隐藏[s,fs,bits]=wavread<'goinghome3.wav'>;[row,col]=size<s>;if<row>col>s=s';end;%把矩阵转换msgfid=fopen<'hidden.txt','r'>;[msg,count]=fread<msgfid>;msg=str2mat<msg>;msg=uint8<msg>';len=length<s>;i=0;fragment=56;N=floor<len/fragment>;lend=length<msg>;atten=0.9;d0=100;d1=200;s0=atten*[zeros<1,d0>,s<1:len-d0>];%backwardechowithdelay0s1=atten*[zeros<1,d1>,s<1:len-d1>];%backwardechowithdela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年剧本杀运营公司绿色运营推广管理制度
- 2025年生态湿地公园建设可行性分析:技术创新与生态湿地修复
- 农业病虫害防控智能化趋势:2025年监测预警系统可行性报告
- 2026年生物科技行业创新报告及基因编辑技术临床应用
- 2025年跨境电商独立站品牌忠诚度培养报告
- 2025年新能源汽车五年市场报告
- 生态养殖循环产业链建设项目2025年技术创新与农业产业链优化可行性研究
- 冷链物流配送路径优化系统开发可行性研究报告-2025年行业挑战与对策
- 介休教师面试题目及答案
- 前列腺相关问题解答与护理
- 卫生院孕优知识培训课件
- 2025年重庆高考高职分类考试中职语文试卷真题(含答案详解)
- 电商预算表格财务模板全年计划表格-做账实操
- 委托付款管理办法
- 煤矿后勤管理办法
- 《英耀篇》全文文档
- 中职数学高等教育出版社
- ab股权协议书范本
- 工程造价审计服务投标方案(技术方案)
- 蟹苗买卖合同协议
- 胸外科手术围手术期的护理
评论
0/150
提交评论