tft每日頭條

 > 生活

 > 數字信号失真是什麼意思

數字信号失真是什麼意思

生活 更新时间:2024-06-16 00:07:37

本文介紹ADI ADRV9002的數字預失真(DPD)功能。所用的一些調試技術也可應用于一般DPD系統。首先,概述關于DPD的背景信息,以及用戶試驗其系統時可能會遇到的一些典型問題。最後,文章介紹在DPD軟件工具幫助下可應用于DPD算法以分析性能的調優策略。

簡介

數字預失真(通常稱為DPD)是無線通信系統中廣泛使用的一個算法。DPD旨在抑制通過射頻功率放大器(PA)傳遞寬帶信号上的頻譜再生,從而提高PA的整體效率。一般而言,在處理高功率輸入信号時,PA會出現非線性效應和效率不高的問題。由于頻譜再生,相鄰頻帶出現非線性效應和頻譜幹擾。圖1顯示在ADRV9002平台上使用TETRA1标準進行DPD校正之前和之後的頻譜再生。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)1

圖1.使用ADRV9002的TETRA1 DPD

ADRV9002提供經過功率優化的内部可編程DPD算法,該算法可自定義,以校正PA的非線性效應,從而提高整體鄰道功率比(ACPR)。盡管DPD能夠為通信系統帶來預期的優勢,但缺乏經驗的人員開始使用DPD時往往困難重重,更别提正确設置了。這主要因為數字預失真涉及多個因素,可能會導緻誤差,而降低DPD性能。實際上,即使在正确設置硬件後,要确定正确的參數以微調DPD并獲得最優解決方案,仍可能具有挑戰性。本文旨在幫助在ADRV9002中使用DPD選項的工程師,以及提供一些使用可用參數微調DPD模式以獲得最優DPD性能的一般策略。此外,還使用MATLAB®工具幫助用戶分析DPD,并消除常見錯誤,同時提供有關内部DPD操作的一些見解。

啟用DPD選項時,ADRV9002可提供高達20MHz的信号帶寬。這是因為接收帶寬限制在100MHz。DPD通常将以發射帶寬5倍的接收帶寬工作,因此可以看到和校正三階和五階交調信号。ADRV9002支持的最高PA峰值功率信号約為1dB(通常稱為P1dB)壓縮區。該指标表示PA壓縮的程度。如果PA壓縮超過P1dB點,則無法保證DPD正常工作。但是,這個要求并不嚴格;在許多情況下,DPD在超過P1dB點時依舊能夠工作,并且仍然提供非常出色的ACPR。但這要具體問題具體分析。一般而言,如果壓縮得太嚴重,DPD可能會出現不穩定和崩潰的問題。在後面,将詳細讨論壓縮區,包括如何使用MATLAB工具觀察當前PA壓縮狀态。

有關DPD的更多詳細信息,請參見UG-1828的“數字預失真”章節。

架構

執行DPD功能有兩種基本方法。第一種方法稱為間接DPD,即在PA前後捕捉信号。與之不同的是直接DPD方法,即在DPD模塊前和PA後捕捉信号。每種方法的優勢和劣勢不在本文章的讨論範圍内。間接DPD通過分析PA前後的信号了解其非線性特性,并在DPD模塊上執行反轉。直接DPD分析DPD前和PA後的信号,并通過在DPD模塊上應用預失真,消除二者之間的誤差。用戶應該了解,ADRV9002使用的是間接方法以及與之相關的影響。另外,請務必了解,在使用MATLAB工具時,捕捉數據也是采用間接方法。

圖2顯示了ADRV9002的簡化DPD操作方框圖。輸入信号u(n)進入DPD模塊。DPD将對信号進行預失真處理,并生成x(n)。在這裡,稱之為發射捕捉,不過這實際上是發射信号的預失真版本。然後,信号經過PA,成為y(n),信号最終發送到空中。這裡将y(n)稱為接收捕捉,不過這實際上是PA後的發射信号。然後,y(n)反饋到接收器端口,用作觀察接收器。本質上,DPD引擎将使用捕捉的x(n)和y(n),然後生成系數,在DPD的下一次疊代中将應用這些系數。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)2

