2012-03-09 20 views
0

私は現在DSPを研究しており、私は問題を解決するためにMatlabソフトウェアパッケージを使用しています。私は現在、フーリエ級数について学ぶことを試み始めており、次の問題に問題があります。フーリエ級数に関する混乱Matlab

フーリエ級数を使用して100Hzの三角波を生成します。

ここで、フーリエ級数の使用に関するこの問題の部分を理解することはできません。

私は、次のMATLABコードと100Hzの三角波を生成した:

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内使用するどのようなコード?

この特定の問題について何らかの情報をお持ちいただければ幸いです。

答えて

4

「a」と「b」の係数を見つけて、適切な周波数でサインとコサインを合計することによってノコギリ波を生成することがあなたの質問です。それはオンラインノコギリ波のためのフーリエ係数を見つけることがあまりにもハードではないのですが、私はそれを仕事とあなたの答えを確認するためにそれを使用することをお勧めします:)

次に、この

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が推定しているものです。信号処理に関するほとんどのテキストは、フーリエ級数から始まり、フーリエ変換を得るために構築されます。連続時間から離散時間に移動するときには、重要で微妙な違いがたくさんあることにも注意してください。ここでもまた、ほとんどの教科書は、おそらく連続時間で始まり、それを離散時間概念を導入するための基礎として使用します。