测试信号处理(第3版)程序代码 第10章_第1页
测试信号处理(第3版)程序代码 第10章_第2页
测试信号处理(第3版)程序代码 第10章_第3页
测试信号处理(第3版)程序代码 第10章_第4页
全文预览已结束

下载本文档

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

文档简介

例10.3t=0:0.01:2.10;%抽样频率为100Hzs1=sin(2*pi*30*t);%产生频率为30Hz的正弦信号s2=s1+0.5*[zeros(1,50)s1(1:161)];%加上回声,其幅度是原信号的一半%时域上延迟50个抽样周期即0.5秒c=cceps(s2);%用函数cceps求出倒谱subplot(121),plot(t,s2)%画出倒谱图xlabel('\fontsize{14}t')ylabel('\fontsize{14}\fontname{courier}信号+噪声的幅值')subplot(122),plot(t,c)xlabel('\fontsize{14}t')ylabel('\fontsize{14}\fontname{courier}倒谱')例10.4%%例10.4,利用FFT对信号进行STFT分析A=2;w0=10*pi*0.00001;%产生一个被分析的信号M=20000;n=0:M-1;x=A*sin(n.^2*w0);%%进行短时傅里叶变换L=200;P=L/2;N=256;Fs=10000;%%汉宁窗的窗口长度L,做FFT运算w=0.5*(1-cos(2*pi*(0:L-1)/(L-1)));Q=fix((M-P)/(L-P));forq=0:Q-1x0=x(q*(L-P)+1:q*(L-P)+L).*w;X(q+1,:)=fft(x0,N);endtn=((0:Q-1)*(L-P))/Fs;fk=(0:N/2)*Fs/N;zhX=X′;%画出相应的三维时频图figure(1);mesh(tn,fk,abs(zhX((1:N/2+1),:)))xlabel(′时间(s)′);ylabel(′频率(Hz)′)title(′短时傅里叶变换——STFT′)%画出相应的二维时频图figure(2);imagesc(tn,fk,20*log10(abs(zhX((1:N/2+1),:))+eps));axisxy;colormap(jet)xlabel(′时间(s)′);ylabel(′频率(Hz)′);title(′短时傅里叶变换——STFT′)例10.5%例10.5用db4、db2小波分解信号randn(′seed′,531316785);%产生随机信号s=2+kron(ones(1,8),[1-1])+((1:16).^2)/32+0.2*randn(1,16);%产生原信号\[ca1,cd1\]=dwt(s,′db4′);%对信号s用小波db4分解为近似值和细节subplot(311);plot(s);title(′原信号′);subplot(323);plot(ca1);title(′用db4分解的近似值′);subplot(324);plot(cd1);title(′用db4的细节′);[ca2,cd2]=dwt(s,′db2′);%对信号s用小波db4分解为近似值和细节subplot(325);plot(ca2);title(′用db2分解的近似值′)subplot(326);plot(cd2)title(′用db2的细节′)%例10.5用db4、db2小波分解信号randn(′seed′,531316785);%产生随机信号s=2+kron(ones(1,8),\[1-1\])+((1:16).^2)/32+0.2*randn(1,16);%产生原信号[ca1,cd1]=dwt(s,′db4′);%对信号s用小波db4分解为近似值和细节subplot(311);plot(s);title(′原信号′);subplot(323);plot(ca1);title(′用db4分解的近似值′);subplot(324);plot(cd1);title(′用db4的细节′);[ca2,cd2]=dwt(s,′db2′);%对信号s用小波db4分解为近似值和细节subplot(325);plot(ca2);title(′用db2分解的近似值′)subplot(326);plot(cd2)title(′用db2的细节′)例10.6%例10.6用db2由近似值和细节分量重构原信号%产生原信号,将信号分解为近似值和细节分量randn(′seed′,531316785);s=2+kron(ones(1,8),\[11\])+((1:16).^2)/32+0.2*randn(1,16);[ca1,cd1]=dwt(s,′db2′);subplot(221);plot(ca1);title(′用db2分解的近似值′);subplot(222);plot(cd1);title(′用db2的细节分量′);%由近似值和细节分量重构原信号[Lo_R,Hi_R]=wfilters(′db2′,′r′);%用db2小波计算重构滤波器组ss=idwt(ca1,cd1,Lo_R,Hi_R);%一维离散小波反变换err=norm(s-ss);%重构信号与原信号偏差subplot(212);plot(ss);title(′重构信号′);xlabel(\[′偏差基准量级=′,num2str(err)\])例10.7%例10.7的4种软阈值小波去噪算法Matlab编程实现snr=3;%信噪比init=2055615866;%使用种子init生成随机噪声\[xref,x\]=wnoise(3,11,snr,init);%产生有噪信号的函数lev=5;%小波分解的层数xd=wden(x,′heursure′,′s′,′one′,lev,′sym8′);%一维信号小波去噪函数%指定′heursure′算法选取阈值subplot(321),plot(xref),axis(\[120481010\]);title(′原信号′);subplot(322),plot(x),axis(\[120481010\]);title(′有噪信号信噪比=3′);subplot(323),plot(xd),axis(\[120481010\]);title(′去噪信号-heursure′);xd=wden(x,′rigrsure′,′s′,′one′,lev,′sym8′);%指定′rigrsure′算法选取阈值subplot(324),plot(xd),axis(\[120481010\]);title(′去噪信号-rigrsure′);xd=wden(x,′sqtwolog′,′s′,′sln′,lev,′sym8′);%指定′sqtwolog′算法选取阈值subplot(325),plot(xd),axis(\[120481010\]);title(′去噪信号-sqtwolog′);xd=wden(x,′minimaxi′,′s′,′sln′,lev,′sym8′);%指定′minimaxi′算法选取阈值subplot(326),plot(xd),axis(\[120481010\]);title(′

温馨提示

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

评论

0/150

提交评论