主頁 > 移動端開發 > 星星之火-9:詳解信道特性與奈奎斯特定理和香農定理

星星之火-9:詳解信道特性與奈奎斯特定理和香農定理

2020-10-10 04:08:12 移動端開發

奈奎斯特定理和香農定理,結論很簡單,但理解起來有點費勁,特別是結論背后的原因,本文在不進行數學推導的情況下,對此進行詳細的拆解,

目錄

第1章 傳輸信道

1. 1 信道的定義與分類

1.2 信道的衰減特性

1.3 信道頻率特性與帶寬

第2章 數字通信與位元率、波特率

2.1. 代表二進制的“電”符號symbol

2.2 符號率、波特率、位元率

2.3. 最大符號率、 最大符波特率、 最大符位元率

第3章 奈奎斯特(Nyquist)準則

第4章 香農定理

4.1 噪聲的定義

4.2 信噪比定義

4.3 香農定理

第5章 香農定理與奈奎斯特(Nyquist)準則的關系


第1章 傳輸信道

1. 1 信道的定義與分類

資料傳輸信道是指為資料信號傳輸提供的通路,

(1)狹義信道,僅指傳輸介質本身,能夠傳輸信號的任何抽象的或具體的通路,如電纜、光纖、微波、短波等,

(2)廣義信道,包含傳輸介質和完成各種形式的信號變換功能的發送及接收設備,可看成是一條實際傳輸線路及相關設備的邏輯部件,

從不同角度對信道有多種分類方法:

(1)按照允許的信號的型別分為模擬信道和數字信道,

模擬信道只允許傳輸波形連續變化的模擬信號,通信質量可用失真和輸出信噪比來衡量,

數字信道只允許傳輸離散的數字信號,數字信道的特性可用差錯率及差錯序列的統計特性來描述,

模擬資料和數字資料都可以用模擬信號或數字信號來表示,因而無論信源產生的是模擬資料還是數字資料,在傳輸程序中都可以用適合于信道傳輸的某種信號形式來傳輸,

(2)按信道的使用方法分為專用信道和公共交換信道,

專用信道是指連接兩點或多點的固定線路,

公共交換信道是一種通過交換機轉接可為大量用戶服務的信道,

(3)按資料傳輸的同步方式分為同步信道和異步信道,

(4)按信道傳輸的資訊復用形式分為頻分復用信道和時分復用信道,

(5)按照信道采用的傳輸介質分為有線信道和無線信道,

有線信道主要有四類,即明線(open wire)、對稱電纜(Symmetrical cable)、同軸電纜(coaxial cable)和光纖(Optical fiber),

有線信道:以導線(雙絞線或者光纖等)為傳輸媒質,信號沿導線進行傳輸,信號的能量集中在導線附近,因此傳輸效率高,但是部署不夠靈活,信噪比高、頻帶資源窄、存在回波和非線性失真,

無線信道:是對無線通信中發送端和接收端之間通路的一種形象比喻,對于無線電波而言,它從發送端傳送到接收端,其間并沒有一個有形的連接,它的傳播路徑也有可能不只一條,因此無線信道,通常是指空氣,又稱為自由空間,傳輸的信號是無線電磁波,

1.2 信道的衰減特性

無論是電信號、還是光信號、還是無線電磁波信號,通過物理傳輸信道時候,其幅度會隨著傳輸的距離的增加而衰減,

有線信道的衰級訓損耗:

有線信道只有路徑衰減,不存在多徑衰減與地形陰影衰減,

無線信道的衰級訓損耗:

在無線通信領域,衰落是指由于信道的變化導致接收信號的幅度發生隨機變化的現象,即信號衰落,

路徑損耗,或稱傳播損耗,指信號在空間傳播所產生的損耗,是由發射功率的輻射擴散及信道的傳播特性造成的

多徑衰落:是指在微波信號的傳播程序中,由于受地面或水面反射和大氣折射的影響,會產生多個經過不同路徑到達接識訓的信號,通過矢量疊加后合成時變信號.多徑衰落可分為平衰落和頻率選擇性衰落

陰影衰落: 移動通信中,由障礙物阻擋造成的陰影效應,接受信號強度下降,但該場強中值隨地理改變緩慢變化,又稱慢衰落,

