首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab中傅里叶级数的混淆

Matlab中傅里叶级数的混淆
EN

Stack Overflow用户
提问于 2012-03-09 19:59:35
回答 1查看 2.3K关注 0票数 0

我目前正在学习DSP,我正在使用Matlab软件包来解决这些问题。目前,我刚刚开始尝试了解fourier级数,并且遇到了以下问题。

利用傅里叶级数产生100 an三角波。

现在,我不能完全理解使用fourier级数的问题的这一部分。

我用下面的matlab代码生成了一个100 the的三角波:

代码语言:javascript
复制
t = 0:1/10000:1;
f=100;
x1 = sawtooth(2*pi*f*t, 0.5);
x2 = fft(x1);
plot(t,x1); 
axis([0 0.10 -1 1]); 
grid on;

现在,在matlab中我会用什么代码来绘制这个三角波的fourier级数?

感谢任何人,谁可能有一些投入,为这个特殊的问题。

EN

回答 1

Stack Overflow用户

发布于 2012-03-09 20:06:09

我认为问题是要你找出'a‘和'b’系数,然后通过在适当的频率上求和正弦和余弦来产生锯齿波。要在网上找到锯齿波的傅里叶系数并不太难,但我鼓励你找出它,然后用它来检验你的答案:)

然后做这样的事

代码语言:javascript
复制
n_harmonics = 10;
n = zeros(1, n_harmonics);
a = ?;  % for you to figure out - probably a function of n
b = ?;  % same idea

t = linspace(0, 2*pi);
x = zeros(size(t));
for nx = 1 : n,
    x = x + a(nx)*cos(nx*t) + b(nx)*sin(nx*t);
end
plot(t, x)

注意,傅里叶级数与傅里叶变换不是一回事,这是fft估计的结果。大多数关于信号处理的文本将从傅里叶级数开始,并在此基础上进行傅里叶变换。还请注意,在从连续时间转移到离散时间时,存在着大量的重要和微妙的差异。再一次,大多数教科书可能会从连续时间开始,然后用它作为介绍离散时间概念的基础。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9640185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档