[討論] 頻域訊號轉換至時域訊號

看板MATLAB作者 (水晶)時間10年前 (2013/07/19 18:27), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
最近在寫頻域訊號轉換到時域訊號的程式 結果不如預期,想請教一下大家 我用hfss模擬傳輸線的特性 x軸為頻率訊號2GHz~20GHz共901點,y軸為複數形式 我利用ifft想把它轉換成時域形式,但結果與hfss的時域圖相差甚遠 以下是我的程式碼 %讀取excel中的起始頻率(sf)、截止頻率(stf)、資料點數(M)、參考阻抗(TDR) %計算頻寬(bw)、頻率變動量(df)、時間變動量(dt)、頻率901點(F) %資料點實數部分(ra)、資料點虛數部分(ia) clear,clc fs11 = importdata('fs11.xls'); sf = fs11.data(1,1); stf = fs11.data(2,1); M = fs11.data(3,1); bw = stf-sf; df = (bw)/M; dt = 1/(2*(bw)); Ref = fs11.data(4,1); F = (fs11.data(2:902,4))*10^9; ra = fs11.data(2:902,5); ia = fs11.data(2:902,6); %頻域計算部分 Mag = 10*log(sqrt(ra.^2+ia.^2)); %轉換時域部分 t = linspace (0,dt*M,M); s11 = ra+(ia*1j); c = real(ifft(s11)); %TDR計算部分 TDR=Ref*((1+c)/(1-c)); %繪圖部分 subplot(311) plot(F,Mag); title('sdd11 (Frequency Domain)') xlabel('Frequency') ylabel('dB') subplot(312) plot(t,c); title('sdd11 (Time Domain)') xlabel('Time') ylabel('none') subplot(313) plot(t,TDR); title('TDR') xlabel('Time') ylabel('Ohm') 最後附上我慘烈的比較圖:http://ppt.cc/WbW0 麻煩大家了 !! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.96.45.66 ※ 編輯: jackie5229 來自: 120.96.45.66 (07/19 18:30)

07/19 22:40, , 1F
印象中用FFT去做CFT的近似好像要平移過= =有點忘了
07/19 22:40, 1F

08/07 21:34, , 2F
IFFT的輸入每點頻率差要相同,你的沒有DC到IF的頻率,一定錯
08/07 21:34, 2F

08/07 21:35, , 3F
也就是沒有DC-2G的頻率,我想一般RF軟體計算都有用技巧去處
08/07 21:35, 3F

08/07 21:35, , 4F
理,類似上變頻下變 頻之類的...直接給中間一段不能直接IFFT
08/07 21:35, 4F
文章代碼(AID): #1HwHIgYL (MATLAB)