1.3 信道頻率特性與帶寬

是指傳輸信道,對不同頻率的信號的衰減特性,

(1)有線信道:

任何有線信道,都相當于一個低通濾波器,只能允許小于一定頻率的信號通過,而這個頻率,就是信道的截止頻率,

由于有線信道,都允許直流信號的通過,信道的帶寬,也是截止頻率,

截止頻率:當保持輸入信號的幅度不變,改變頻率使輸出信號降至最大值的0.707倍,即用頻響特性來表述即為-3dB點處即為截止頻率,它是用來說明頻率特性指標的一個特殊頻率

截止頻率或信道帶寬表明:有線信道并不能傳輸所有頻率的電信號,因此有限信道的帶寬是有限的!

(2)無線信道:

無線信道傳輸的是電磁波,其頻率是一個連續的電磁波譜:

可以看出,理論上講,無線信道的帶寬無限的,可以傳輸任何頻率的電磁波!

注意:

這里的帶寬,是信道的帶寬,是從直流分量0頻率到信道的最高頻率、截止頻率,而不是人為定義的一段電磁波譜,

第2章 數字通信與位元率、波特率

數字通信已經成為現代通信的主流,而數字信號通過信道進行傳輸一個個代表0或1的電信號,能夠完整代表0或1的電信號,稱為符號或波,表示0和1的電信號的符號有各種方法:

詳見:《圖解通信原理與案例分析-2:如何用電信號來表示和傳輸0和1,遠遠比我們想象的要復雜得多》

https://blog.csdn.net/HiWangWenBing/article/details/107897420

2.1. 代表二進制的“電”符號symbol

(1)用低電平表示0,1電平表示0, 在一個時鐘周期內的高電平或低電平信號,就是一個符號,

(2)用正電平表示0,或負電平表示1. 在一個時鐘周期內的負或正電平信號,就是一個符號,

(3)二進制幅度2-ASK

n個幅度為A的載波信號整體,就是一個符號,代表0或1.

N= 1時,為最大符號率,

(4)2-PSK

N個完整的相位為 0°的電磁波信號表示0. N=1或2或,,,N的大小取決于傳輸的二進制的速率,

N個完整的相位為180°的電磁波信號表示1. N=1或2或,,,N的大小取決于傳輸的二進制的速率,

N= 1時為最大符號率,

(5)Q-PSK

四個相位不同的波形,用來傳遞0或1. 每個波形就是一個符號,

N個完整載波周期的波形表示00,N=1或2或,,,N的大小取決于傳輸的二進制的速率,

N個完整載波周期的波形表示01,N=1或2或,,,N的大小取決于傳輸的二進制的速率,

N個完整載波周期的波形表示10,N=1或2或,,,N的大小取決于傳輸的二進制的速率,

N個完整載波周期的波形表示11,N=1或2或,,,N的大小取決于傳輸的二進制的速率,

N= 1時為最大符號率,

2.2 符號率、波特率、位元率

符號=波:傳遞二進制0和1的完整的電信號,

符號率=波特率:單位時間傳遞的完整的符號的個數,

位元率:單位時間傳遞的完整的二進制的個數,

如果每個符號代表1個位元,位元率= 符號率=波特率 ,比如單位時間能夠傳遞1K個符號,就意味著能夠傳遞1K個二進制位元,

如果每個符號代表2個位元,位元率/2= 符號率=波特率,比如單位時間能夠傳遞1K個符號,就意味著能夠傳遞2K個二進制位元,

如果每個符號代表3個位元,位元率/3= 符號率=波特率. 比如單位時間能夠傳遞1K個符號,就意味著能夠傳遞3K個二進制位元,

2.3. 最大符號率、 最大符波特率、 最大符位元率

由于信道是有最大帶寬的,即有截止頻率的,

因此,無論通過電平信號傳遞0和1,還是通過一定頻率的正弦波/余弦波信號傳遞0或1,只要電信號,在信道中進行傳輸,就意味著,單位時間傳遞的符號或波的個數是受限的,也就是傳遞的二進制位元是受限的!

