周期信号频域分析及MATLAB实现.ppt

上传人:小飞机 文档编号:5945550 上传时间:2023-09-07 格式:PPT 页数:30 大小:1.04MB
返回 下载 相关 举报
周期信号频域分析及MATLAB实现.ppt_第1页
第1页 / 共30页
周期信号频域分析及MATLAB实现.ppt_第2页
第2页 / 共30页
周期信号频域分析及MATLAB实现.ppt_第3页
第3页 / 共30页
周期信号频域分析及MATLAB实现.ppt_第4页
第4页 / 共30页
周期信号频域分析及MATLAB实现.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《周期信号频域分析及MATLAB实现.ppt》由会员分享,可在线阅读,更多相关《周期信号频域分析及MATLAB实现.ppt(30页珍藏版)》请在三一办公上搜索。

1、1,第七章 信号频域分析及 MATLAB 实现,7.1 周期信号的傅利叶级数与信号的频谱7.2 周期信号的频谱分析及MATLAB实现 7.3 用MATLAB分析典型周期信号的频谱,2,7.1 周期信号的傅里叶级数与信号的频谱,7.1.1 连续时间周期信号的傅利叶级数CTFS,1)三角形式的傅里叶级数,7-1a,1.连续时间周期信号的解,3,7.1 周期信号的傅里叶级数与信号的频谱,傅里叶系数:,4,7.1 周期信号的傅里叶级数与信号的频谱,三角函数形式的傅里叶级数的另外一种形式:,7-2b,单边频谱,5,7.1 周期信号的傅里叶级数与信号的频谱,2)指数形式的傅里叶级数,双边频谱,6,7.1

2、周期信号的傅里叶级数与信号的频谱,3)系数关系,7,7.1 周期信号的傅里叶级数与信号的频谱,2.连续时间周期信号的傅里叶级数近似,用有限项的傅里叶级数求和来逼近原函数,f(t)的截断傅里叶级数表示,3.符号积分函数int()求截断傅里叶级数及傅里叶表示,intf=int(f,v,a,b)给出符号表达式 f 对指定变量v的定积分。,8,7.2 Matlab分析周期信号的频谱,7.2.1 频谱分析流程,分解:各阶傅里叶系数+各阶谐波,综合:用截断傅里叶级数来近似原信号,函数 x=time_fun_x(t),函数 y=time_fun_e(t),函数 SquarePulse_CTFS.m,9,7.

3、2.2 单边频谱分析,7.2 Matlab分析周期信号的频谱,单边频谱,10,例题7.1 周期矩形脉冲信号幅度为1,脉宽为1,周期为4,求该信号的三角形式的其各阶傅里叶系数,并绘出各次谐波叠加的傅里叶综合波形图。,1.编写函数文件,function y,tao=SqureWaves(t,T)%该函数用于产生对称的、脉宽可调的矩形脉冲;%它由符号变量和表达式写成。%M为脉冲占空比;%tao为脉冲宽度;%a为脉冲半宽度;%y周期函数在一个周期的符号函数表达式。M=input(duty cycle脉冲占空比M=);A=1;tao=T*M;y=A*heaviside(t+tao/2)-A*heavis

4、ide(t-tao/2);y=simple(y);return,7.2 Matlab分析周期信号的频谱,11,2.绘制函数图,figure(3)Syms t;T=4;y,tao=SqureWaves(t,T);yn=subs(y,t,t-T)+y+subs(y,t,t+T);%定义有原函数3个周期的函数ezplot(yn,-1.5*T 1.5*T);,3.调用m文件 SquarePulse_CTFS.m求傅里叶系数,分析SquarePulse.m,R=vpa(A,d)利用可变精度计算方法以d位小数点精度去计算A中的每个元素,每个输出元素是符号表达式,R=double(A)把A转换为双精度浮点数

5、。,7.2 Matlab分析周期信号的频谱,12,例题的理论推算,A0=0.25;A1=0.45,A20.317,A3 0.15,A4 0,A5 0.09,A6 0.106,A7 0.064,A7 0,A9 0.05,A10 0.063,a0=0.5,bn=0,T=4 s,tao=1 s,7.2 Matlab分析周期信号的频谱,13,调用SquarePulse计算傅里叶系数,7.2 Matlab分析周期信号的频谱,14,原函数的各阶截断傅里叶级数,调用JieD_CTFS.m,7.2 Matlab分析周期信号的频谱,15,周期信号可以分解成一系列虚指数信号之和,并可以求得相应的傅里叶系数,7.2

6、.3 双边频谱,7.2 Matlab分析周期信号的频谱,16,思路:利用CTFShchsym.m先求出周期信号的傅里叶系数,再利用系数关系求An,Fn,n。,7.2 Matlab分析周期信号的频谱,17,程序流程:,7.2 Matlab分析周期信号的频谱,18,1.编写函数文件,子函数 y=time_fun_s(t),表示出信号在一个周期内的符号表达式,2.傅里叶复指数系数及绘制频谱图,1)调用函数 time_fun_s(t),获取周期信号的符号表达式;2)求出信号的三角级数形式的傅里叶系数 an和bn。3)求出信号的复指数形式的傅里叶级数展开系数Fn。4)绘制Fn的振幅频谱图。5)利用y的符

