matlab 模拟吉布斯效应

Posted 胡刚2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 模拟吉布斯效应相关的知识,希望对你有一定的参考价值。

计算傅里叶级数


总之,一个周期的矩形脉冲信号可以用下面的傅里叶级数表示

代码和运行结果

clear all;
clf;

DC = 1; %直流分量
N = 100;%谐波次数
for k=1:N,
    X(k) = sin(k*pi/2)/(k*pi/2);%每个谐波分量对应的傅里叶系数
    disp(X(k));
end

X=[DC X];%第一个元素DC为直流分量的系数,后面的X为前面计算出的各谐波分量的傅里叶系数
Ts=0.001;
t=0:Ts:1-Ts;%周期的区间
L=length(t);
x=2*[ones(1, L/4) zeros(1, L/2) ones(1, L/4)];%矩形脉冲的一个周期的幅值

figure(1);
xN=X(1)*ones(1, length(t));%1个谐波
for k=2:N,
    xN=xN+2*X(k)*cos(2* pi * (k-1).*t);%K个谐波的叠加
    plot(t, xN);%绘制K个谐波的叠加

    hold on;
    plot(t, x, 'r');
    hold off;
    pause(0.1);
end

可以更改谐波次数 N 的值,观察不同的模拟情况


以上是关于matlab 模拟吉布斯效应的主要内容,如果未能解决你的问题,请参考以下文章

matlab 对矩形脉冲进行低通滤波

wav音频文件解析读取 定点转浮点分析 幅值提取(C语言实现)

音频信号的基波谐波

谐波乘积谱的 MATLAB 代码

matlab谐波生成方法

matlab谐波生成方法