圖2.間接DPD的簡化方框圖

工作模式

ADRV9002在DPD上支持TDD和FDD操作。在TDD模式下,每個發射幀都會更新DPD。這意味着,在發射幀期間,接收器将充當觀察路徑。在FDD中,由于發射器和接收器同時運行,因此需要專用接收器通道。ADRV9002中的2T2R能夠在2T2R/1T1R TDD和1T1R FDD模式下支持DPD。

DPD模式

結構

以下等式顯示在發射路徑中實現的DPD模式。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)3

其中:

u(n)是DPD的輸入信号,x(n)是DPD的輸出信号

T是DPD模式的總分支數

ψt是用于實現分支t查找表(LUT)的多項式函數,lt是幅度延遲

kt是數據延遲

at,lt,i是DPD引擎計算的系數

bt,lt,i是啟用或禁用項的開關

i是多項式項的指數和幂

用戶可為每個分支配置多項式的項數量。ADRV9002提供3個記憶項分支和1個交叉項分支,每個分支的階從0到7。

模式選擇

用戶可選擇ADRV9002提供的默認模式選項(如圖3所示),該模式應該适合大多數常見應用。或者,用戶可通過啟用和禁用項,選擇自己的模式。前3個分支(0到2)表示記憶項,其中分支1是中心分支。分支3是交叉項分支。

注意,為了與記憶項分支區分,分支3(或交叉項分支)不應啟用零階項。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)4

圖3.DPD模式多項式的項

u LUT大小:用戶可設置LUT大小。ADRV9002提供兩個選項,256和512。選擇512大小,用戶将獲得更好的量化噪聲電平,從而獲得更好的ACPR,因為一般而言,較大的尺寸将提供更好的信号分辨率。對于窄帶應用,ADI建議使用512作為默認選項。256可用于寬帶,因為噪聲電平不那麼嚴格,并且可以改進計算和功率。

u 預LUT縮放:用戶可設置預LUT縮放模塊,以便對輸入數據進行縮放,使其更适合壓縮擴展器。壓縮擴展器選擇來自發射器的信号,對其進行壓縮,以适合8位LUT地址。根據輸入信号電平,用戶可調整該值,以優化LUT利用率。其值可以在(0,4)的範圍内設置,步長為0.25。在本文的最後一個部分,提供了更多有關壓縮擴展器的内容。

配置

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)5

圖4.啟用DPD的基本配置

為了執行DPD,用戶将必須在PA上啟用外部環回路徑,然後設置反饋功率,以确保其未超出範圍。注意,這是峰值功率,不是平均功率。功率太強或者太弱都會影響DPD性能。用戶還需要設置外部路徑延遲,可使用External_Delay_Measurement.py獲取。用戶可在IronPython文件夾下的ADRV9002評估軟件安裝路徑中找到該腳本。

注意,隻需為高采樣速率曲線設置外部延遲(例如,LTE 10MHz)。對于低采樣速率曲線(TETRA1 25kHz),用戶可将其設置為0。在本文的後面部分,将使用該軟件工具來觀察捕捉數據,以了解外部延遲的影響。

其他配置

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)6

圖5.DPD上的其他配置

用戶可配置樣本數量。默認情況下,用戶可設置4096個樣本。建議使用默認值。在大多數情況下,默認的4096個樣本将為DPD提供最優解決方案。

u 其他功率縮放是更高級的參數。在大多數情況下,建議對ADRV9002使用默認值4。該參數與内部相關矩陣有關。根據實驗,默認值為ADI測試的現有波形和PA提供最佳性能。在少數情況下,如果輸入信号幅度極小或極大,用戶可嘗試将該值調整成較小和較大的值,以使相關矩陣維持适當的條件數,從而獲得更穩定的解決方案。

