您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 信号处理仿真与应用课程实验报告实验一
信号处理仿真与应用课程实验报告实验名称周期方波信号的级数分解系别电子信息工程(信号处理)教师姓名王丽娟实验地点5306实验日期2014.05.08一、实验内容根据信号理论,周期方波信号可用无限多的谐波信号线性叠加表示。当谐波数量有限时,其逼近存在误差。本实验要求学生编写M文件,仿真观测对于不同数量的谐波,其线性叠加与周期方波信号的误差。二、实验目的1、熟悉MATLAB命令和编辑、运行、调试环境;2、编写M文件,信号仿真。三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)计算机一台(安装MATLAB6.5版本或以上版本)。四、实验记录(含程序、数据记录及分析)1.原理基础:按照傅里叶级数原理,任何周期信号在满足狄利克雷条件时都可以展开成如式2-4-1所示的无穷级数10110)cos(2)sin()cos(2)(nnnnnnntnAAtnbtnaatf(2-4-1)其中)cos(nntnA称为周期信号的n谐波分量,n次谐波的频率为周期信号频率的n倍,每一次的谐波的幅度随谐波次数的增加依次递减。当0n时的谐波分量为20a(直流分量)。当1n时的谐波分量为)cos(11tA(一次谐波或基波分量直流分量)。按照傅里叶级数的基本原理可知,周期信号的无穷级数展开中,各次谐波的频率按照基波信号的频率的整数倍依次递增,幅度值确随做谐波次数的增加依次递减,趋近于零。因此,从信号能量分布的角度来讲,周期信号的能量主要分布在频率较低的有限次谐波分量上。此原理在通信技术当中得到广泛应用,是通信技术的理论基础。周期信号可以用其有限次谐波的合成来近似表示,当合成的谐波次数越多时,近似程度越高,可以用方均误差来定义这种近似程度,设傅里叶级数前有限项(N项)和为]sincos[2)(10tnbtnaatSnNnnN(2-4-2)用)(tSN近似表示)(tf所引起的误差函数为)()()(tStftNN(2-4-3)方均误差可以定义为dttTtETNNN022)(1)((2-4-4)通常,随着合成的谐波次数的增加,方均误差逐渐减小,可见合成波形与原波形之间的偏差越来越小。2实验流程1.确定方波的频率编写M语言产生方波2.编写产生谐波3.对谐波进行叠加4.谐波频谱叠加比较3源程序代码clc;closeall;clearall;fc=10;Tc=1/fcw=2*pi*fc;fs=30*fc;Ts=1/fs;figure(1)ts=1/fs;tdisplay=3*Tct=0:Ts:tdisplay;f=1/ts;N=length(t);y1=square(w*t);plot(t,y1);gridontitle('产生一个方波');axis([0,tdisplay,0,1.5]);xlabel('周期/s')ylabel('幅度/v')figure(2)subplot321y2=4/pi*sin(w*t);plot(t,y2);gridontitle('正弦基波')xlabel('周期/s')ylabel('幅度/v')subplot322y3=4/pi*(sin(3*w*t)/3);plot(t,y3);gridtitle('三次谐波')xlabel('周期/s')ylabel('幅度/v')subplot323y4=4/pi*(sin(5*w*t)/5);plot(t,y4);gridtitle('五次谐波')xlabel('周期/s')ylabel('幅度/v')subplot324y5=4/pi*(sin(7*w*t)/7);plot(t,y5);gridtitle('七次谐波')xlabel('周期/s')ylabel('幅度/v')subplot325y6=4/pi*(sin(9*w*t)/9);plot(t,y6);gridtitle('九次谐波')xlabel('周期/s')ylabel('幅度/v')subplot326y7=4/pi*(sin(11*w*t)/11);plot(t,y7);gridtitle('十一次谐波')xlabel('周期/s')ylabel('幅度/v')figure(3)subplot221y7=4/pi*(sin(w*t)+sin(3*w*t)/3);plot(t,y7);gridtitle('前两次谐波叠加')xlabel('周期/s')ylabel('幅度/v')subplot222y8=4/pi*(sin(w*t)+sin(3*w*t)/3+sin(5*w*t)/5);plot(t,y8);gridtitle('前三次谐波叠加')xlabel('周期/s')ylabel('幅度/v')subplot223y9=4/pi*(sin(w*t)+sin(3*w*t)/3+sin(5*w*t)/5+sin(7*w*t)/7+sin(9*w*t)/9);plot(t,y8);gridtitle('前五次谐波叠加')xlabel('周期/s')ylabel('幅度/v')subplot224y10=4/pi*(sin(w*t)+sin(3*w*t)/3+sin(5*w*t)/5+sin(7*w*t)/7+sin(9*w*t)/9+sin(11*w*t)/11);plot(t,y9);gridtitle('前六次谐波叠加')xlabel('周期/s')ylabel('幅度/v')Nk=iy=zeros(10,max(size(t)));x=zeros(size(t));NM=50fork=1:2:NMx=x+4/pi*(sin(k*w*t)/k)y((k+1)/2,:)=x;endfigure(4)plot(t,y(1:9,:));gridtitle([num2str(NM)'次谐波波形叠加'])xlabel('周期/s')ylabel('幅度/v')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Nfft=1024%F=fft(y3,Nfft)%figure(5)%FdB=20*log10(abs(F))/max(abs(F))%plot((-Nfft/2:(Nfft/2)-1)*fs/Nfft,abs(fftshift(FdB)),'r');grid%ylabel('f(jw)/dB');%xlabel('f/Hz');\%%%%%%%%%%%%%%%%%%%%%%%%%N=10;f=3;fs=30*f;w=2*pi*f;Nfft=1024;fwt=0;t=0:1/fs:1;y=zeros(10,max(size(t)));fori=1:Nfwt=fwt+4/pi/(2*i-1)*sin((2*i-1)*w*t);y(i,:)=fwt;ifi=4figure(1)subplot(2,2,i);plot(t,fwt);grid;title(['前'num2str(i)'次谐波叠加']);ylabel('f(wt)/V');xlabel('t/s');figure(2)subplot(2,2,i);fjw=fft(fwt,Nfft);fjw2=fftshift(fjw);hjw=abs(fjw2);fres=fs/Nfft;plot((-Nfft/2:Nfft/2-1)*fres,20*log10(hjw/max(hjw)));grid;axis([-2020-300]);title(['前'num2str(i)'次谐波叠加的频谱']);ylabel('f(jw)/dB');xlabel('f/Hz');endendfigure(3)plot(t,y(1:9,:));grid;title([num2str(N)'次谐波叠加']);ylabel('f(wt)/V');xlabel('t/s');4实验结果5实验结果分析通过实验方波可以用其有限次谐波的合成来近似表示,当合成的谐波次数越多时,近似程度越高。五、实验总结经过此次实验我对MATLAB的使用有了基本的认识,对波形的产生会使用M语言来编写。
本文标题:信号处理仿真与应用课程实验报告实验一
链接地址:https://www.777doc.com/doc-7211882 .html