matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b

matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b

ID:20914300

大小:1.22 MB

页数:76页

时间:2018-10-17

matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b_第1页
matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b_第2页
matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b_第3页
matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b_第4页
matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b_第5页
资源描述:

《matlab基础与应用教程(人民邮电出版社-蔡旭辉)第六章b》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.2傅里叶分析6.2.1周期信号频域分析的MATLAB实现   例 设周期性对称三角波幅度A=1,周期T=2,试用MATLAB画出其频谱。图1周期性对称三角波解 傅里叶系数该信号的傅里叶级数展开式为MATLAB程序如下: N=8; n1=-N:-1;c1=-4*j*sin(n1*pi/2)/pi^2./n1.^2;%计算n=-N到-1的傅里叶系数c0=0;%计算n=0时的傅里叶系数n2=1:N;c2=-4*j*sin(n2*pi/2)/pi^2./n2.^2;%计算n=1~N的傅里叶系数cn=[c1c0c2]; n=

2、-N:N; subplot(2,1,1);stem(n,abs(cn),'.');ylabel('Cn的幅度'); subplot(2,1,2);stem(n,angle(cn),'.');ylabel('Cn的相位');xlabel('omega/omega0');图2程序运行结果例6.7方波分解为多次正弦波之和图6.7-1输入周期性方波--x图示的周期性方波,其傅里叶级数为分别计算......直到9次谐波,并做图。%第六章例6.7程序q607%方波分解为多次正弦波之和t=0:.01:2*pi;%设定一个时间数组

3、y=sin(t);plot(t,y),pause%频率为w=1(f=1/2π)的正弦基波y=sin(t)+sin(3*t)/3;plot(t,y),pause%叠加三次谐波%用1,3,5,7,9次谐波叠加y=sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9;plot(t,y)67%为了绘制三维曲面,要把各次波形数据存为一个三维数组,因此必须重新定义yy=zeros(10,max(size(t)));x=zeros(size(t));fork=1:2:19x=x+sin

4、(k*t)/k;y((k+1)/2,:)=x;end%将各波形叠合绘出pause,figure(1),plot(t,y(1:9,:)),gridline([0,pi+0.5],[pi/4,pi/4])%加上方波幅度线及标注text(pi+0.5,pi/4,'pi/4')%将各半波形绘成三维网格图,看出增加谐波阶次对方波逼近程度的影响halft=ceil(length(t)/2);pause,figure(2),mesh(t(1:halft),[1:10],y(:,1:halft))%只用正半周波形8温故而知新:b.三维

5、网格命令mesh利用函数mesh生成网格曲面。调用格式为:mesh(X,Y,Z,C):X、Y、Z、C是同维数的矩阵,X、Y、Z对应空间上的网格点,网格线颜色由C决定;mesh(X,Y,Z):相当于上面的C=Z的情况;mesh(x,y,Z,C):x和y是向量,Z和C是同维数的矩阵,网格曲面的网格顶点是(x(j),y(i),Z(i,j)),网格线的颜色由矩阵C决定;mesh(x,y,Z):相当于上面的C=Z的情况;mesh(Z,C):等价于mesh(x,y,Z,C),此时向量x=1:n,向量y=1:m;[m,n]=size

6、(Z)mesh(Z):相当于上面的C=Z的情况mesh(...,’PropertyName’,PropertyValue,...):给函数mesh设置曲面属性。910116.2.2非周期信号频域分析的MATLAB实现MATLAB提供了许多数值计算工具,可以用来进行信号的频谱分析。quadl是计算数值积分的函数,有下面两种调用方式:y=quadl(‘F’,a,b)y=quadl(‘F’,a,b,[],[],P)其中,F是一个字符串,表示被积函数的文件名;a、b分别表示定积分的下限和上限;P表示被积函数中的一个参数。qu

7、ad8的返回值是用自适应Simpson算法得出的积分值。(*quadl采用自适应Lobatto算法)例 试用数值积分法近似计算三角波信号f(t)=(1-

8、t

9、)g2(t)的频谱。  解 为了用quad(或者quadl、quad8)计算f(t)的频谱,定义如下MATLAB函数:functiony=sf1(t,w); y=(t>=-1&t<=1).*(1-abs(t)).*exp(-j*w*t);对不同的参数w,函数sf1将计算出傅里叶变换积分式中被积函数的值。将上述MATLAB函数用文件名sf1.m存入计算机磁盘。近似计

10、算信号频谱的MATLAB程序为:w=linspace(-6*pi,6*pi,512); N=length(w);F=zeros(1,N); fork=1:NF(k)=quad('sf1',-1,1,[],[],w(k)); end figure(1);plot(w,real(F));xlabel('omega');ylabel(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。