u Rx/Tx規範化:用戶應将接收器/發射器規範化設置為數據呈線性的區域。在圖6中,線性區域用紅色顯示。在該區域,數據的幂沒有到達壓縮區,并且足夠高,可用于計算增益。選擇該區域後,DPD可估算發射器和接收器的增益,然後繼續對算法進行進一步處理。在大多數情況下,-25dBFS至-15dBFS應适合大多數标準PA。但是,用戶仍然應該留意,因為特殊PA可能具有截然不同的AM/AM曲線形狀,在這種情況下,将需要進行适當的修改。本文後面部分将對此進行詳細說明。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)7

圖6.典型AM/AM曲線。線性區域用紅色顯示

設置

硬件設置

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)8

圖7.典型DPD硬件方框圖

典型設置如圖7所示。在信号進入PA之前,需要低通濾波器,以防止出現LO信号諧波。在某些情況下,如果内部LO相位噪聲性能無法滿足應用需求,則可能需要外部LO。在這種情況下,外部LO源需要與DEV_ CLK同步。近帶噪聲要求更嚴格的窄帶DPD通常需要外部LO。通常建議在PA前提供一個可變衰減器,用于防止對PA造成損害。反饋信号應具有适當的衰減,以便按照上一部分中讨論的方式設置峰值功率。

軟件設置

IronPython

下載IronPython庫,以便在GUI上執行IronPython代碼。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)9

圖8.IronPython GUI窗口

在這裡,用戶可以在GUI的IronPython窗口中運行dpd_capture.py,如圖8所示,它與MATLAB工具一起提供,以獲取發射器和接收器的捕捉數據。DPD采樣速率也包含在捕捉的文件中。

注意,該腳本應在啟動或校準狀态下運行。

MATLAB工具

MATLAB工具分析從dpd_capture.py中捕捉的數據。該工具将幫助檢查信号完整性、信号對齊、PA壓縮水平,最後是DPD的微調。

MATLAB工具需要MATLAB Runtime。首次安裝需要一些時間下載。安裝完成後,用戶可加載IronPython腳本捕捉的數據,然後觀察圖形,如圖9所示。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)10

圖9.MATLAB DPD分析儀

此外,用戶還可設置數據規範化的高/低阈值,然後按“重新加載”以查看變化。

首先,在時域中繪制規範化的發射器和接收器數據。用戶可以放大圖形來觀察發射器和接收器的對齊狀态。這裡隻顯示了數據的實部,但用戶也可輕松繪制虛部。實部和虛部通常應該對齊或不對齊。

然後是發射器和接收器頻譜——藍色是發射器,紅色是接收器。注意,這是間接DPD——發射器數據将是預失真數據,而不是SSI端口上的發射器數據路徑。

接下來,有兩條AM/AM曲線,這兩條曲線均在線性和dB坐标系中。這些是有關DPD性能和PA壓縮狀态的重要指标。

AM/PM曲線和接收器/發射器相位差也會被提供。

此外,還有高阈值和低阈值數字。這些數字應該與ADRV9002 TES評估軟件中的設置相匹配。

注意,由于提供了API來捕捉數據,因此如果需要,用戶可以開發自己的圖形和分析模型。該工具提供用于分析DPD的一些常見檢查。API包括:

adi_ADRV9002_dpd_CaptureData_Read,這是讀取DPD捕捉數據,必須在校準或啟動狀态下運行。

adi_ADRV9002_DpdCfg_t → dpdSamplingRate_Hz,這是DPD采樣速率,是隻讀參數。

典型問題

DPD可能受許多不同因素的影響。因此,請務必确保用戶考慮并檢查了列出的所有潛在問題。在考慮所有問題之前,用戶應确保硬件正确連接。

發送數據過載

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)11

圖10.DPD的簡化硬件方框圖

