求f(x)=xsinx的傅里叶级数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求f(x)=xsinx的傅里叶级数相关的知识,希望对你有一定的参考价值。

设f(x)=sinax,-π≤x≤π,a>0,将其展开成以2π为周期的傅里叶级数。

设f(t)为一非正弦周期函数,其周期为T,频率和角频率分别为f , ω1。由于工程实际中的非正弦周期函数,一般都满足狄里赫利条件,所以可将它展开成傅里叶级数。

收敛性

傅里叶级数的收敛性:满足狄利赫里条件的周期函数表示成的傅里叶级数都收敛。狄利赫里条件如下:

在任何周期内,x(t)须绝对可积;在任一有限区间中,x(t)只能取有限个最大值或最小值;

在任何有限区间上,x(t)只能有有限个第一类间断点。

吉布斯现象:在x(t)的不可导点上,如果我们只取(1)式右边的无穷级数中的有限项作和x(t),那么x(t)在这些点上会有起伏。一个简单的例子是方波信号。

以上内容参考:百度百科-傅里叶级数

参考技术A 一个是简写,一个是具体囊括写出!
就比如说(2x+3)的平方,这个是简写;让你写出它的展开式
但傅里叶级数一般都是无穷的,都用n表示
参考技术B 一. 傅里叶级数的三角函数形式
  设f(t)为一非正弦周期函数,其周期为T,频率和角频率分别为f , ω1。由于工程实际中的非正弦周期函数,一般都满足狄里赫利条件,所以可将它展开成傅里叶级数。即
  其中A0/2称为直流分量或恒定分量;其余所有的项是具有不同振幅,不同初相角而频率成整数倍关系的一些正弦量。A1cos(ω1t+ψ1)项称为一次谐波或基波,A1,ψ1分别为其振幅和初相角;A2cos(ω2t+ψ2)项的角频率为基波角频率ω1的2倍,称为二次谐波,A2,ψ2分别为其振幅和初相角;其余的项分别称为三次谐波,四次谐波等。基波,三次谐波,五次谐波……统称为奇次谐波;二次谐波,四次谐波……统称为偶次谐波;除恒定分量和基波外,其余各项统称为高次谐波。式(10-2-1)说明一个非正弦周期函数可以表示一个直流分量与一系列不同频率的正弦量的叠加。
  上式有可改写为如下形式,即
  当A0,An, ψn求得后,代入式 (10-2-1),即求得了非正弦周期函数f(t)的傅里叶级数展开式。
  把非正弦周期函数f(t)展开成傅里叶级数也称为谐波分析。工程实际中所遇到的非正弦周期函数大约有十余种,它们的傅里叶级数展开式前人都已作出,可从各种数学书籍中直接查用。
  从式(10-2-3)中看出,将n换成(-n)后即可证明有
  a-n=an
  b-n=-bn
  A-n=An
  ψ-n=-ψn
  即an和An是离散变量n的偶函数,bn和ψn是n的奇函数。
  二. 傅里叶级数的复指数形式
  将式(10-2-2)改写为
  可见 与 互为共轭复数。代入式(10-2-4)有
  上式即为傅里叶级数的复指数形式。
  下面对和上式的物理意义予以说明:
  由式(10-2-5)得的模和辐角分别为
  可见的模与幅角即分别为傅里叶级数第n次谐波的振幅An与初相角ψn,物理意义十分明确,故称为第n次谐波的复数振幅。
  的求法如下:将式(10-2-3a,b)代入式(10-2-5)有
  上式即为从已知的f(t)求的公式。这样我们即得到了一对相互的变换式(10-2-8)与(10-2-7),通常用下列符号表示,即
  即根据式(10-2-8)由已知的f(t)求得,再将所求得的代入式(10-2-7),即将f(t)展开成了复指数形式的傅立叶级数。
  在(10-2-7)中,由于离散变量n是从(-∞)取值,从而出现了负频率(-nω1)。但实际工程中负频率是无意义的,负频率的出现只具有数学意义,负频率(-nω1)一定是与正频率nω1成对存在的,它们的和构成了一个频率为nω1的正弦分量。即
  引入傅立叶级数复指数形式的好处有二:(1)复数振幅同时描述了第n次谐波的振幅An和初相角ψn;(2)为研究信号的频谱提供了途径和方便。
  高等数学中的傅立叶级数
  傅立叶系数
  傅立叶系数包括系数 ,积分号和它的积分域,以及里面的两个周期函数的乘积——其中一个是关于f的,另一个是关于x的函数f(x),另一个则是和级数项n有关的三角函数值。这个三角函数可以是正弦,也可以是余弦,因此傅立叶系数包括正弦系数和余弦系数。其中当n=0时,余弦值为1,此时存在一个特殊的系数 ,它只与x有关。正弦系数再成一个正弦,余弦再乘一个余弦,相加并且随n求和,再加上一半的 ,就称为了这个特别的函数f(x)的傅立叶级数。为什么它特别呢,我想因为这里只有它只限于一个周期函数而已,而级数的周期就是f(x)的周期,2 。
  如果函数f(x)存在一个周期,但是不是2 了,而是关于y轴对称的任意一个范围,它还能写成傅立叶级数么?也可以的。只要把傅立叶系数里的 换成l,并且把积分号里的三角函数中的n 下除一个l,同时把系数以外的那个n 底下也除一个l。其他的都不动。也可以认为,2 周期的傅立叶级数其实三角函数中x前面的系数应该是 ,其他的 (积分域和系数)应该是x,只不过这时所有的l都是 罢了。
  前面提及了,周期或是积分域,是关于y轴的一个任意范围。其实周期函数不用强调这个,但是为什么还要说呢?因为要特别强调一下定义域是满的。有些函数的定义域不是满的,是0到l,当然这样它有可能不是周期的。这些函数能写成傅立叶级数么?同样可以。而且,它的写法不再是正弦和余弦函数的累积,而是单独的一个正弦函数或是余弦函数。具体怎么写,就取决于怎么做。因为域是一半的,所以自然而然想到把那一半补齐,f就成了周期函数。补齐既可以补成奇函数也可以补成偶函数。补成积函数,写成的级数只有正弦项,即 为0。补成偶函数,写成的级数就只含有余弦项和第一项,即 为0。而,傅立叶系数相比非积非偶的函数要大一倍。
  其实,如果不经延拓,上面那些对于奇偶函数同样使用。
  在做题时,常常看到级数后面跟着一个系数还有一个正弦函数,然后后面给出了这个系数很复杂的一串式子,这时候就容易突然短路了。但是如果再定睛一看,会发现其实那个系数不过是一个有积分的傅立叶系数而已。那么一大串,应该看什么呢?应当先看积分域,一下就可以定出周期了。第二步要明确级数和函数的关系即等价关系。函数不但包含在级数中,而且函数本身也是和级数等价的。但一般那个级数里的函数是一个摆设,不起什么作用

