2026年6月29日 星期一

數位訊號SPI, MIPI RFFE走線需要阻抗控制嗎? 如果要設計到50Ω那接兩台設備就不是100Ω?

 

        身為一個資深RF工程師,在PCB設計階段Check List一定會有RF訊號走線必須要阻抗控制,無論是50Ω還是75Ω系統,最近在支援客戶的過程,突然被詢問到SPI需要阻抗控制嗎?  如果是一個Master掛兩個以上Slave的配置,那阻抗線是Master to Slave AMaster to Slave B都設計成100Ω,然後並聯起來變成50Ω?


        說實在之前沒想特別想過這個問題,之前射頻前端RFFE也跑到52MHz,線也是接起來能動就好,也沒特別想過要不要阻抗控制,這個是數位電路不是射頻電路,I/O端口輸入阻抗都是高組抗High-Z,假設發射端的內阻為RS,一般數位電路的驅動能力不會太強,因為RL很大,所以輸出端的電壓會直接透過分壓Vin*(RL/(RS+RL),源頭如果為1.8V輸入端偵測到的高電壓也會是1.8V


        以一個射頻老屁股的思維,電路學與射頻電路的差別,就是要把波動方程引入,訊號是由入射波與反射波的疊加組成,這時候在以上電路我們加入一個50Ω傳輸線,假設數位I/O的內阻為30Ω,輸入訊號為一個1ns寬度的單一脈衝波,入射波經過一個50Ω傳輸線電性長度為10ns

        訊號傳輸線輸入端V0因為RS 30 Ω與傳輸線50 Ω不匹配,這邊就會發生多重反射[1],入射電壓為1.12V的脈衝波,當訊號經過此傳輸線30cm 10nsHigh Z負載端,這個街面會在發生一次多重反射,因為為高組抗負載所以電壓會全反射與入射電壓疊加,所以會量測到兩倍的入射電壓1.12*2 = 2.24V

 

        此時訊號旅程還沒結束,從負載反射回來的訊號沿路返回,時間經過15ns的時候會在傳輸線中間觀察到1.12V脈衝電壓,然後在20ns的時候又回到發射源,此時又會在發生一次多重反射,但這次因為是50Ω傳輸線入射到30Ω的負載,所以反射波會是負號-0.28V,與入射的1.12V疊加變成0.84V,然後再來一次直到訊號淹沒到雜訊以下。


        很多的模擬工具可以協助圖形化這個結果,如下是用QUCS STUDIO的模擬結果,有興趣的可以下載下來自己實驗看看。

 

        以上這過程可能有一點點反直覺,輸出1.8V脈衝波到負載變成2.24V? 如果把RS負載驅動力變成100Ω那負載電壓VL只會剩下1.2V,這是為了方便舉例觀察所以用了大於訊號寬度的頻寬(1ns)的傳輸線,一般走線佈局傳輸線長度或延遲時間會小於脈衝寬度,所以在反射與入射波只會差一點點,影響只會在訊號的一開始與結束的時間點,看起來會像是”Damping”  ”Ringing”

         把原本的傳輸線從10ns延遲改成0.5ns下,輸出的RS分別為30Ω100Ω,原本30Ω在負載端會衝到2.24V會變成訊號上升的一小段時間,然後收斂到1.8V,訊號下緣部分會變成下衝到-0.45V,變成熟悉觀察到的波形樣子。

       

        有了以上的基礎認知,當訊號一開始從發射端送去,沿著阻抗為Z0=50Ω的傳輸線傳播,到接收端如果為阻抗匹配,這時候電壓會等於入射電壓,也就是為1/2*VS,但現在輸入端為高阻抗High-Z,所以與傳輸線阻抗50Ω相比會讓訊號接近全反射,輸入端VL電壓會疊加變成兩倍也就會等於VS

        但反射波會繼續延遲傳輸線傳導回發射端,阻抗匹配的目的是讓從負載端(Slave)反射到發射端(Master)完全被匹配,不再有多重反射的行為發生,在接收端就不會看到Damping or Ring的現像。

 

 

        以剛剛RS 30Ω的例子,我們可以在靠近輸出端串聯一個輸出電阻20Ω,把20Ω算成RS的一部分,所以負載電壓VL就可以觀察到一個與輸入訊號相差0.1ns的完美方波,但如果本來驅動就弱,所以會看到上昇時間讓類似RC充電變慢的波形,如果網路查可能會查到串聯電阻在22 ~ 33Ω之間,這個其實已經假設驅動能力的等校RS12Ω ~ 28Ω之間。

        如果是一個Master拖著兩個Slave那要不要阻抗線要不要更改,從上面整串流程看下來,如果傳輸線長度的延遲與訊號的週期的相近,是需要進行SI Signal Integrity訊號完整性的評估,這個當然包括傳輸線的阻抗,例如剛剛的案例如果接了兩個SLAVE,而且傳輸線長度並不等長,SLAVE ASLAVE B反射訊號會互相串擾,調整電阻其實很難兼故兩個負載訊號,下圖為傳輸線一個為0.5ns一個為2ns的場景。

 

        但如果是控制長度在一樣,這個調整電阻就可以一起調整整個調整會比較簡單,但回到實務點,例如MIPI RFFE 52MHz在接兩個以上SLAVE元件也沒考慮這麼多,隨便接也會動,這個問題還是在實際上走了多長的傳輸線,例如用TH=10ns, TL=10ns也就是等於50MHzClock Rate,走線上分別走了15cm 5ns30cm 10ns兩條線,實際上PCB版材介電係數為4左右,所以等校長度會等於PCB線上的7.5cm15cm

         如果什麼都不調整其實眼圖Eye Diagram看起來還是挺清楚的,當然還可以在對串聯電阻調整,可以得到一個比較平滑的曲線,但很多時候都會粗暴一點直接增加驅動能力,等校上也就是RS 電阻變小,例如從30Ω變成15Ω,這時候上昇與下降速度都會比較陡峭,也會有OvershootUndershoot的行為,這個對EMI/EMC會不友善,但大部分時候躲在屏蔽蓋裡面,問題也不大。



        所以SPI  or MIPI RFF要不要阻抗控制? 整個實驗做完其實答案是YES,但因為整個機制與射頻電路把全部阻抗都匹配到50Ω不同,數位訊號在意的是訊號完整性,並不一定要控制到50Ω,重點是整個佈局走線是否有考慮到訊號完整性與元件之間的互擾行為。

參考文獻

[1] 多重反射Multi Reflection : Z拆成Z1+Z2會有多重反射嗎? 換個角度計算串聯網路等校反射係數Γ

https://emilymacgyfu.blogspot.com/2021/07/multi-reflection-zz1z2.html

 

2026年1月1日 星期四

RF訊號最後你都要轉成數位訊號: 最後輸出給ADC訊號要多大?

        現代通訊系統最後都是轉成01的訊號,數位通訊系統最後關心就是Bit Error Rate  BER%,通訊上多少會有一些訊號掉包失真,但現代通訊都保留糾正碼,所以最後關心傳輸能不能成功只需要看BER(%),任何通訊系統都可以繪製BER(%) vs Eb/No [1],這個Eb/No本質上就是訊雜比SNR Signal to Noise Ratio,例如我們需要BER小餘10^-3,不同的調變訊號(Modulation)會有不同的Eb/N0 or SNR要求,例如16QAM需要的Eb/N011dB,如果調變提升到256QAM就需要拉高到18dB才能維持一樣的錯誤率。

        射頻系統每個子電路都是一個獨立的學問,但弄到最後無論是在處理發射與接收其實都可以簡化成訊號與雜訊比SNR,下圖為一個射頻接收系統方塊圖,中間經過了LNAMixer還有PLL本身的相位雜訊(Phase Noise)等等影響,但這些影響最後都是反應在最後出的訊雜比SNR_OUT

         有些朋友可能會想到,如果是濾波器還能說插損I.L.是在看訊雜比,但以射頻功率放大器PA來說不是要看線性度P1dB, IIP3, AMPM, 記憶效應Memory Effect等等線性度指標嗎? 不是只有看訊雜比吧 ?  功率放大器或射頻元件的線性度但想想最後失真是怎麼判定,就是訊號輸出So比上訊號輸入Si,長的不一樣的部分都可以把它當作雜訊加在原本的訊號上,所以本質上還是在看訊雜比。,

一張含有 文字, 螢幕擷取畫面, 圖表, 圖形 的圖片

AI 產生的內容可能不正確。

 

        以上都是在討論Analog類比訊號,但最後訊號處理都是要經過ADC採樣後變成數字訊號,討論ADC都會提到量化雜訊quantization noise :

SNR = 6.02N+1.76dB

NADCBIT數,所以簡單來說1 Bit ADC SNR6*1dB,如果是4 Bits ADC SNR就會到6*4=24dB [2],那這些數據到底要怎麼用說實在我還真的沒有想過?  往前一步是數位訊號,往後一步是類比訊號,但中間轉換要怎麼看呢?

實驗一:

         ADC在學校也是一門獨立的學科,看了很多也問了AI好像懂了,但又好像霧裡看花似懂非懂,這時候最好的方法那就是實驗觀察看看,工具部分原本選擇Python但最後還是選擇Excel,安裝Python還是有一點點門檻,Excel相對普及,這實驗的Excel檔案會放在雲端有興趣的朋友可以下載來自己觀察看看。

        我們用Excel模擬一個 3 BIT ADC電壓輸入與輸出範圍為0V ~ 2V,沒有功率的時候時候DC準位為1V,用IF()函數設定輸入與輸出電壓的範圍,以一個剛好掃滿ADC輸入的正弦波訊號,ADC採樣後會有一點點失真但整體還是能夠觀察出正弦波的樣子。

經過FFT轉後後計算整個ADC輸出的功率,這過程可以參考之前寫過如何計算FFT後的頻譜功率[3],這包含幾個參數:

1.      DC PW

2.      Signal PW

3.      Total PW

這裡不考慮DC功率,只需要考慮訊號功率Signal PWTotal PW,因為非訊號以外的功率就是雜訊功率:

1.      Noise PW : Total PW – Signal PW

這樣主角都有了,所以進行FFT轉換後輸出訊號功率Signal PW-2.6dBm,其他頻譜不包含DC部分定義為雜訊功率-25dBm,計算出來的訊號雜訊比為22.3dB,這個與理論值6*3+1.76 = 19.76dB相似。



實驗二:

        但現實訊號輸入訊號不可能是Noise FreeSNR_IN不可能為無限大,都會帶有背景噪聲或熱噪聲,利用Excel Rad()函數產生一個雜訊,輸入訊號訊雜比SNR_IN8.1dB,上面提到通訊系統到最後在意的是這一點,射頻工程師RF Link Budget計算把整體鏈路NF控制到一定程度8.0dB帶有餘量,但最後因為經過ADC SNR變差那不是搞了個寂寞嗎?

 



        到目前為主討論都是雜訊功率或是整個系統的NF影響,但是條件都是輸入訊號剛好頂到ADC輸入最大範圍(Full Scale),實際上訊號加雜訊有超過ADC一點,如實驗二 ADC_IN藍色訊號,但如果維持一樣的SNR_IN,訊號與雜訊都同步變小呢?

實驗三:

        維持SNR_IN把雜訊功率降低到-25dBm,這個是實驗一的輸出雜訊功率,預期上雜訊功率會有疊加的效果-25dBm +-25dBm = -22dBm,結果輸出雜訊為-20.1dBm比預期的高,輸出的SNR_IN訊雜比為3.9dB,此時代表訊號已經太小,ADC的量化雜訊已經影響了原本射頻訊號的品質。



 實驗四:

        我們把整個增益往上加到輸入雜訊功率為6dB ADC滿擺幅下的雜訊功率 -19dBm,射頻有幾個常用的功率相加值,例如兩個功率相差0dB相加會多3dB,,兩個功率相差 -6dB功率會增加1dB,兩個功率相差 -10dB功率會增加0.5dB,這個常出現在評估多出額外的雜訊整體雜訊功率會增加多少?  也就是常聽到的desense會惡化多少,一般來說會抓10dB也就是0.5dB內,鬆一點可能就放寬到1.0dB



小結:

         所以訊號經過RF Receiver後,Gain增益要足夠大到超過ADC的量化噪聲6dB以上,但訊號也不能太大讓ADC飽和,所以往上要考慮訊號的PAR Peak-to-Average RatioADC當然BIT越多越好,整體的量化噪聲會比較小,增益的範圍也會比較好控制,往上往下Margin都會拉開,但事情總是一體兩面,如果BIT數太多那整體的耗電與速度就會受到限制。

        對了這裡都是討論理想ADC BIT數情況下,ADC還有一個重要的指標ENOB等校位元數,實際8 BIT ADC可能等校的上只有6.5 BIT,後面附上幾篇我覺得不錯的文章,有興趣的朋友可以延伸閱讀。



參考文獻

[1] 林福林, 新通訊元件雜誌, 探討接收系統等效雜訊底層 26招功夫逐步破解雜訊指數https://www.2cm.com.tw/2cm/zh-tw/tech/4757840E932B4324BF92C1F446DD4DED

[2] Walt Kester, ANALOG DEVICES Application Note, MT-001 TUTORIAL, “Taking the Mystery out of the Infamous Formula, "SNR = 6.02N + 1.76dB," and Why You Should Care”

[3] MacGyFu Blog, “ 離散傅立葉轉換後頻譜功率計算: 負頻成分的考量 DFT/FFT Scale Factor 2/N or N for Spectrum Power Calculation?”.

https://emilymacgyfu.blogspot.com/2019/02/dftfft-scale-factor-2n-or-n-for.html

[4] Thomas Neu , TI Application Note, “ADC 雜訊指數如何影響 RF 接收器設計

[5] Blog, ADC quantization + thermal noise

https://dsp.stackexchange.com/questions/52646/adc-quantization-thermal-noise

[6] 實驗Excel連結 Google Drive

https://reurl.cc/laMabd

[7] 實驗Excel連結百度雲盤

链接: https://pan.baidu.com/s/17XZ-8FGrgWG5fWkGpMPP5g 提取码: dewc

 


2025年8月24日 星期日

GPS L5長時間積分雜訊平均掉? 快速傅立葉FFT轉換採樣點數Sampling Size與背景雜訊Noise Floor的關係

 

           GPS導航系統從2007年左右,隨著手機Nokia N95iPhone 3G陸續內建GPS系統,現在幾乎每一台手機都支援GPS系統,現在天上的衛星系統有中國BeiDou, 歐洲Galileo, 俄羅斯Glonass等等,所以一般會說GNSS全球衛星導航系統(Global Navigation Satellite System),這幾年衛星導航也陸續的演進 [1],其中文章中提到L5頻段:

“L5訊號支持長時間積分,有利於在遮擋或弱訊號情況下對訊號進行捕獲跟踪

 GPS追蹤靈敏度一般能低到-166MHz per 2MHz,這個跟射頻發射TX端有點不太一樣,訊號已經低到頻譜分析儀直接量測會有一種訊號有沒有開的疑惑?

        GPS通訊與CDMA一樣只用展頻通訊,所以在接收數據處理會得到一個轉換增益Gp,例如一般GPS資料量為50bps會被打散到1.024MHz,頻譜會被展開兩倍,所以實際上GPS資料經過處理會再加上:

        Gp = 10*log(1.023M/50)= 43dB

這個是數位訊號處理過程把訊號雜訊比SNR中的S變大,但這個與時間沒有關係,那為什麼GPS很多文獻[1][2]都特別提到長時間積分能夠增加靈敏度,長時間積分能把N雜訊變小嗎?

 

傅立葉轉換FFT

            數位訊號處理DSP真的很神奇,真實的環境我們其實只能感受到時域(Time Domain)的訊號,但透過一些數位訊號處理例如傅立葉轉換FFT就會看到一些藏在雜訊裡面的資訊,例如以下的訊號其實包含了一個正弦波,但我想這個用肉眼怎麼都觀察不出來,但透過FFT就可以觀察出來其實訊號裡面藏了一根正弦波。

        但如果訊號振福在小一半6dB?  即使經過FFT訊號還是會低到難區分出來是雜訊還是訊號,剛剛的是用256點的採樣數據進行的FFT結果,如果把採樣點數增加呢? 注意這裡是採樣點數(Sampling Size)不是採樣率(Sampling Rate)

傅立葉FFT 平均

        如果採樣率(Sampling Rate)不變,但採樣的點數(Sampling Size)變大,訊號本身振福也不變的情況下,可以看到訊號本身沒有變化,但隨著採樣點數變大雜訊變低了,有沒有雜訊被平均掉的感覺阿?

 

後續未完

        其實最後雜訊並沒有變小,但單位雜訊變小了,例如常聽到的常溫下的背景雜訊為-174dBm/Hz, 但並沒有人說Hz是最小頻率單位,還可以再切下去,所以很小的訊號就可以露出來,但這個訊號必須是連續不間斷例如是Pilot Signal或換各說法是data rate很低,這也才符合Shannon Capacity,這或許是L5能支援長積分的理由之一,但論文數學很多,這個有點超過我的負荷,之後有讀到什麼心得再說了可能沒有下次但可能有^^

Shannon Capacity: C= Blog₂(1+S/N)

 

參考文獻

[1] Spirent Support 思博技術中文, “GNSS技術實務 - 測試GPS L5你應該知道的那些事

[2] Chin Lok Tsang, Yiran Luo, Bing Xu, and Li-Ta Hsu , “C/N0 Assessment Based on GPS L5/L1C/A Signal Acquisition in Open-Sky/Light-Urban/Dense-Urban/Indoor Environments with Extended Coherent Integration Time”, Journal of Aeronautics, Astronautics and Aviation, Vol. 55, No. 2, pp. 169 – 184 (2023)

[3] 離散傅立葉轉換後頻譜功率計算: 負頻成分的考量 DFT/FFT Scale Factor 2/N or N for Spectrum Power Calculation?

https://emilymacgyfu.blogspot.com/2019/02/dftfft-scale-factor-2n-or-n-for.html

[4] 從零開始學習筆記: TWS+ ANC 真無線與主動式降躁藍芽耳機,複習一下訊號與系統之FIR Filter

https://emilymacgyfu.blogspot.com/2019/12/tws-anc-fir-filter.html

 

熱門文章