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

上传人:本田雅阁 文档编号:3434958 上传时间:2019-08-25 格式:PPT 页数:30 大小:1.12MB
返回 下载 相关 举报
第7章周期信号频域分析及MATLAB实现.ppt_第1页
第1页 / 共30页
第7章周期信号频域分析及MATLAB实现.ppt_第2页
第2页 / 共30页
第7章周期信号频域分析及MATLAB实现.ppt_第3页
第3页 / 共30页
第7章周期信号频域分析及MATLAB实现.ppt_第4页
第4页 / 共30页
第7章周期信号频域分析及MATLAB实现.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《第7章周期信号频域分析及MATLAB实现.ppt》由会员分享,可在线阅读,更多相关《第7章周期信号频域分析及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.

2、1 周期信号的傅里叶级数与信号的频谱,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

3、,9,7.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

4、(t+tao/2)-A*heaviside(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中的每个元素,每个输出元素

5、是符号表达式,R=double(A)把A转换为双精度浮点数。,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分析周期信号的频谱

6、,15,周期信号可以分解成一系列虚指数信号之和,并可以求得相应的傅里叶系数,7.2.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

7、。 3)求出信号的复指数形式的傅里叶级数展开系数Fn 。 4)绘制Fn的振幅频谱图。 5)利用y的符号表达式绘制信号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()

8、 :,fft():,(7.14),(7.15),3. Matlab命令,IDTFS :,DTFS:,(7.16),(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 comp

9、onent to the center of the array. It is useful for visualizing a 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;clea

10、r; fs=100;N=1024; %采样频率数据点数 n=0:N-1; t=n/fs; %时间序列 f=n*fs/N; %频率序列 x=1+sin(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); % 强制那些“小“复数为0 Pyy = Cn.* conj(Cn); %双边频谱的各个量 fn=fftshift(Cn); Fn=abs(fn); ff=-fliplr(f(2:N/2+1),f(1:N/2);,Cnd

11、=abs(Cn(1),2*Cn(2:N/2); Ti=strcat(N= ,num2str(N); subplot(2,2,1),plot(t,x); xlabel(时间/s); ylabel(振幅);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 on subplot(2,2,3),stem(ff,Fn); %双边频谱 xlabe

12、l(频率/Hz); ylabel(振幅);title(Ti);grid on; subplot(2,2,4),stem(f(1:N/2),Cnd); %单边频谱 xlabel(频率/Hz); ylabel(振幅);title(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

13、(size(t); ii=find(t=-tao /2 return,调用CTFSfft,7.2 Matlab分析周期信号的频谱,25,7.2 Matlab分析周期信号的频谱,26,7.3 用MATLAB分析典型周期信号的频谱,7.3.1 MATLAB实现周期方波脉冲频谱,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

14、% 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,周期方波信号频谱与周期矩形脉冲信号具有相同的规律; 频谱的第一个过零点内只有两根谱线。,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 T M=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备18001539号-1