matlab 求矩形脉冲的傅里叶级数

本节在 matlab heaviside函数生成矩形脉冲matlab 编写计算傅里叶级数函数 的基础上,求一个矩形脉冲序列的傅里叶级数。

这里只求了一个周期矩形脉冲的傅里叶级数,因为我不知道怎么用一个matlab函数表示整个矩形脉冲序列。
需要注意的是,这里的傅里叶级数函数,需要传入积分的下限和上限,也就是你要求的那个矩形脉冲所在的区间。

clear all;
clf;%一定要加这行代码,否则可能你之前的代码能运行生成正确图形,改错之后,运行结果还是之前的图形,每次运行前必须先做清理
syms t;
T = 1;%矩形脉冲的周期
N = 5;%每个for循环生成的矩形脉冲数

%生成[T-1/4*T, N*T - 1/4*T]区间内的信号
for k = 1: N,
    x(k) = heaviside(t - T * k + T/4) - heaviside(t - T * k - T/4);
end

%生成[-N*T-1/4*T, T-1/4*T]区间内的信号
for k = N: -1 :1,
    x2(k) = heaviside(t + T * k + T/4) - heaviside(t + T * k - T/4);
end

%生成[T-1/4*T, T-1/4*T]区间内的信号
x3 = heaviside(t  + T/4) - heaviside(t - T/4);

%把以上信号都整合起来,然后幅值乘以2
f = 2 * [x x2 x3];

subplot(221);
fplot(f, [-10, 10]);

%=================================== 以上是生成矩形脉冲的代码 ==============================================
%=================================== 以下是求上面矩形脉冲的傅里叶级数的代码 =================================

M = 6;%谐波次数,可以任意指定
[X1, w1] = fourierseries(f(6), M, T,  -1.5, -0.5);%注意这里,只能求 函数数组f 中其中一个元素的傅里叶级数,不能把 函数数组f 直接传进去, 而且要特别注意传递的周期一定要准确,否则得出的结果很可能是0
disp(f(6));
X = [conj(fliplr(X1(2:M))) X1];
w = [-fliplr(w1(2:M)) w1];
disp(X);

subplot(222);
stem(w, X);

subplot(223);
stem(w, abs(X));

subplot(224);
stem(w, [-angle(X1(2:M))  angle(X1)]);


%计算函数 x 的 N 次谐波的傅里叶级数系数,函数的周期为 T
%数组 X 存放的是傅里叶系数,也就是幅值
%数组 w 存放的是频率
%x为函数
%M是谐波次数
%T是函数周期
%START为积分的下限
%END为积分的上限
function [X, w]=fourierseries(x, M, T, START, END)
    syms t;%因为传进来的x函数中包含符号 t,所以函数内部也要定义符号变量 t,否则会报错
    for k = 1: M,
        X(k)=int(x * exp(-j*2*pi*(k-1)*t/T), t, START, END)/T;
        w(k)=(k-1)*2*pi/T;
    end
end


以上是关于求f(x)=xsinx的傅里叶级数的主要内容,如果未能解决你的问题,请参考以下文章

第三章 傅里叶级数

周期信号的傅里叶级数

傅里叶变换

Matlab中的傅里叶级数系数​​使用FFT不是负数

matlab 编写计算傅里叶级数函数

笔记快速理解傅里叶级数