圖10顯示了ADRV9002實現DPD的簡化示意框圖。來自接口的發射器數據可能會使DAC過載。如果DAC過載,發射器的RF信号在PA介入之前就已失真。因此,請務必确保發射器數據不會使DAC過載。

用戶可通過GUI觀察發射器DAC是否過載。圖11顯示TETRA1 25kHz波形。峰值與數字滿量程仍相距甚遠。對于ADRV9002,建議與滿量程至少保持幾dB,避免導緻DAC過載。很難量化用戶應該回退多少——這是因為DPD将嘗試執行預失真,預失真信号将為“峰值擴展”,因而可能會導緻DAC過載。這取決于DPD如何應對特定PA——一般而言,PA壓縮得越厲害,所需的峰值擴展空間就越大。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)12

圖11.時域中的一部分TETRA1标準波形

接收器數據過載

另一個常見錯誤是接收器數據導緻反饋DAC過載。造成該錯誤的原因是,沒有足夠的衰減返回到接收器端口。這可以從調試工具中觀察到,造成的影響是接收器數據被裁剪,因此,發射器和接收器無法有效對齊,導緻DPD出現計算錯誤。DPD通常會表現得非常糟糕,從而使整個頻譜中的噪聲增加。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)13

圖12.接收器數據過驅

接收器數據欠載

與接收器過載相比,這個問題常常被忽視。造成該問題的原因是,沒有正确設置反饋衰減。用戶可能給反饋路徑提供過多的衰減,這導緻接收器數據太小。默認情況下,建議對ADRV9002使用-18dBm峰值,因為它能夠将數據從模拟轉換為數字,達到已知良好的DPD功率電平。但用戶可以根據需求調整該數字。用戶應該了解,DPD反饋接收器使用的衰減器與常規接收器不同,其步長更高。衰減水平通過用戶設置的峰值功率電平進行調整。-23dBm是最低功率電平(0衰減)——如果超出該範圍,将得到低功率電平,這會影響DPD性能。根據經驗,用戶應确保始終正确測量和設置反饋功率。很多時候,用戶往往會嘗試不同的功率電平,但忘記正确設置反饋功率,從而導緻該問題。

TDD與FDD

TDD模式下的DPD必須在自動狀态機中運行。使用TES進行評估時,在手動TDD模式下,用戶仍可啟用DPD,但性能會很差。這是因為DPD隻能基于幀工作。在手動TDD模式下,幀的長度将由發射/接收啟用信号切換來确定。換言之,每次播放和停止就是一個幀。但是,在人工切換的時間内,PA已轉變為不同的溫度狀态。因此,如果不使用可以頻繁切換發射啟用信号的自動TDD模式,将無法維持DPD狀态。然而,在FDD模式下,DPD應正常進行。

例如,用戶可能希望使用TETRA1,它遵循類似TDD的幀方案(實際上是TDM-FDD)。因此,不應該直接選擇TDD模式并手動檢查DPD,并且DPD往往表現糟糕。相反,用戶可以使用“定制FDD”配置文件,選擇與TETRA1相同的采樣速率和帶寬,或者用戶可以設置TETRA1 TDD幀定時,并使用自動TDD模式。這兩種方法都可以提供比手動TDD更好的性能。

發射器/接收器未對齊

ADRV9002将嘗試對齊發射器和接收器數據的時間。當用戶捕捉到數據時,用戶期望數據是對齊的。延遲測量在初始校準時完成。但是,對于高采樣速率曲線,需要單獨完成更精确的子樣本對齊。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)14

圖13.未對齊的DPD捕捉

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)15

圖14.放大LTE10的發射器和接收器實部數據(未對齊)

DPD是自适應算法,需要計算兩個實體(即發射器和接收器)的誤差。在計算發射器和接收器的誤差之前,需要正确對齊這兩個信号——尤其是在使用高采樣速率曲線(例如,LTE10)的情況下。對齊至關重要,因為樣本之間的間隔非常小。因此,用戶需要運行腳本External_Delay_Measurement.py來提取外部路徑延遲。可在“闆配置”→“路徑延遲”下方輸入該數字。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)16