(1)攜帶二進制位元的符號是特定頻率的正弦波

如下的二進制幅度2-ASK為例:

N個完整的載波正弦波表示0或1.

當N1=1是,表示一個完整的載波表示0或1,此時得到傳輸位元的最大上限,

如果傳送的位元率再繼續增大,那么在單個二進制位元周期內,只能傳遞不完整的載波信號,這樣就會導致傳輸出錯,

因此,在這種情況下,載波信號(符號)就是信道的帶寬,單位時間傳遞的完整波形的個數,就是傳遞的二進制位元的上限,

(2)攜帶二進制位元的符號的方波信號

此時方波信號周期,就是二進制位元的周期,方波信號的頻率,就是二進制位元的速率,

如果方波信號的頻率無限大,那么傳遞的二進制位元的速率就無限大,

然而,根據傅里葉變換,方波信號實際上是由無限個具有諧波關系的正弦波信號疊加而成的,且基波的頻率與方波的頻率是相同的,因此,如果傳播方波信號的信道是有截止正弦波頻率的,那就意味著,方波符號的波特率也是受限制的,不能超過信道的截止頻率,

在這里插入圖片描述

從上圖可以看出,方波信號的周期與基波分量的周期是一致的,只是波形不同而已,通過基本分量,基本上可以還原方波信號!

當弱信道的截止頻率,低于基波分量的頻率,也就是信道把基波分量也過濾掉了,那么就很難還原方波信號了,也就是說,方波信號同構該信道,就會變形!

實際上,方波信號包含了高電平與低電平信號,相當于一個方波信號同時攜帶了0和1的兩個符號,且不能分離,在這種情況系下,相當于二進制的符號率是方波信號的符號率的2倍,

當然,這種方式傳遞二進制是沒有意義的,因為同時攜帶0和1,且0和1無法分離,對于接收端而言,無法區分0或1,但至少表明了一點,符號率可以做到是帶寬的兩倍!!!

那么如何解決詞問題呢?

  • 通過方波信號的上升沿與下降沿傳遞0或1信號

這樣的話,這個方波信號/符號,就只能攜帶一個0或一個1,在這種情況下,方波信號的符號是帶寬的1倍,

也就是說,在帶寬確定的情況下,如果通過方波信號傳遞資訊,是要犧牲二進制的位元率的,

當然,通過方波信號傳遞二進制也是能帶來好處的:就是在傳遞資料的同時,也可以傳遞了時鐘信號,

廣泛應用在以太網中的曼切斯特編碼,就是利用這個特性:犧牲二進制位元符號傳輸率,獲得信號傳輸的時鐘,

  • 分離方波信號中的符號0和1,這就需要用矩形脈沖信號!

(3)攜帶二進制資訊的雙極性矩形脈沖信號

規定映射:0 -》 1, 1=》 -1;

雙極性矩形脈沖信號的周期,就是二進制位元的周期!

雙極性脈沖信號是指信道傳輸中常用的一種碼形,它由一個正的振幅表示其一種狀態,而由負的振幅表示其另一狀態的數字信號,

矩形脈沖信號又稱為為“門”信號、沖擊脈沖信號等,它們相關,但由不完全一樣,通過他們頻譜的演變,可以看出脈沖信號與帶寬的定性關系:

  • 周期無窮小的沖激信號及其傅里葉變換分析

沖激信號信號的周期T無限接近于0,其理論頻譜和帶寬 B都 無限大,

沖激的頻譜是一條直線,幅值為常數1,頻率范圍為無窮,即包好所有的頻率成分,且每個頻率分量的權重都是接近相等的,

因此,傳輸沖激信號的帶寬必須是無窮的!

  • 門信號及其傅里葉變換分析

沖激信號的時間寬度趨于零,假設門信號的時間寬度為T,則我們可以推測門信號的頻譜包含了許多成分,但不至于像沖激函式的頻譜,包含所有的頻率分量,門信號的頻譜符合sinc函式的分布規律:

定性的來看,

門信號的持續時間越短,越接近沖激信號,內涵的每個頻率分量的權重越接近相同,

