當前位置:首頁 » 存儲配置 » pts存儲

pts存儲

發布時間: 2022-07-16 19:05:50

A. 存儲深度對示波器的影響到底有多大

得益於電子技術的發展,在國外三巨頭壟斷的示波器領域,國產示波器也如雨後春筍般涌現出來,優秀國產示波器的代表:鼎陽(Siglent)科技和北京普源精電,如今得到了長足的發展,但由於信號傳輸的鏈路瓶頸以及IC封鎖,夾縫中生長的國產示波器註定暫時只能走低端路線,這導致了國產示波器同質化比較嚴重、各廠家生產的示波器性能跟質量參差不齊。放眼望去,外觀乃至界面各廠商都一致地採用所謂的「主流」操作方式,而作為衡量示波器的技術指標,工程師更多地考慮那些出現在產品手冊和雜志廣告的標題中列出的技術指標,在這些主要的技術指標中,眾所周知的是帶寬、采樣率和存儲深度。誠然帶寬指標理所當然非常重要。帶寬決定示波器對信號的基本測量能力。隨著信號頻率的增加,示波器對信號的准確顯示能力將下降。如果沒有足夠的帶寬,示波器將無法分辨高頻變化。幅度將出現失真,邊緣將會消失,細節數據將被丟失。如果沒有足夠的帶寬,得到的關於信號的所有特性,響鈴和振鳴等都毫無意義。本規格指出示波器所能准確測量的頻率范圍。每位工程師都足夠重視帶寬對測量的影響,所以大家都遵循測量的五倍法則:示波器所需帶寬=被測信號的最高信號頻率*5,使用五倍准則選定的示波器的測量誤差將不會超過+/-2%,對大多的操作來說已經足夠。關於采樣率,指數字示波器對信號采樣的頻率,類似於電影攝影機中的幀的概念。示波器的采樣速率越快,所顯示的波形的解析度和清晰度就越高,重要信息和事件丟失的概率就越小,信號重建時也就越真實。采樣率又分為實時采樣率跟等效采樣率,我們平常所說的采樣率是指實時采樣率,這是因為實時采樣率可以用來實時地捕獲非周期異常信號,而等效采樣率則只能用於採集周期性的穩定信號。 存儲深度雖然也作為重要指標之一,但在衡量示波器時候卻往往忽略它的重要性,一直以來都把它作為一個「次要」指標看待,並不是很清楚大的存儲深度對於測量有什麼影響,再加上有些示波器廠家對「存儲深度」的誤導,同時存儲深度跟采樣率的隱藏關聯關系,導致存儲深度處於一個形同虛設的指標,為了糾正這些誤解,下面跟大家一起探討什麼是存儲深度?大的存儲深度對測量有什麼影響? 何謂存儲深度存儲深度是示波器所能存儲的采樣點多少的量度。如果您需要不間斷的捕捉一個脈沖串,則要求示波器有足夠的存儲器以便捕捉整個事件。將所要捕捉的時間長度除以精確重現信號所須的取樣速度,可以計算出所要求的存儲深度,也稱記錄長度。並不是有些國內二流廠商對外宣稱的「存儲深度是指波形錄制時所能錄制的波形最長記錄「,這樣的偷換概念,完全向相反方向引導人們的理解,難怪乎其技術指標高達」1042K「的記錄長度。這就是為什麼他們不說存儲深度是在高速采樣下,一次實時採集波形所能存儲的波形點數。把經過A/D數字化後的八位二進制波形信息存儲到示波器的高速CMOS內存中,就是示波器的存儲,這個過程是「寫過程」。內存的容量(存儲深度)是很重要的。對於DSO,其最大存儲深度是一定的,但是在實際測試中所使用的存儲長度卻是可變的。在存儲深度一定的情況下,存儲速度越快,存儲時間就越短,他們之間是一個反比關系。同時采樣率跟時基(timebase)是一個聯動的關系,也就是調節時基檔位越小采樣率越高。存儲速度等效於采樣率,存儲時間等效於采樣時間,采樣時間由示波器的顯示窗口所代表的時間決定,所以:存儲深度=采樣率× 采樣時間(距離 = 速度×時間)由於DSO的水平刻度分為12格,每格的所代表的時間長度即為時基(timebase),單位是s/div,所以采樣時間= timebase × 12. 由存儲關系式知道:提高示波器的存儲深度可以間接提高示波器的采樣率,當要測量較長時間的波形時,由於存儲深度是固定的,所以只能降低采樣率來達到,但這樣勢必造成波形質量的下降;如果增大存儲深度,則可以以更高的采樣率來測量,以獲取不失真的波形。下圖曲線揭示了采樣率、存儲深度、采樣時間三者的關系及存儲深度對示波器實際采樣率的影響。比如,當時基選擇10us/div檔位時,整個示波器窗口的采樣時間是10us/div * 12格=120us,在1Mpts的存儲深度下,當前的實際采樣率為:1M÷120us︽8.3GS/s,如果存儲深度只有250K,那當前的實際采樣率就只要2.0GS/s了! 存儲深度決定了實際采樣率的大小一句話,存儲深度決定了DSO同時分析高頻和低頻現象的能力,包括低速信號的高頻雜訊和高速信號的低頻調制。明白了存儲深度與取樣速度密切關系後,我們來淺談下長存儲對於我們平常的測量帶來什麼的影響呢?平常分析一個十分穩定的正弦信號,只需要500點的記錄長度;但如果要解析一個復雜的數字數據流,則需要有上萬個點或更多點的存儲深度,這是普通存儲是做不到的,這時候就需要我們選擇長存儲模式。可喜的是現在國產示波已經具有這樣的選擇,比如鼎陽(Siglent)公司推出的ADS1000CA系列示波器高達2M的存儲深度,是目前國產示波器最大的存儲深度示波器,打破了只有高端示波器才可能具有大的存儲深度的功能。通過選擇長存儲模式,以便對一些操作中的細節進行優化,同時配備1G實時采樣率以及高刷新率,完美再現捕獲波形。長存儲對平常的測量中,影響最明顯的是在表頭含有快速變化的數據鏈和功率測量中。這是由於功率電子的頻率相對較低(大部分小於1MHz),這對於我們選擇示波器帶寬來說300MHz的示波器帶寬相對於幾百KHz的電源開關頻率來說已經足夠,但很多時候我們卻忽略了對采樣率和存儲深度的選擇.比如說在常見的開關電源的測試中,電壓開關的頻率一般在200KHz或者更快,由於開關信號中經常存在著工頻調制,工程師需要捕獲工頻信號的四分之一周期或者半周期,甚至是多個周期。開關信號的上升時間約為100ns,我們建議為保證精確的重建波形需要在信號的上升沿上有5個以上的采樣點,即采樣率至少為5/100ns=50MS/s,也就是兩個采樣點之間的時間間隔要小於100/5=20ns,對於至少捕獲一個工頻周期的要求,意味著我們需要捕獲一段20ms長的波形,這樣我們可以計算出來示波器每通道所需的存儲深度=20ms/20ns=1Mpts !這就是為什麼我們需要大的存儲深度的原因了!如果此時存儲深度達不到1 Mpts,只有普通示波器的幾K呢?那麼要麼我們無法觀測如此長周期信號,要麼就是觀測如此長周期信號時只能以低采樣率進行采樣,結果波形重建的時候根本無法詳細顯示開關頻率的波形情況。長存儲模式下,既保證了采樣在高速率下對信號進行采樣,又能保證記錄長時間的信號。如果此時只進行單次捕捉或停止採集,那麼在不同時基下擴展波形時由於數據點充分,可以很好觀測疊加在信號上面的小毛刺等異常信號,這對於工程師發現問題、調測設備帶來極大的便利。而如果是普通存儲,為了保持高的采樣率,則在長的記錄時間內,由於示波器的連續采樣,則內存中已經記錄了幾幀數據,內存中的數據並不是一次採集獲得的數據,此時如果停止採集,並對波形旋轉時基進行放大顯示,則只能達到有限的幾個檔位,無法實現全掃描范圍的觀察。在DSO中,通過快速傅立葉變換(FFT)可以得到信號的頻譜,進而在頻域對一個信號進行分析。如電源諧波的測量需要用FFT來觀察頻譜,在高速串列數據的測量中也經常用FFT來分析導致系統失效的雜訊和干擾。對於FFT運算來說,示波器可用的採集內存的總量將決定可以觀察信號成分的最大范圍(奈奎斯特頻率),同時存儲深度也決定了頻率解析度△f。如果奈奎斯特頻率為500 MHz,解析度為10 kHz,考慮一下確定觀察窗的長度和採集緩沖區的大小。若要獲得10kHz 的解析度,則採集時間至少為: T = 1/△f = 1/10 kHz = 100 ms,對於具有100kB 存儲器的數字示波器,可以分析的最高頻率為:△ f × N/2 = 10 kHz × 100kB/2 = 500MHz。對於DSO來說,長存儲能產生更好的FFT結果,既增加了頻率解析度又提高了信號對雜訊的比率。 一句話,長存儲起到一個總覽全局又細節呈現的的效果,存儲深度決定了DSO同時分析高頻和低頻現象的能力,包括低速信號的高頻雜訊和高速信號的低頻調制。

