來看看,你需不需要這門接收機設計課程吧(已更新七次)。
如有需要,現在仍然可以報名。
(1)
上周,把射頻微電子中的數字調制部分給過了一遍,給自己掃了一下盲。
昨天,在更完公眾號后,就開始忙仿真。說實話,在動手之前,我是信心滿滿。
心里是這樣打算的,仿真驗證分三步走:
-
純射頻層面,純射頻概念的驗證,這是目前課程中已經完成的部分
-
純射頻層面,數字調制的驗證,這是昨天打算做的工作。
-
以第2點的結果作為參考,進行數字層面,數字調制的仿真。
(2)
在ADS里面,有關于星座圖和EVM計算的公式。分別是constellation(),const_evm(),evm()。
仿真模版,是基于ADS以前版本上的designguide(目前新版本已經刪掉)。
雖然模版是舊的,但是里面的函數都是有效的。而且感覺這些函數,對射頻人員很友好。
他們的輸入信號,都是從射頻鏈路中節點處讀取的電壓數據。不用DF控件,也不用考慮聯合仿真。一樣的射頻電路,把對應節點的數據添加進去,就可以。
(3)
在模板上,是RF_Freq>LO_Freq,所以,在選擇Vfund_out的時候,選擇的是{-1,1}。
剛開始,我也只是把RF_Freq和LO_Freq按照我鏈路的實際值,代入了進去。雖然RF_Freq是小于LO_Freq的,我也沒有改mix{-1,1}這個部分,心里想著,雖然是負值,但是咱們射頻上,一般也不太講究,先試試看再說。
仿了一下,EVM結果不錯。
然后又回到原理圖,想著還是把mix{-1,1}改成mix{1,-1}吧。然后結果一出來,懵了,EVM的值直接飛了。
(4)
我的第一反應,是看這些函數的help文件。不過瞄了幾眼,沒能看出啥子道道來。不過,在const_evm()的help文件中,有這樣一段話。
于是,我就把這個工程文件打開,把它上面的計算EVM的dds文件拷到我現在的工程文件夾下。
看了一下dds上面的公式,它計算EVM的時候,大概分了下面幾個步驟:
-
基于理想輸入信號,計算出理想的星座圖
-
基于鏈路輸出信號,計算出輸出的星座圖
-
計算出兩個星座圖之間的幅度差別
-
計算出兩個星座圖之間的相位差別
-
對輸出的星座圖,進行幅度和相位校正,計算出校正后的星座圖
-
基于理想星座圖和校正后星座圖,計算出EVM。
模版給的信息量挺大,看完后,收獲也頗豐。然而,算出來的EVM還是很差。
(5)
沒辦法,然后我在help文件上面,還看到了這樣一條信息。
于是,我又去相應的文件夾下,去看這個ael文件。
這個ael文件里,包括了constellation()等函數的內部計算方法。
我憑著本科的那些java功底,和我還算可以的英文水平,勉勉強強地讀出個意思。
constellation()里面有幾個if else,不過我們只用其中的一個if,然后用到的主函數大概是這個。
沒看出來,為啥會引起這個EVM的大變化。
然后又看了一下const_evm()下面的內容,感覺流程和上面dds模版中的差不多。
(6)
昨天晚上搞到8點多,也沒搞出個所以然來。今天早上再坐到電腦前,把envelope的stop從小慢慢加。
發現,當mix選擇的是{-1,1}時,也就是IF=-LO_Freq+RF_Freq時,Vfund_in和Vfund_out出來的星座圖的變化趨勢是一樣的,
但是原理圖上其他啥也不改,只是將mix{-1,1}改為{1,-1},即中頻為LO_Freq-RF_Freq。出來的星座圖,發現變化趨勢都是相反的,當仿真的符號數增加的時候,IN是逆時針變化,OUT是順時針變化。
(7)
所以,這是鏡像了?
從頻譜上看,頻率高低不同的話,確實頻譜是鏡像的。
是因為這個原因么?
當EVM不好的時候,我把VFund_out取了一下共軛,結果確實是變好了。
不過我不是很確定啊!
(8)
-
仿真
+關注
關注
50文章
4073瀏覽量
133556 -
函數
+關注
關注
3文章
4329瀏覽量
62575 -
EVM
+關注
關注
3文章
872瀏覽量
41042
原文標題:EVM,嗖的一下,就飛了
文章出處:【微信號:加油射頻工程師,微信公眾號:加油射頻工程師】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論