門信號的持續時間T越長,即頻率F越小,其頻譜特性越接近sinc,內涵的每個頻率分量的權重越符合上圖的sinc函式的規律,高頻分量的權重越小, 且基波頻率B的值就越小,

門信號的持續時間T越短,即頻率F越大,其頻譜特性越接近沖激信號,內涵的每個頻率分量的權重越符合上圖的沖激信號函式的規律,高頻分量的權重越大, 且基波頻率B的值就越大,

在上圖中,門信號頻率f(F=1/T)與其頻譜中的基波信號的頻率B是一種線性關系:F=2B.

這個結論非常重要!這是奈奎斯特(Nyquist)準則的背后原因!

上述是從定性的角度理解信道帶寬與最大傳遞的二進制之間的定性關系,

有沒有一種方法,定量研究信道的帶寬與傳遞的二進制位元率的關系呢?到底是什么數學關系呢?以及其別后的原理是什么呢?

這就涉及到奈奎斯特定理和香農定理,

第3章 奈奎斯特(Nyquist)準則

(1)什么是奈奎斯特(Nyquist)第一準則

奈奎斯特定理給出了理想的無噪聲信道,資訊傳送速率的上限(位元每秒)和帶寬的關系,

奈奎斯特定理可以解釋現代各種通信信道由于帶寬不同,所支持的信道最大吞吐量的不同,

1924年,奈奎斯特(Nyquist)就推匯出在理想低通信道下的最高碼元傳輸速率的公式:  

Bmax = 2W(band)

其中W是理想低通信道的帶寬,單位為赫茲;

Baud是波特,即碼元傳輸速率的單位,1波特為每秒傳送1個碼元,  

Bmax為最高波特率,是帶寬的2倍!

當信道帶寬為B時,發送的最大符號速率是2B,超過2B,接收方就會產生碼間干擾,不能恢復出你原來發送的資訊

這就是奈奎斯特(Nyquist)第一準則,

(2)這里可能會有一個疑問:既然信道都是無噪聲了,那為什么不是發送方發多快,接收方就能收多快呢?

這個問題答案是:實際信道是有帶寬的,信道是一個低通濾波器,能夠濾除高頻信號,即阻止高頻信號的通過,高頻信號是無法通過信道的!

(3)第二個可能的疑問是:為什么是2倍的關系?

只所以最大波特率與帶寬是2倍關系,主要原因是承載二進制位元信號“門”信號,而不是“方波”信號,

如果承載二進制位元信號是方波信號,其周期為T, 半周期為T/2,最大波特率與帶寬是1倍關系,

如果承載二進制位元信號是門信號,其周期為T, 最大波特率F=1/T, 其與帶寬B是2倍關系,即F<=2B.

因此,如果發送的波特率大于2B, 即每個符號的發送時間小于T, 其內含的基波分量的頻率就會增加,大于原先的2B,如果信道帶寬不變,導致基波信號無法通過該低通濾波器信道,

(4)波特率與位元率的關系

需要注意的是:奈氏準則并沒有對二進制位元的傳輸速率(b/s)給出限制,

要提高資訊的二進制位元傳輸速率,就可以使每一個傳輸的碼元或信號波能夠代表更多的位元的資訊,這這個程序稱為編碼與調制,

如2-ASK: 每個符號傳遞1個位元

如2-PSK: 每個符號傳遞1個位元

如Q-PSK: 每個符號傳遞2個位元

如8-PSK: 每個符號傳遞3個位元

如16-QAM: 每個符號傳遞4個位元

如32-QAM: 每個符號傳遞5個位元

如64-QAM: 每個符號傳遞6個位元

如128-QAM:每個符號傳遞7個位元

如256-QAM:每個符號傳遞8個位元

如N-QAM:每個符號傳遞n個位元

波特率與位元率的關系為:

(5)奈奎斯特(Nyquist)準則位元率的運算式

如果N=2, 位元率=2 * 帶寬W * 1 = 2 * 帶寬W

如果N=4, 位元率=2 * 帶寬W * 2 = 4 * 帶寬W

如果N=8, 位元率=2 * 帶寬W * 3 = 6 * 帶寬W

如果N=16, 位元率=2 * 帶寬W * 4 = 8 * 帶寬W