B. 存儲深度

「存儲深度」是個翻譯過來的詞語,英文叫「Record Length」。有的將它翻譯成「存儲長度」,「記
錄長度」,等。它表示示波器可以保存的采樣點的個數。存儲深度是「1千萬個采樣點」,示波器廠商寫作
10Mpts,10MS或10M的都有。這里,pts可以理解為points的縮寫,S理解為Samples的意思 這個存儲深度很多示波器都是有個最大值的 比如說鼎陽SDS5000X 最大存儲深度為250 Mpts/CH

C. 全站儀沒有usb線,用sd卡存儲的數據,結果打開看是pts格式,問下怎麼才能轉換成txt或者dat

爭議將後綴pts改為txt就可以打開了,但是這個文件里的數據是原始數據文件,裡面的數據可能不能直接使用,要進行格式轉換哦

D. h264幀存儲順序是dts,還是pts

這兩種結構都可以實現,以鏈式為優

E. 怎麼把全站儀pts的坐標文件轉換成txt的測量文件

用電子表格打開pts的坐標文件,通過調換各列數據,轉換格式,然後存儲轉換後的數據為txt文件。

F. 什麼是邏輯分析儀的「存儲」

存儲深度這一參數描述的是示波器或邏輯分析儀的存儲,存儲就是將採集到的信息儲存起來,便於進行分析、顯示。那什麼是「存儲深度」呢?存儲深度在數學上的表達形式:存儲深度(pts)=采樣率(Sa/s)×采樣時間(s)
可以很直觀的看出,存儲深度確定的情況下,采樣率與采樣時間成反比。如果存儲深度不夠,在要求保持高采樣率的場合,那麼所採集到的波形時間必定會變短。存儲深度越高,一次性記錄的波形時間就越長,所以深存儲在長時間測量高帶寬信號時特別有用。

