资源简介

自己用matlab做的傅里叶级数分解程序 可以对周期信号进行不同频率的正余弦函数的拟合 这里对方波信号进行拟合 可以设置分解的阶数 阶数越高 对方波的拟合越精确 初学信号处理的朋友绝对对你有所帮助

资源截图

代码片段和文件信息

function err=fs(n)
% n=100;
% n为傅里叶级数
E=1;%E为方波信号的高度,
T1=0.5;%T1为方波的周期;
Fn=2000;%Fn为方波的采样频率
t0=T1/2;%t0为脉冲的宽度
T=2;%T为方波的截取的时间长度
t = -T/2:1/Fn:T/2;%t为横轴的时间坐标
squ = E*(1+square(2*pi/T1*t))/2;%产生方波脉冲信号,周期是T1,高度是E
squ=cat(2squ(T1/4*Fn:end)squ(1:T1/4*Fn-1));%把方波信号移位1/4周期,形成偶对称的脉冲



a0=E*t0/T1;
N=1:n;
% AN=(2*E*t0/T1).*sin(N*pi*t0/T1)./(N*pi*t0/T1);
COSIN=cos(2*pi/T1*N‘*t);%余弦项矩阵,大小为n*size(t)
AN=(2*E)*sin(N*pi*t0/T1)./(N*pi);%余弦项的系数,是一个大小为1*n的矩阵

AN_1=meshgrid(ANones(size(t)))‘;%将余弦系数扩展成一个大小为n*si

评论

共有 条评论