对方波信号进行傅里叶级数展开,利用matlab绘制展开后的波形
生活随笔
收集整理的這篇文章主要介紹了
对方波信号进行傅里叶级数展开,利用matlab绘制展开后的波形
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
設方波信號如下所示:
對其進行傅里葉級數展開,計算后可得:
? ?
? ? ?
?
編寫的matlab代碼如下:
close all;
clear all;
N = 1000; ???%取展開式的項數為1000項
T = 1; ????????%方波周期為1
fs = 1/T;
N_sample = 128; %為了畫出波形,設置每個周期的采樣點個數
dt = T/N_sample;
t=0:dt:10*T-dt;
ft = zeros(1,length(t));
for?n=1:N
????an = (2*sin(pi*n) - sin(2*pi*n))/(pi*n);
????bn = (1-2*cos(n*pi)+cos(2*pi*n))/(pi*n);
????ft = ft + an*cos(n*2*pi*fs*t)+bn*(sin(n*2*pi*fs*t));
end
plot(t,ft);
展開式的項數設置為1000項時,波形如下:
?
展開式的項數設置為100項時,波形如下:
兩幅圖對比可以證明展開式項數越多,波形越接近方波。?
?
?
?
?
總結
以上是生活随笔為你收集整理的对方波信号进行傅里叶级数展开,利用matlab绘制展开后的波形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: psp记忆棒测试软件,psp记忆棒修复工
- 下一篇: matlab 求留数,用matlab求留