G. 1Mpts等於多少Kpts

存儲深度是數字示波器的一個基本參數,其單位pts是points的縮寫。
1M=1024K,因為是計算機存儲單位,系數不是1000

H. vlc的pts是怎麼計算的

H264的ES原始數據一般是以NAL(Network Abstract Layer)的格式存在。可以直接用於文件存儲和網路傳輸。每一個NALU(Network Abstract Layer Unit)數據,是由數據頭+RBSP數據組成。

首先需要將數據流,分割成一個一個獨立的NALU數據。

接著獲取NALU的nal_type,i_nal_type的值等於0x7表示這個nalu是個sps數據包。找到並解析這個sps數據包,裡麵包含有非常重要的幀率信息
time_scale/num_units_in_tick=fps

然後根據nal_type判斷slice(H264中的slice類似一個幀FRAME的概念)。其中nal_type值小於0x1,或大於0x5,表示這個NALU屬於一個slice。
// 檢查是否是slice if ( i_nal_type < 1/*NAL_SLICE*/ || i_nal_type > 5/*NAL_SLICE_IDR*/ ) // 找到slice!!!!!

在找到slice的NALU後,可以逐位元組將NALU的數據與0x80進行與運算,結果為真表示這個slice(幀FRAME)的結束位置。
// 判斷是否幀結束 for (uint32_t i = 3; i < nal_length; i++) { if (p_nal[i] 0x80) { // 找到frame_begin!!!!上一幀frame的結束,下一幀frame的開始 } }

上面的這個代碼是摘抄自FFMPEG。他實際作用是判斷slice裡面的first_mb_in_slice,即第1個宏塊在slice中的位置,如果是
一幀開始,這個欄位的值肯定是標識第1個宏塊。因此,也可以完整解析slice的頭部信息,解析出first_mb_in_slice,如果是0(注意:
這是1個哥倫布數值),即這個NALU是一幀的開始。

為什麼這里的代碼是逐位元組判斷0x80?我額外寫點某大神的名言:程序猿不是十萬個為什麼,不是維基猿,程序猿是需求猿。如果某程序猿已經著手開始研究如何解析slice頭部格式,他很自然的不會有這個疑問。

另外通過nal_type以及silice_type也可以判斷出幀結束位置,VLC裡面的代碼就是這么干。

解析到位於幀結束位置的NALU,就可以判斷出每一幀(slice)的開始和結尾。解析slice的slice_type,根據slice_type,可以判斷出這個slice的IPB類型。
// 根據slice類型判斷幀類型 switch(slice.i_slice_type) { case 2: case 7: case 4: case 9: *p_flags = 0x0002/*BLOCK_FLAG_TYPE_I*/; break; case 0: case 5: case 3: case 8: *p_flags = 0x0004/*BLOCK_FLAG_TYPE_P*/; break; case 1: case 6: *p_flags = 0x0008/*BLOCK_FLAG_TYPE_B*/; break; default: *p_flags = 0; break; }

從現在開始,就有兩種辦法來計算PTS了。

方法一、根據前後幀的IPB類型,可以得知幀的實際顯示順序,使用前面獲取的sps信息中的幀率,以及幀計數frame_count即可計算出PTS。此方法需要做幾幀緩存(一般緩存一個group的長度)。

I P B B I P B B I P B 幀類型
1 2 3 4 5 6 7 8 9 10 11 第幾幀
1 4 2 3 5 8 6 7 9 12 10 幀顯示順序

一個I幀與下一個I幀之間,是一個group。
從上圖可見,P類型的幀的顯示順序,是排在後面最後一個B幀之後。
所以要獲取第7幀的pts,起碼要知道他下一幀的類型,才能得知他的顯示順序。

第8幀的pts=1000(毫秒)*7(幀顯示順序)*幀率

方法二、每一個slice的信息裡面,都記錄有pic_order_cnt_lsb,當前幀在這個group中的顯示順序。通過這個pic_order_cnt_lsb,可以直接計算出當前幀的PTS。此方法不需要做幀緩存。

計算公式:

pts=1000*(i_frame_counter + pic_order_cnt_lsb)*(time_scale/num_units_in_tick)

i_frame_counter是最近一次I幀位置的幀序,通過I幀計數+當前group中的幀序,得到幀實際顯示序列位置,乘上幀率,再乘上1000(毫秒)的base_clock(基本時鍾頻率),得到PTS。

I P B B I P B B I P B 幀類型
1 2 3 4 5 6 7 8 9 10 11 第幾幀
1 4 2 3 5 8 6 7 9 12 10 幀顯示順序
0 6 2 4 0 6 2 4 0 6 2 pic_order_cnt_lsb

細心一點可以注意到,在上圖,slice裡面的pic_order_cnt_lsb是以2進行遞增。
通常H264裡面的sps中記錄的幀率,也是實際幀率的2倍time_scale/num_units_in_tick=fps*2

因此,實際的計算公式應該是這樣
pts=1000*(i_frame_counter*2+pic_order_cnt_lsb)* (time_scale/num_units_in_tick)
或者是
pts=1000*(i_frame_counter+pic_order_cnt_lsb/2)* (time_scale/num_units_in_tick/2)

所以,第11幀的pts應該是這么計算
1000*(9*2+2)*(time_scale/num_units_in_tick)

I. 示波器存儲深度pts是什麼 是多大的呀

pts是points縮寫,就是點的意思。

存儲深度,一般公式是:

存儲深度=采樣率*波形時長

但是要注意的是,存儲深度是個固定的指,而采樣率會隨著我們調節波形時長而變化。

所以有的示波器,比如標著采樣率是1G,但一看存儲深度是10幾K(1M=1024K),那麼實際上他很多時候是達不到這個采樣的。

比如1M點的記錄長度,意味著示波器最多一屏幕可以採集1百萬個點,M是millon百萬的意思

比如這台麥科信的STO1104C,存儲深度最大可以設置為28M

J. 如何在H264數據中獲取PTS

xH264的ES原始數據一般是以NAL(Network Abstract Layer)的格式存在。可以直接用於文件存儲和網路傳輸。每一個NALU(Network Abstract Layer Unit)數據,是由數據頭+RBSP數據組成。


首先需要將數據流,分割成一個一個獨立的NALU數據。


接著獲取NALU的nal_type,i_nal_type的值等於0x7表示這個nalu是個sps數據包。找到並解析這個sps數據包,裡麵包含有非常重要的幀率信息

time_scale/num_units_in_tick=fps


然後根據nal_type判斷slice(H264中的slice類似一個視頻幀FRAME的概念)。其中nal_type值小於0x1,或大於0x5,表示這個NALU屬於一個slice。


熱點內容
ins蘋果注冊如何獲取伺服器地址 發布:2024-10-07 22:25:43 瀏覽:626
android怎麼改 發布:2024-10-07 22:24:13 瀏覽:863
我的世界ec伺服器消失了 發布:2024-10-07 21:48:30 瀏覽:661
pythonziptodict 發布:2024-10-07 21:36:09 瀏覽:790
linux操作系統教程 發布:2024-10-07 21:16:54 瀏覽:280
摩托音響怎麼配置 發布:2024-10-07 21:12:37 瀏覽:348
本田思域哪個配置好 發布:2024-10-07 21:04:11 瀏覽:347
演算法期末試卷 發布:2024-10-07 20:51:04 瀏覽:808
編譯期錯誤提示 發布:2024-10-07 20:07:23 瀏覽:297
阿里雲伺服器打開慢 發布:2024-10-07 20:06:33 瀏覽:579