看板 Electronics 關於我們 聯絡資訊
一般的hspice 做fft需要的分析時間很長 所以有找了一些資料 可以把.tran的資料存起來 然後用matlab做分析 可以節省很多時間 不過卻找不到 有比較詳細的說明 這是我打的matlab程式 都是找參考資料湊起來的 輸入是一個50khz的sin波 clc; clear all; format long e; % load data load d1.txt -ascii; out_hold2=d1(1:65536,2); %-------- plot FFT of Y[n] --------% fs=50*10^6; %sampling rate(50MS/s) 這一行完全不懂 不過會影響最後的圖x軸大小 ptst=1; pts=realpow(2,10); ptfi=ptst+pts-1; y=out_hold2; yb=y(ptst:ptfi); yk1=fft(yb); yk=abs(yk1); no=length(yk); f=fs*(0:no-1)/no; Pyy=yk.*conj(yk)/(realpow(no/2,2)); %找出Y的虛部以求取頻譜 %Pyy 為power spectrum density %plot FFT result semilogx(f(1:pts/2),10*log10(Pyy(1:pts/2))); %繪製x軸半對數座標的頻譜圖 xlabel('Frequency (Hz)'); ylabel('Y[k](dB)'); title('Output '); grid on; 因為畫出來的跟hspice的差很多 不知道是程式寫錯 還是哪裡沒有注意到 有做過這樣的分析的 希望可以給我點意見 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.112.183
chenchenkuo:我是沒看你的code 不過我的經驗是畫出來差不少喔 07/17 17:41
chenchenkuo:但是印象中SNR的"值"算出來沒差多少 07/17 17:42
chenchenkuo:我耍憨了 SNR都是用matlab算的= = 07/18 00:11
kk123:學長耍笨 <(>▽<)@m 07/18 09:43
fumihiro:建議先弄清楚DFT的基本原理,你就知道為何需要Fs 07/19 08:53