7、号表达式绘制信号3个周期的波形图,7.2 Matlab分析周期信号的频谱,19,7.2.4 用FFT实现周期信号的频谱分析,如何利用快速 Fourier 变换 FFT对连续时间 Fourier 级数 CTFS 展开进行数值计算。,1.理论:周期为 N 的离散序列 x(n),其 DTFS 综合和分析公式,一、用 FFT 计算DTFS,IDTFS:,DTFS:,(7.12),(7.13),7.2 Matlab分析周期信号的频谱,20,2.用 FFT 法对x(n)傅里叶分析的计算公式,ifft():,fft():,(7.14),(7.15),3.Matlab命令,IDTFS:,DTFS:,(7.16

8、),(7.17),二、用 FFT 计算CTFS,将原函数在一个周期内离散化,即用向量表达。再利用上述3 的命令即可。,7.2 Matlab分析周期信号的频谱,21,三、用 FFT 实现周期信号的频谱分析,向量形式的函数文件,Y=fft(X,n)returns the n-point DFT.,Y=fftshift(X)rearranges the outputs of fft,fft2,and fftn by moving the zero-frequency component to the center of the array.It is useful for visualizing a

9、 Fourier transform with the zero-frequency component in the middle of the spectrum.,X=0 1 2 3 4 5 6 7 7 9 10 11 12 13 14 fftshift(X)ans=7 9 10 11 12 13 14 0 1 2 3 4 5 6 7,7.2 Matlab分析周期信号的频谱,22,例7.2 用fft分析淹没在噪声中的50Hz和150H在信号,clc;clear;fs=100;N=1024;%采样频率数据点数n=0:N-1;t=n/fs;%时间序列f=n*fs/N;%频率序列x=1+sin(

10、2*pi*15*t)+3*sin(2*pi*40*t);%信号Cn=fft(x,N)/N;%快速傅里叶变换z_cn=find(abs(Cn)1.0e-10);Cn(z_cn)=zeros(length(z_cn),1);%强制那些小复数为0Pyy=Cn.*conj(Cn);%双边频谱的各个量fn=fftshift(Cn);Fn=abs(fn);ff=-fliplr(f(2:N/2+1),f(1:N/2);,Cnd=abs(Cn(1),2*Cn(2:N/2);Ti=strcat(N=,num2str(N);subplot(2,2,1),plot(t,x);xlabel(时间/s);ylabel(

11、振幅);title(Ti);grid on;axis(min(t),max(t),min(x)-0.1,max(x)+0.1);subplot(2,2,2),stem(f(1:N/2),Pyy(1:N/2);%绘出信号的功率谱title(信号的功率谱Pyy)xlabel(frequency(Hz)grid onsubplot(2,2,3),stem(ff,Fn);%双边频谱xlabel(频率/Hz);ylabel(振幅);title(Ti);grid on;subplot(2,2,4),stem(f(1:N/2),Cnd);%单边频谱xlabel(频率/Hz);ylabel(振幅);title

12、(Ti);grid on;,7.2 Matlab分析周期信号的频谱,23,7.2 Matlab分析周期信号的频谱,24,例7.3 用 FFT 周期矩形脉冲函数的频谱,幅度为 1,脉冲宽度为 tao=1,function x=fun_ex0706(t,T)%该函数是CTFSfft.m的子函数。%t是时间数组%T是周期A=1;tao=1;T=5;x=zeros(size(t);ii=find(t=-tao/2return,调用CTFSfft,7.2 Matlab分析周期信号的频谱,25,7.2 Matlab分析周期信号的频谱,26,7.3 用MATLAB分析典型周期信号的频谱,7.3.1 MATL

13、AB实现周期方波脉冲频谱,Duty cycle=1/2,例题7.4 周期方波的频谱分析T=5 s,占空比=0.5,幅度=1,function y,tao=fun_ex0704(t,T)%产生方波脉冲;它由符号变量和表达式写成。%M为脉冲占空比;%tao为脉冲宽度;%a为脉冲半宽度;%y一个周期的符号函数表达式。syms a t%M=input(duty cycle脉冲占空比M=);M=0.5;A=1;tao=T*M;a=tao/2;y=heaviside(t)*A-heaviside(t-tao)*A;return,调用CTFSshbpsym,周期方波信号频谱与周期矩形脉冲信号具有相同的规律;

14、频谱的第一个过零点内只有两根谱线。,27,例题7.4 周期方波的理论推算,7.3 用MATLAB分析典型周期信号的频谱,28,调用Ex07_04.m,7.3 用MATLAB分析典型周期信号的频谱,29,例题7.5 周期方波的频谱分析;T=5 s,幅度=1,function y=fun_ex0705(t,T)syms a a1%T=input(please Input 信号的周期T=);global TM=input(duty cycle脉冲占空比M=);A=1;tao=T*M;a=tao/2;y1=sym(Heaviside(t+a1)*A;y=y1-sym(Heaviside(t-a1)*A;y=subs(y,a1,a);y=simple(y);return,调用Ex07_05.m,7.3.2周期三角波脉冲的频谱,7.3 用MATLAB分析典型周期信号的频谱,30,7.3 用MATLAB分析典型周期信号的频谱,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号