圖15.IronPython外部延遲測量

如果未對齊發射器和接收器數據,造成的影響是用戶将觀察到噪聲更大的AM/AM曲線。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)17

圖16.對齊的DPD捕捉

設置了路徑延遲數字後,可以觀察到,AM/AM和AM/PM曲線更幹淨,噪聲更小。相位差也明顯減小。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)18

圖17.放大的LTE10發射器和接收器實部數據(對齊)

PA過載

每個PA對于能夠處理的壓縮程度都有自己的規範。雖然數據手冊中通常提供P-1dB數據,但實際上,仍建議對DPD進行準确測量,以确保壓縮點位于P-1dB。通過DPD軟件,用戶能夠查看基于捕捉數據的AM/AM曲線,從而觀察壓縮點與P-1dB的接近程度。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)19

圖18.PA過載數據

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)20

圖19.以dB為單位呈現的AM/AM曲線(已放大)

但是,如果信号超出P-1dB,這可能會導緻DPD不穩定,或者甚至中斷,頻譜跳轉到非常高的電平,再也不會降下來。在圖19中,峰值時的壓縮遠超出1dB區域,曲線的形狀也開始變得更平坦。這表示PA被過驅,為了增加輸出功率,将提供更多輸入,以支持輸出功率電平。此時,如果用戶決定繼續增加輸入功率,DPD性能将下降。

一般策略模式選擇與調整

間接DPD就是在PA前後捕捉數據,而DPD引擎将嘗試模拟PA的相反效應。LUT用于使用系數應用該效應,該模式基于多項式。這意味着,DPD更像是曲線拟合問題,用戶将嘗試使用各項來“曲線拟合”非線性效應。區别在于,曲線拟合問題拟合的是單個曲線,而DPD還必須考慮記憶效應。ADRV9002有3個記憶分支,和1個用于對DPD LUT進行建模的交叉分支。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)21

圖20.記憶項和交叉項映射

圖20顯示ADRV9002提供的3個記憶分支和1個交叉分支。一般策略與曲線拟合問題類似。用戶可從基線着手,然後添加和移除項。一般而言,中心分支必須存在(分支1)。用戶可以逐個添加和移除項,以測試DPD的效應。然後,用戶可以繼續添加兩個記憶分支(分支0和2),以添加記憶效應校正的效果。注意,由于ADRV9002有兩個側分支,因此這些分支應該相同——也就是,應該對稱。此外,添加和移除項時,必須逐個操作。最後,用戶可以試驗交叉項。交叉項從數學的角度完成曲線拟合問題,因而提供更好的DPD性能。

注意,用戶不得通過将項留空來跳過項,因為這将導緻DPD出現不良行為。另請注意,用戶不得在交叉項分支上設置第0項,因為從數學的角度來看,這也是無效的。

圖21.無效的模式項設置

高級調整

壓縮擴展器和預LUT縮放模塊

在上一部分中,已提到了壓縮擴展器。首次閱讀用戶指南時,這一概念可能會令人困惑,不知道它是什麼意思或者該選擇什麼(256還是512)。壓縮擴展器的目的是壓縮輸入數據,并将其放入LUT。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)22

圖22.壓縮擴展器——估算平方根的形狀

壓縮擴展器的一般形狀是平方根,在這裡,I/Q數據傳入。在将這些數據放入LUT之前,等式√(i(n)2 q(n)2)将用于從之前的等式中獲得信号幅度。然而,由于平方根運算對速度的要求很高,并且還需要将其映射到LUT(8位或9位),因此需使用壓縮擴展器。圖22是理想的平方根曲線。此處将不顯示實際實現方案,但簡言之,這将是對平方根曲線的估算。

