?? fftff.m
字號:
%開關頻率為8kHz,采樣頻率20MHZ,一個開關周期內的采樣數據為2500個
y=0;
xmax=0;
ymax=0;
ff1=fft(ff.signals.values,2500);%此處注意一個問題,當仿真模型中ff的數據類型為array時,此句改為ff1=fft(ff,2500)才能運行,傅里葉變換后的數據類型為2500X2,計算
%計算結果好像不對,不過為什么這樣還沒有搞清楚
% 如果x的長度小于N,則在其后補0使之長度為N的序列,用戶也可以省略N,這時采用的就是x的長度;如果x是一個矩陣則計算x中每列的N點DFT。
%傅里葉變換后得到的數據就是各個頻率成分的系數,也就是頻譜特性,它是一個復數,具有幅值和相位兩個特性,我們研究的通常是其幅頻特性。
for i=1:1:2500;
x=real(ff1(i));
x1=imag(ff1(i));
ff2(i)=sqrt(x*x+x1*x1)/2500;%傅里葉變換的幅值
if ff2(i)>ymax
ymax=ff2(i);%最大值
xmax=i-1;%最大值的級數
end;
y=y+ff2(i);%總和
end
str2mat(num2str(ymax),num2str(xmax),num2str(y/2500))%由字符構成矩陣,低位用空格填補。num2str將數字量轉換為字符量
figure(1);
f = (1/5e-8)*(0:2499)/2500;
% plot(f,Pyy(1:257))
% zj=abs(ff1)/2500
zj=20*log10(abs(ff1)/2500)
plot(f,zj(1:2500))
figure(2)
bar(ff2(1,1:100))
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -