2020年11月29日 星期日

Octave的log

最近在嘗試用Octave取代工程用計算機,結果有次計算時發現結果很奇怪。

log(10)

ans = 2.3026

照理說應該ans是1才對

 

後來才知道Octave的log是以e為底數,與工程計算機有所不同

若要以10為底數,程式要改成如下所示 

log10(10)

這樣算出的結果就是1

 

2020年11月22日 星期日

判斷放大器是否穩定的兩種方法

要得知放大器是否穩定,有不少人會選擇用Rollet's condition來判斷,這種方法是由John Rollett於1962年提出的,論文題目為"Stability and Power-Gain Invariants of Linear Twoports"

根據Rollet's condition,要滿足以下兩式才是無條件穩定



 

 

 

第二種是比較新的方法,只要μ值大於1即是無條件穩定,此方法的由來為1992年出版的論文"A new criterion for linear 2-port stability using a single geometrically derived parameter"


 

 

 

順帶一提,ADS中的Mu功能即是此μ


2020年11月21日 星期六

不建議使用電阻進行阻抗匹配的原因

大多數的微波工程教材中,都很少用電阻來進行阻抗匹配,不過好像也沒說為何不用電阻。

後來我查了幾篇論文,才知道這種匹配方式會消耗大量功率,因此不建議使用,除此之外也會增加不少雜訊,因此不適合用於低雜訊放大器(LNA)



參考資料

具抑制頻寬外增益功能之帶斥特性超寬頻低雜訊放大器與2.5-11GHz主動式寬頻匹配超寬頻低雜訊放大器 

A 1.5-V, 1.5-GHz CMOS low noise amplifier

2020年11月8日 星期日

HFSS設置Lump Port的方法

下圖是一個有一段傳輸線,且背面為接地面的電路板,這次將以此為範例來設定Lump Port

本次示範版本為HFSS 13.0








 

首先在電路板的邊緣處畫一個長方形,這個長方形上方與傳輸線相接且下方與接地面相接,寬度與傳輸線相同。


 

 

 

 

 

 

 

 

接著於該長方形上點滑鼠右鍵,選擇Assign Excitation/Lumped Port...














 

接下來會跳出一個視窗讓你選port的阻抗,通常保持50 Ohm的預設值即可直接按下一步














 

接下來將Integration Line的地方由原本的None改為New Line...,再按下一步















接下來在剛才畫的長方形上由接地面至傳輸線畫一條面










 

 

完成後會跳出原本的設定視窗,此時Integration Line已變成Defined,然後按下一步











 

最後會再讓你選一次Port的阻抗,若不需改變直接按完成即可



2020年11月1日 星期日

透過軟體或網路分析儀求出負載阻抗(Load Impedance)的方法

本文以ADS示範,但現今大多數的網路分析儀或電路模擬軟體都有可觀看史密斯圖的功能,所以此方法應該也可於其它軟體或實際測量電路時使用。

假設有一個電路如下圖,對於port 1而言,要如何於模擬或測量時求出於1 GHz之負載阻抗 

 註:本文雖然用一個很簡單的電阻電感串聯電路當示範,但根據我的經驗,無論多麼複雜的電路皆可用同方法測量,也適用於主動電路。


 

 

 

先直接計算可得出ZL = R + jωL = 77 + 50 + 361.911j =  127 + 361.991j(注意port 2本身也有50 Ω之電阻

最後由測量出的史密斯圖得知 ZL = (2.54 + 7.238j)*50 = 127+361.9j,與計算結果相符



2020年10月31日 星期六

HFSS的RLC設置方式

 大概是因為HFSS通常用於設計天線的緣故,似乎很少人會用到此功能

其實要在HFSS中加入RLC是一件很簡單的事

如下圖,在傳輸線之間的空缺處畫一個sheet(注意sheet兩端要連到傳輸線邊緣),並在此sheet上點滑鼠右鍵Assign Boundary/Lumped RLC,這樣該sheet就相當於一個RLC了

 


2020年10月26日 星期一

解決ADS匯入dwg或dxf時找不到layout.lay的問題

 ADS匯入dwg或dxf時,有時會出現"Layers file 'layout.lay' does not exist"的錯誤訊息


 

 

 

 

 

 

 

其實該檔案可由ADS產生

 由Option/Layers開啟Layer Editor,然後點選"Save...",就能產生layout.lay


 

 

 

 

 

 

 

2020年9月25日 星期五

轉換Z參數與S參數

 最近找到一個可以轉換S Y Z參數的網頁

https://www.daycounter.com/Calculators/S-Y-Z-Parameter-Converter-Calculator.phtml

 

為了驗證此網頁是否正確,因此我將此網頁與ADS的模擬進行對照

下圖為本次範例電路

此電路為ADS提供的濾波器範例,具有對稱性


 

 

 

 

 

 

 

 

 

此為模擬結果,Z11 = Z22 = 0+125.671j,Z12 = Z21 =0+136.331j,S11 = S22 = 0.008-0.02j,S12 = S21 = 0.921+0.388j

 最後與該網頁計算結果做比較,與ADS模擬結果一致


 

 

2020年5月30日 星期六

電長度(Electrical length)與物理長度的意義

本文大概說明一下電長度(Electrical length)與物理長度的意義,以及兩者之間的關係。
電長度=物理長度/波導波長(λg)
所以當一條傳輸線長度為0.5λg,代表這條傳輸線的長度相當於電磁波在此線上之波長的一半

除此之外,某些教科書上可能會有"電長度為180°"這種用角度表示的方式
這種方式就只是將長度(l)乘上相位常數(phase constant, β)而已
因為傳輸線上的電磁波之波長如下
λ = 2π/β,此處之π視為180°
因此0.5λ*β = (0.5λ)*(2π/λ) = 1π = 180°

請注意λg為電磁波在傳輸線(波導)裡的波長,而非真空中的波長,因此直接用光速除以頻率來算波長是不準確的,最好還是用電磁模擬軟體之類的工具來求出會比較準。
 
關於微帶線的波長計算方式,可參考微帶線的電磁波波長與電長度

2020年4月10日 星期五

Ubuntu開機出現錯誤訊息的解決方法

近日有次Ubuntu開機失敗,出現以下錯誤訊息

fsck from util-linux 2.26.2
/dev/sda1 contains a file system with errors, check forced.
/dev/sda1: Inodes that were part of a corrupted orphan linked list found.

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
       
fsck exited with status code 4
The root filesystem on /dev/sda1 requires a manual fsck

Busybox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built in shell (ash)
Enter 'help' for a list of built-in commands.



從訊息來看是/dev/sda1有問題,其實解決方法很簡單


輸入fsck指令即可
fsck /dev/sda1
 
過程中會多次詢問是否要修復,直接回答y(yes)就行了
修復完後可能需要自行重開機



2020年1月3日 星期五

ADS出現錯誤訊息"....since no citi files could be found"的解決方法

ADS模擬結果有時會出現"Could not create the dataset since no citi files could be found."之錯誤訊息
推測這是因為CPU核心太多導致,較舊版的ADS可能不支援八核心CPU

解決方法
1.先開啟ADS

2. 在工作管理員的"詳細資料"中找到"hpeesofemx.exe",點滑鼠右鍵並選擇"設定親和性"〈如下圖〉
























3.減少CPU核心數



















如此一來應該就沒問題了


重開ADS後,以上步驟皆可能要重新進行