了解數據如何放入LUT後,可以更加明智地開始調整數據。ADRV9002可選擇8位(256)或9位(512)作為LUT大小。更大的LUT意味着數據的地址位置加倍。這意味着,數據的分辨率更高,并且一般而言,量化噪聲電平更好。對于窄帶應用,由于噪聲非常重要,因此建議始終選擇512。對于寬帶應用,由于噪聲電平沒那麼重要,因此可使用任一選項。但是,如果選擇512,消耗的功率會略高,計算速度會比較慢。

直方圖和CFR

在DPD配置部分,曾簡要提及預縮放。該參數用于為LUT提供大量輸入數據。需要大量輸入數據的原因是,在某些情況下,DPD未正确使用數據。對于此類PA壓縮問題,真正被壓縮并導緻問題的是高幅度樣本。因此,不能平等對待所有樣本;相反,要重點關注高幅度樣本。

看一下TETRA1标準波形直方圖(參見圖23和圖24)。可以看到,大多數值出現在中高幅度區域。這是因為TETRA1标準使用D-QPSK調制方案,結果是信号将獲得恒定包絡。峰值功率與平均功率之間沒有太大的區别。

這正是DPD所需要的。如前所述,DPD将捕捉更高幅度的樣本,因此将更好地表征PA的行為。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)23

圖23.TETRA1幅度直方圖

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)24

圖24.TETRA1功率直方圖

現在,以類似方式來看LTE10标準。LTE使用OFDM調制方案,将成百上千的子載波組合在一起。這裡可再次看到LTE10的幅度和功率。可以輕松觀察到與TETRA1的區别,即峰值離主平均值非常遠。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)25

圖25.LTE10幅度直方圖,沒有CFR

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)26

圖26.LTE功率直方圖,沒有CFR

在功率直方圖中(參見圖26),如果放大遠端,可以看到,仍有非常高的峰值出現,但概率非常低。對于DPD,這是非常不利的。原因有二。

首先,高峰值(高幅度信号)的低概率計數将使PA的效率極其低下。例如,LTE PAPR約為11dB。這是很大的不同。為了避免損壞PA,輸入電平将需要大幅回退。因此,PA沒有用其大部分增益能力來提高功率。

其次,高峰值也是在浪費LUT的利用率。由于這些高峰值,LUT将為它們分配大量資源,并為大部分數據僅分配一小部分LUT。這會降低DPD性能。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)27

圖27.放大高幅度樣本

削峰(CFR)技術将信号峰值向下移動到更能接受的水平。這通常用于OFDM類型的信号。ADRV9002不包含片内CFR,因此需要在外部實現該功能。為此,在ADRV9002 TES評估軟件中,還包含CFR版本的LTE波形。CFR_sample_ rate_15p36M_bw_10M.csv如圖28所示。可以看到,由于CFR,在高功率時,信号的峰值被限制在特定水平(在末端傾斜)。這将PAPR有效地推動到6.7dB,差值約為5dB。CFR的操作将對數據造成“損害”,因為EVM将降級。但是,與整個波形相比,高電平幅度峰值出現的概率非常小,将帶來巨大的優勢。

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)28

圖28.LTE10幅度直方圖,有CFR

數字信号失真是什麼意思(讓數字預失真的故障排除和微調不再難)29

圖29.LTE10功率直方圖,有CFR

結論

DPD是一種複雜的算法,許多人都覺得很難用。為了獲得最優結果,需要花費大量精力設置硬件和軟件,并且要小心謹慎。ADI的ADRV9002提供集成式片内DPD,将顯著降低複雜性。ADRV9002還配備有DPD軟件工具,可以幫助用戶分析其DPD性能。

作者簡介

Wangning Ge是一名産品應用工程師,工作地點在新澤西州薩默塞特。他于2019年加入ADI公司。在此之前,他在諾基亞(以前的阿爾卡特朗訊)擔任軟件工程師。在DPD算法設計和基站射頻應用領域,Wangning擁有豐富的經驗。他負責ADRV9001系列收發器産品。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved