![]() |
[资料]周期信号的傅里叶级数实验代码!!!
[SIZE="5"]下面是上数据通讯的时候老师给的代码,到现在还不怎么懂[/SIZE]:confused: [SIZE="5"]大家研究一下:[/SIZE]
[B][COLOR="Red"]周期信号的傅里叶级数[/COLOR][/B] 周期信号定义: ,k为整数,T为信号的周期 傅里叶级数展开: 其中,T为周期信号的最小周期, , 为傅里叶展开系数,它的物理意义为频率分量 的幅度和相位。 例子:设周期信号的一个周期波形为 ,该周期信号的傅里叶级数展开解析式为: 采用Matalab程序画出了取2N+1项近似式的波形(N=100) 程序实例:[COLOR="red"][B]fb_jinshi.m[/B][/COLOR] 代码如下: %周期信号(方波)的展开 close all; close all; N=100;%取展开式的项数为2N+1项 T=1; fs=1/T; N_sample=128;%为了画出波形,设置每个周期的采样点数 dt=T/N_sample; t=0:dt:10*T-dt;%画出10个周期的信号 n=-N:N;%展开式的取值范围 Fn=sinc(n/2).*exp(-j*n*pi/2);%傅里叶级数展开的解析(求Fn) Fn(N+1)=0;%超出范围的取0 ft=zeros(1,length(t));%length()为获得序列长度,取全1序列 for m=-N:N ft=ft+Fn(m+N+1)*exp(j*2*pi*m*fs*t);%傅里叶级数展开 end plot(t,ft) [COLOR="red"][B]编写脚本文件:计算信号的频谱并与信号的真实频谱的抽样比较[/B][/COLOR] 程序实例:[COLOR="red"][B]fb_spec.m[/B][/COLOR](利用T2F.m函数调用) fb_spec.m代码: %方波的傅里叶变换 clear all; close all; T=1; N_sample=128;%设置每个周期的采样点数 dt=T/N_sample;%采样点的时间 t=0:dt:T-dt;%一个周期 st=[ones(1,N_sample/2),-ones(1,N_sample/2)];%方波一个周期 subplot(211);%绘制方波时域图 plot(t,st); axis([0 1 -2 2]);%坐标轴的取值范围 xlabel('t');ylabel('S(t)');%图标识 subplot(212);%绘制频谱图 [f,sf]=T2F(t,st);%傅里叶变换 plot(f,abs(sf));hold on;%绘制方波频谱 axis([-10 10 0 1]);%坐标轴的取值范围 xlabel('f');ylabel('/S(f)/');%图标识 sff=T^2*j*pi*f*0.5.*exp(-j*2*pi*f*T).*sinc(f*T*0.5).*sinc(f*T*0.5); %根据傅里叶变换得到的信号频谱相应位置的抽样值 plot(f,abs(sff),'r-') T2F.m函数代码: function[f,sf]=T2F(t,st) %离散傅里叶变换 dt=t(2)-t(1);%求时间间隔 T=t(end);%周期 df=1/T;%求频率 N=length(st);%求项数 f=-N/2*df:df:N/2*df-df;%频率范围取值 sf=fft(st);%傅里叶变换 sf=T/N*fftshift(sf);%离散傅里叶变换 |
挺难:redface:
|
楼主不厚道啊!自己没有搞懂的东西,拿出来让大家研究、研究,为什么还要标价出售!
|
所有时间均为北京时间。现在的时间是 03:21。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.