如果N=32, 位元率=2 * 帶寬W * 5= 10 * 帶寬W

如果N=64, 位元率=2 * 帶寬W * 6= 12* 帶寬W

如果N=128, 位元率=2 * 帶寬W * 7= 14* 帶寬W

如果N=256, 位元率=2 * 帶寬W * 8= 16* 帶寬W

也就說,在信道帶寬一定的情況,最大的波特率是固定的,即2倍的帶寬,

但可以通過特定的編碼或調制技術,來提升二進制資料的位元率!!!

第4章 香農定理

奈奎斯特(Nyquist)準則在理論上,在數學解決了一個重要的問題:

就是理想的無噪聲的信道上,能夠傳送的最大的波特率(或碼元率或符號率)與信道帶寬之間的關系,

然而,理想是豐滿的,現實是殘酷的,顯示的信道,往往都是有噪聲的,根本不存在所謂的理想信道,

那么噪聲的信道中,最大的波特率(或碼元率或符號率)與信道帶寬之間的關系又是什么關系呢?

在回答這個問題之前,先要定義和量化噪聲,只有先量化了噪聲,才能確定噪聲對最終傳輸的二進制位元率的影響,

4.1 噪聲的定義

從生理學觀點來看,凡是干擾人們休息、學習和作業以及人們所要聽的聲音產生干擾的聲音,即不需要的聲音,統稱為噪聲,

從電通信的角度來看,凡是干擾正常電信號的其他所有電信號,統稱為噪聲,

在上圖中,信號的毛刺就是噪聲造成的,這些噪聲對信號是乎沒有造成多大的影響,

在下圖中,信號的毛刺就是噪聲造成的,這些噪聲對信號就造成了很大的影響,

4.2 信噪比定義

從上圖可以看出,對于造成對有用信號的影響,噪聲信號電平的絕對值是乎意義不大,而采用相對值可以反映噪聲對信號的影響程度,

在通信中,采用信噪比來定義噪聲對信號的影響程度,

信噪比,英文名稱叫做SNR或S/N(SIGNAL-NOISE RATIO),又稱為訊噪比,是指一個電子設備或者電子系統中信號與噪聲的比值,

這里面的信號指的是來自設備外部需要通過這臺設備進行處理的電子信號,

噪聲是指經過該設備后產生的原信號中并不存在的無規則的額外信號(或資訊),并且該種信號并不隨原信號的變化而變化,

信噪比的計量單位是dB,其計算方法是10lg(Ps/Pn),其中Ps和Pn分別代表信號和噪聲的有效功率,也可以換算成電壓幅值的比率關系:20Lg(Vs/Vn),Vs和Vn分別代表信號和噪聲電壓的“有效值”,因此,信噪比應該越高越好,

SNR = 2*10lg(Ps/Pn) = 20lg(S/N)

需要說明的是:

(1)信噪比并非簡單的線性比,而是先線性比,然后再取對數,

之所以,不是采用簡單的線性比值,主要是因為線性比值的數字太大,表達起來不方便,在通信系統中,噪聲的能量往往很小,因此Ps/Pn通常都比較大=10^6.

(2)信噪比 的單位是dB,

如果是簡單的線性比值,是不因該有單位的,而是一個比例值,因為比值后再去對數,于是就有了單位dB

Ps/Pn = 10^0, SNR = 0 = 0dB

Ps/Pn = 10^1, SNR = 2*10 = 20dB

Ps/Pn = 10^2, SNR = 2*20 = 40dB

Ps/Pn = 10^3, SNR = 2*30 = 60dB

Ps/Pn = 10^4, SNR = 2*40 = 80dB

Ps/Pn = 10^5, SNR = 2*50 =100dB

Ps/Pn = 10^6, SNR = 2*60 =120dB

Ps/Pn = 10^7, SNR = 2*70 = 140dB

Ps/Pn = 10^8, SNR = 2*80 =160dB

Ps/Pn = 10^9, SNR = 2*90 =180dB

Ps/Pn = 10^10, SNR = 2*100=200dB

4.3 香農定理

(1)香農定理

香農定理證明:在被高斯白噪聲干擾的信道中,傳送的最大資訊速率C由下述公式確定:

