matlab时域分析部分专题研讨.doc_第1页
matlab时域分析部分专题研讨.doc_第2页
matlab时域分析部分专题研讨.doc_第3页
matlab时域分析部分专题研讨.doc_第4页
matlab时域分析部分专题研讨.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信号与系统课程研究性学习报告时间 2010/11/15 题目1:基本信号的产生,语音的读取与播放1) 生成一个正弦信号,改变正弦信号的角频率和初始相位,观察波形变化;2) 生成一个幅度为1、基频为2Hz、占空比为50%的周期方波,3) 观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号,4) 录制一段音频信号,进行音频信号的读取与播放,【题目分析】1 1生成一个正弦信号,改变正弦信号的角频率和初始相位,观察波形变化。主要掌握正弦信号的函数表示,通过改变w0来改变角频率,通过改变phi来改变初始相位。【仿真程序】w0=2*pi;phi=pi/6;t=0:0.0001:8xt=sin(w0*t+phi);plot(t,xt)【仿真结果】原始图形改变w0后图形改变phi后的图形【结果分析】使w0增大时,图形变密集,频率增加使w0减小时,图形变稀疏,频率减小改变phi时,图形t=0是y值改变【自主学习内容】通过该题学会了使用sin函数的表达方式,由此衍生出cos函数和其他三角形是函数的表达。【阅读文献】信号与系统.陈后金.北京:高等教育出版社,2007.12【题目分析】1.2生成一个幅度为1、基频为2Hz、占空比为50%的周期方波。方波的函数为A*square(w0*t,n),n为方波周期的占空比,幅度通过A来控制。【仿真程序】fs=2,A=1;w0=2*pi*fs;x=A*square(w0*t,50);plot(t,x);axis(0,2,-1,2)【仿真结果】【结果分析】像上题一样w0控制频率变化,占空比控制图形在坐标空间中的大小【自主学习内容】方波函数的使用,占空比的理解。【阅读文献】信号与系统.陈后金.北京:高等教育出版社,2007.12【题目分析】13观察一定时期内的股票上证指数变化,生成模拟其变化的指数信号。利用rand噪音信号与指数信号的相加得到一个波动上升的模拟股票信号。【仿真程序】t=0:0.01:2.99;a=2;xt=a.t+(rand(1,300)-0.5)+sin(2*pi*t);plot(t,xt)【仿真结果】【结果分析】Rand函数与指数函数相加实现了随机的上下波动,程序中(rand(1,300)-0.5)为正负波动形式。【自主学习内容】Rand函数的使用【阅读文献】信号与系统.陈后金.北京:高等教育出版社,2007.12【发现问题】Rand函数使得指数函数整体上下移动。【问题探究】原因是没有确定有多少个点需要随机处理。【题目分析】14录制一段音频信号,进行音频信号的读取与播放。音频的读取需要利用wavread函数,音频的播放需要利用sound函数【仿真程序】y,fs,nbits=wavread(hktk);sound(y,fs,nbits);plot(y)【仿真结果】【结果分析】通过Wavread函数读取音频,通过sound函数播放音频。【自主学习内容】Wavread函数与sound函数的使用。【阅读文献】信号与系统.陈后金.北京:高等教育出版社,2007.12【发现问题】开始播放不了音频【问题探究】音频文件没有转换成wav格式。题目2:信号的基本运算(语音信号的翻转、展缩)1) 将原始音频信号在时域上进行延展、压缩,2) 将原始音频信号在频域上进行幅度放大与缩小,3) 将原始音频信号在时域上进行翻转,【题目分析】 看到本题目以后,想到的思路是这样的,先提取一个音频信号,然后放在matlab中,如下列程序。之后对这个音频信号按照题目的要求进行变换。要注意的是前两问中对信号的延展压缩和对幅度的放大和缩小时不一样的。延展和压缩时对频率的变化,而幅度变化是加在外面的。最后一题,引入时间长度k,最终进行翻转。【仿真程序】(1)figure(1);x,fs,nbits=wavread (speech);wavplay(x,fs); x1=x(1:1:end);k=1:length(x1);plot(k,x1); figure(2);x,fs,nbits=wavread (speech);wavplay(x,fs);x2=x(1:2:end);k=1:length(x2);wavplay(x2,fs);plot(k,x2);(2)x,Fs,bits=wavread(speech);wavplay(x,Fs);x3=10*x(1:1:end);wavplay(x3,Fs);k=1:length(x1);plot(k,x3); x,Fs,bits=wavread(speech);wavplay(x,Fs);x4=0.1*x(1:1:end);wavplay(x4,Fs);k=1:length(x1);plot(k,x4);(3)x,fs,bits=wavread(speech,512,102400);x=x(1:1:end);k=1:length(x);sound(x,fs,bits);plot(-k,x);【仿真结果】初始语音信号 将初始信号延展将初始信号幅度放小为原来的十分之一 将初始信号放大为原来的十倍将初始信号翻转【结果分析】1.语音信号进行延展和压缩后,效果变得很难听了。2.幅度放大与缩小会影响音频的声音高低3.翻转后的效果不甚理想,只有语音信号的前一部分。【自主学习内容】Wavread与wavplay的应用自己录制语音信号并将wma格式转换为wav格式【阅读文献】信号与系统.陈后金.北京:高等教育出版社,2007.12【发现问题】 (专题研讨或相关知识点学习中发现的问题):1运行的时候不知道怎么控制播放几遍,有的让他播放2次,但是他播放3次。2翻转后的效果只有初始音频的前面一部分。题目3:系统响应时域求解将原始音频信号中混入噪声,然后用M点滑动平均系统对受噪声干扰的信号去噪,改变M点数,比较不同点数下的去噪效果,【题目分析】利用wavread函数输入一段音频样本。利用(rand(1,R)-0.5)*0.2生成一个在-0.10.1之间的随机噪声利用b=ones(M,1)/M;a=1;m=filter(b,a,x);对信号去噪【仿真程序】R=6455;Fs=80000;bits=16;y,Fs,bits=wavread(0.wav,R);k=1:R;wavplay(y,Fs);figure(1);plot(k,y);xlabel(原始信号);legend(原始信号);d=(rand(R,1)-0.5)*0.2;x=y+d;figure(2);plot(k,d,r-.,k,x,g-);xlabel(加入噪声);legend(噪声,加噪后);wavplay(x,Fs);M=5;b=ones(M,1)/M;a=1;m=filter(b,a,x);figure(3);plot(k,m,r-);xlabel(去掉噪声后);legend(去噪后);wavplay(m,Fs);【仿真结果】原始信号加噪后信号:去噪后信号:【结果分析】从声音的效果得出去噪后的噪音不明显。改变M值,M值越小时去噪强度越小,去噪效果越弱,但同时原信号失真也越小;M值越大时去噪效果越强,但原信号失真越强。【自主学习内容】【阅读文献】信号与系统.陈后金.北京:高等教育出版社,2007.12信号与系统实训指导.杜晶晶.西安:西安电子科技大学出版社.2009.8其他来自搜素引擎:谷歌 百度【发现问题】 (专题研讨或相关知识点学习中发现的问题):【问题探究】题目4:连续信号卷积的近似计算两个连续信号的卷积定义为为了进行数值计算,需对连续信号进行抽样。记xk=x(kD), hk=h(kD), D为进行数值计算的抽样间隔。则连续信号卷积可近似的写为(1)这就可以利用conv函数可近似计算连续信号的卷积。设x(t)=u(t)-u(t-1),h(t)=x(t)*x(t),(a)为了与近似计算的结果作比较,用解析法求出y(t)=x(t)*h(t);(b)用不同的D计算出卷积的数值近似值,并和(a)中的结果作比较;(c)若x(t)和h(t)不是时限信号,则用上面的方法进行近似计算会遇到什么问题?给出一种解决问题的方案;(d) 若将x(t)和h(t)近似表示为推导近似计算卷积的算法。取相同的抽样间隔,比较两种方法的计算卷积误差。【题目分析】:(a) 应该就是利用学过的知识进行计算得出结果即可。(b) 在matlab中不可以直接进行连续的信号的卷积,必须得先对连续信号采样,得到离散的信号,然后求得两个离散信号的卷积,得到另外一个离散信号yk,最后再把离散的信号连续化,得到要得到的y(k)。通过改变的值来与(a)中所得结果进行对比。(c) 此题的问题症结就是matlab不能表示出非时限信号。(d) 题目中已经说明了x(t)与h(t)的近似值,所以直接将x(t)与h(t)带入中,就可以得到此种状态下的卷积。【仿真程序】clear;%第二个小题(b)TMAX=4;dt=0.001;delta=0.1;t=0:dt:TMAX;t0=0:delta:2*TMAX;m=length(t);N=delta/dt;x=rectpuls(t-0.5,1);xs=double(x(1:N:m);MN1=length(xs);%stem(1:MN1,xs);h=tripuls(t-1,2,0);hs=h(1:N:m);MN2=length(hs);%stem(1:MN2,hs);J=conv(xs,hs)*delta;plot(t0,J); %第四个小题(d)dt=0.001;delta=0.1;N=delta/dt;t=0:dt:4;m=length(t);sum=0;n0=1/delta;m0=2/delta;x=rectpuls(t-0.5,1);xs=double(x(1:N:m);h=tripuls(t-1,2,0);hs=h(1:N:m);for m=1:m0 for n=1:n0 y=tri(delta,n,m,t); sum=sum+xs(n)*hs(m)*y; end;end;plot(t-0.25,sum);%第四个小题中的function函数function y = tri(delta,m,n,t)%UNTITLED Summary of this function goes here% Detailed explanation goes here y=t(m+n)*delta&t(m+n+1)*delta&t(m+n+2)*delta.*(m+n+2)*delta-t);【仿真结果】对于第(2)小题 当delta=0.1时,图像如(a)所示: (a)当delta=0.01时,图像如(b)所示: (b)当delta=0.3时,图像如(c)所示: (c)而对于第(4)小题的仿真结果为:当delta=0.1时,图像如(d)所示: (d)【结果分析】(a)为了与近似计算的结果作比较,用解析法求出y(t)=x(t)*h(t);x(t)=u(t)-u(t-1),图形如下:h(t)= x(t)*x(t)= u(t)-u(t-1) * u(t)-u(t-1) =r(t)-2r(t-1)+r(t-2)h(t)如下图所示:y(t)=x(t)*h(t)= u(t)-u(t-1)* r(t)-2r(t-1)+r(t-2) = (b) 从上述图像中可以看到,当delta越小的时候,图像越平滑,越接近于利用解析法求得的结果。(c) 若x(t)和h(t)不是时限信号的话,由于matlab软件本身的性质,不能取到无穷大,函数值在到达某一值时会变成0。解决办法是我们可以根据自己的需要,设定x(t)和h(t)在某一范围内的函数值,其他值均为0。(d) 和(b)相比,我们可以得到(b)的方法比较好,更接近于理论值。【自主学习内容】连续信号的抽样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论