C=W*log?(1+S/N) (bit/s)

C是資料速率的極限值,單位bit/s;

注意的是:這里的C不是波特率,而是位元率,已經包含了各種編碼的效率等因素后的綜合結果,

因此,香農定義預測的是,采用各種技術手段,所能夠達到的最高傳輸速率,

log:2為底的對數

W為信道帶寬,單位Hz;

S是信號功率(瓦),

N是噪聲功率(瓦),

香農公式中的S/N是為信號與噪聲的功率之比,為無量綱單位,如:S/N=1000(即,信號功率是噪聲功率的1000倍)

SNR(信噪比,單位為dB)=10 lg(S/N), 則

S/N=10^(SNR/10),如果SNR=20, S/N=10^(20/10)= 10^2 = 100,

通信信道的信道容量或香農限制是指在指定的噪音標準下,信道理論上的最大傳輸率,

可以用香農公式來計算電話線的資料傳輸速率,

通常音頻電話連接支持的帶寬W=3kHz,而一般鏈路典型的信噪比是30dB,即S/N=1000,

因此有C=3KHz × log2(1+1000),近似等于30kbps,

假如噪聲值給定,那么似乎通過增加信號強度帶寬就能提高資料率;

但事實并非看起來這邊簡單,主要原因是信號帶寬W與S/N并非完全獨立的,而是是相關的,

(2) 通過提升信噪比提升資料傳輸位元率

理想情況下

但不能無限制的增加信號的強度來提升資料位元率,因為,如果信號強度增加了,則系統硬體的非線性程度也會提高,這就導致噪聲的增加,在增加信號強度的程序中,噪聲的強度也在增加,

因此,信號強度的提升,功率放大器的線性區間,

假設信噪比S/N=10^4, 帶寬為W, 則最大的資料傳輸率C= W * Log2(1+10^4) ~= 13W, 也就是帶寬的13倍,

(3) 通過提升帶寬提升資料位元率

不能無限制的增加信道的帶寬來提升資料位元率,帶寬越寬,系統容納的噪聲也就越多,因此隨著B的增加,S/N反而降低了,

第5章 香農定理與奈奎斯特(Nyquist)準則的關系

奈奎斯特(Nyquist)準則位元率的運算式

C= 2* W*log? N(bit/s) = W * log? N^2(bit/s)

N是二進制編碼代表的二進制的種類, N=2^1, 2^2, 2^3, .....2^8, 2^9, 2^10

N^2 = 2^2, 2^4, 2^6,..... 2^20.....

結論:在帶寬一定的情況下,可以通過提升編碼的效率,提升傳送的位元數,

香農定理:

C = W * log?(1+S/N) (bit/s)

S/N是信噪比,

S/N=10^1, 10^2, 10^3, 10^4.....

結論:在帶寬一定的情況下,可以通過提升編碼的效率,提升傳送的位元數,

于是乎得到一個神奇的結果:

log? N^2 ~= log?(1+S/N)

右邊是有噪聲信道, 右邊是無噪聲的信道,

這就意味著,鏈路的信噪比與符號的編碼率之間有著一定的關系!

信噪比越大,支持的符號的編碼的階數越大,信噪比越小,噪聲越大,支持的符號的編碼的階數越小,

下表展現了在帶寬一定的情況下,信噪比與碼元編碼率的關系:

國際電工委員會對信噪比的最低要求是:

前置放大器大于等于63dB,

合并式放大器大于等于63dB,

后級放大器大于等于86dB,

合并式放大器信噪比的最佳值應大于90dB,

CD機的信噪比可達90dB以上,

高檔CD的更可達110dB以上,


參考:

沖激信號、門信號、方波、矩形波的傅里葉變換總結: https://zhuanlan.zhihu.com/p/111522114

深入理解奈奎斯特第一準則與碼間串擾: https://blog.csdn.net/weixin_44586473/article/details/104372110

奈奎斯特采樣定理:https://haokan.baidu.com/v?vid=18289428643977245185&pd=bjh&fr=bjhauthor&type=video

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/165505.html

標籤:其他

上一篇:我對軟體工程課程的希望及個人目標

下一篇:模擬散斑圖的位移測量

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more