當前位置:首頁 » 存儲配置 » 採集數據存儲文件格式

採集數據存儲文件格式

發布時間: 2023-06-12 00:46:38

㈠ matlab怎麼實現數據採集和存儲

用matlab實現數據採集的方法
我們在這里介紹兩種共同學習參考。

① 直接利用MATLAB數據採集箱中提供的的函數命令進行採集,即wavrecord 。wavrecord是利用Windows 音頻輸入設備記錄聲音, 其調用格式為: y=wavrecord(n ,fs ,ch ,dtype) ;
式中n 為采樣的點數,決定了錄音長度;
fs為采樣頻率,默認值為11025Hz,還可根據要求自己選擇合適的采樣率;
ch為聲道數,默認值為1,表示單聲道,如果指定為2,則采樣為雙聲道立體聲數據;
dtype為采樣數據的存儲格式,用字元串指定,可以是『double』、『single』、『int16』、『int8』,指定存儲格式的同時也就規定了每個采樣值量化的精度,int8 對應8 位精度采樣,其它都是16 位采樣精度。 在我們的實驗中參數這樣選擇:
n=1024 fs=44100 ch=1
dtype=』double』
② 採用對音效卡產生一個模擬輸入對象的方式進行採集。數據採集過程可以分為四步:
1) 初始化。Matlab將音效卡等設備都作對象處理,其後的一切操作都不與硬體直相關,而是通過對該對象的操作來作用於硬體設備,所以首先要對音效卡產生一個模擬輸入對象:
ai = analoginput (』winsound』) ai ——Matlab 中的變數,它是一個模擬輸入設備對象句柄,所有的數據採集過程都是通過對該句柄的操作來實現;
analoginput ( ) ——模擬輸入設備對象建立函數,通過該函數將A/ D 轉換硬體映射為Matlab workspace 中的一個模擬輸入設備對象句柄;
winsound——音效卡設備驅動程序,Matlab 軟體內含該驅動程序。 2) 配置。給ai對象添加通道,設置采樣頻率。 addchannel (ai ,1);%添加通道
fs = 44100; %采樣頻率設置為44.1KHz ai.SampleRate = fs ;%設置采樣頻率 3) 采樣。啟動設備對象,開始採集數據。 t = 2s ; %設定采樣時間 start (ai); %啟動設備對象
data = get (ai ,t *fs) ; %獲得采樣數據 4) 終止。停止對象並刪除對象。 stop (ai) ; delete (ai) ;
這樣便完成了一次完整的數據採集過程,采樣頻率和采樣時間都是由用戶輸入的,十分方便。

Matlab中存儲及讀取數據
我們在使用MATLAB過程中,免不了希望將運算過程中的某些數據「儲存」起來,以便下次使用再「讀取」利 用。「儲存」和「讀取」的指令分別是save及load,而save的數據型態又分為:(1)雙位元格式 (binary format) 的 MAT-file,(2) ASCII 格式的 ASCII-file。MAT-file 是以雙位元字元儲存,可讓電腦在讀出/入(input/output) 速率加 快,其格式為test.mat(test為檔名),MATLAB將檔案的型態預設為MAT-file;而ASCII-file則是以可辨識的字元 儲存,但會降低電腦在讀出/入的速率,其格式為test.dat(test為檔名)。如果你的數據是只在MATLAB中產生 及被使用,那最好使用MAT-file。ASCII-file則必須用在當數據檔要為其它不是MATLAB的應用軟體讀取時。

另外要注意,當save成MAT檔是儲存變數本身,而非直接儲存變數的數據;而save成ASCII檔則是直接儲存變數的數值。
這二者儲存的差異,造成在讀取MAT檔和ASCII檔的數據有所不同,詳見以下的範例。

須注意的是在儲存及讀取數據時,MAT-file或是ASCII-file的檔最好為矩陣型態,否則可能在讀取時有困難。數 據儲存成矩陣的大小可以為m×n,其中m是列的數目,n則為行的數目。

以下就是幾個save, load的使用範例
>> x=1:5; y=11:15; % 先產生二個列陣列 (row array} x, y
>> save data1 x y % 是將 x,y 二個變數的數值存入 data1 這個MAT-file,
%即data1其實是data1.mat。data1.mat 的內容為變數x, y,而非(1:5, 11:15) 的數據
>> save data2.dat x y -ascii % 如果要將data1改以ASCII格式儲存,則須加上-ascii
% 的選項。data2.dat 的內容為(1:5, 11:15) 的數據
>> type data2.dat % type 指令可以將 data2.dat 的內容列出

>> load data1 % 讀取 data1.mat 檔
>> x, y % 叫出 data1.mat中的變數來讀取其內容(1:5, 11:15)

>> load data2.dat % 讀取 data2.dat 檔
>> x2=data2(1,:); y2=data2(2,:); % 將data2中的第一及第二列數據分別以x2及y2
%變數讀入,之後在運算中即可使用這二列數據
>> x=21:25; y=31:35;
>> save data3.dat x y -ascii
>> load data3.dat;
>> x3=data3(1,:); y3=data3(2,:); % 將data3中的第一及第二列數據分別以x3及y3 變數讀入
%,之後在運算中即可使用這二列數據
>> A=[1 2 3; 4 5 6];
>> save data4.dat A -ascii %是將A陣列的數值存入data4這個ASCII-file
>> load data4.dat
>> x4=data4(:,1); % 令 x4 為 data4 的第一行數據
>> y4=data4(:,2); % 令 y4 為 data4 的第二行數據
>> z4=data4(:,3); % 令 z4 為 data4 的第三行數據

㈡ 計算機中圖片,文字,音頻數據是如何採集存儲的

計算機中圖片,文字,音頻數據都是以位元組碼形式採集存儲的。例如圖片由多個像素組成,每個像素可以用一個位元組來錯,其他內容也是同理,有定好數據的格式,就知道怎麼解析每個位元組了。

位元組碼是一種包含執行程序、由一序列op代碼/數據對組成的二進制文件。位元組碼是一種中間碼,它比機器碼更抽象。它經常被看作是包含一個執行程序的二進制文件,更像一個對象模型。位元組碼被這樣叫是因為通常每個opcode是一位元組長,但是指令碼的長度是變化的。



相關信息

在計算機中,數據只用0和1兩種表現形式,(這里只表示一個數據點,不是數字),一個0或者1佔一個「位」,而系統中規定8個位為一個位元組,用來表示常用的256個字母、符號、控制標記,其中用一個位來進行數據校驗,其他七個位用來記錄數據。

按計算機中的規定,一個英文的字元佔用一個位元組,而一個漢字以及漢字的標點符號、字元都佔用兩個位元組,他們是沒有辦法比較的,只能將一個字元佔用一個位元組,N個字元佔用N個位元組。Java中,位元組碼是CPU構架(JVM)的具有可移植性的機器語言。

㈢ 大數據常用文件格式介紹

圖片看不見的話可以看我CSDN上的文章:
https://blog.csdn.net/u013332124/article/details/86423952

最近在做hdfs小文件合並的項目,涉及了一些文件格式的讀寫,比如avro、orc、parquet等。期間閱讀了一些資料,因此打算寫篇文章做個記錄。

這篇文章不會介紹如何對這些格式的文件進行讀寫,只會介紹一下它們各自的特點以及底層存儲的編碼格式

[圖片上傳失敗...(image-a5104a-1547368703623)]

使用sequencefile還可以將多個小文件合並到一個大文件中,通過key-value的形式組織起來,此時該sequencefile可以看做是一個小文件容器。

[圖片上傳失敗...(image-4d03a2-1547368703623)]

Parquet是一個基於列式存儲的文件格式,它將數據按列劃分進行存儲。Parquet官網上的文件格式介紹圖:

[圖片上傳失敗...(image-92770e-1547368703623)]

我們可以看出,parquet由幾個部分構成:

[圖片上傳失敗...(image-391e57-1547368703623)]

Orc也是一個列式存儲格式,產生自Apache Hive,用於降低Hadoop數據存儲空間和加速Hive查詢速度。

[圖片上傳失敗...(image-ba6160-1547368703623)]

目前列式存儲是大數據領域基本的優化項,無論是存儲還是查詢,列式存儲能做的優化都很多,看完上面對orc和parquet的文件結構介紹後,我們列式存儲的優化點做一個總結:

壓縮方面

在查詢方面

就網上找到的一些數據來看,Orc的壓縮比會比Parquet的高一些,至於查詢性能,兩個應該不會差距太大。本人之前做過一個測試,在多數場景,hive on mr下,orc的查詢性能會更好一些。換成hive on spark後,parquet的性能更好一些

本文介紹的4種大數據存儲格式,2個是行式存儲,2個是列式存儲,但我們可以看到一個共同點:它們都是支持分割的。這是大數據文件結構體系中一個非常重要的特點, 因為可分割使一個文件可以被多個節點並發處理,提高數據的處理速度

另外,當前大數據的主要趨勢應該是使用列式存儲,目前我們公司已經逐步推進列式存儲的使用,本人也在hive上做過一些測試,在多個查詢場景下,無論是orc還是parquet的查詢速度都完爆text格式的, 差不多有4-8倍的性能提升 。另外,orc和parquet的壓縮比都能達到10比1的程度。因此,無論從節約資源和查詢性能考慮,在大多數情況下,選擇orc或者parquet作為文件存儲格式是更好的選擇。另外,spark sql的默認讀寫格式也是parquet。

當然,並不是說列式存儲已經一統天下了,大多時候我們還是要根據自己的使用場景來決定使用哪種存儲格式。

Sequencefile

https://blog.csdn.net/en_joker/article/details/79648861

https://stackoverflow.com/questions/11778681/advantages-of-sequence-file-over-hdfs-textfile

Avro和Sequencefile區別

https://stackoverflow.com/questions/24236803/difference-between-avrodata-file-and-sequence-file-with-respect-to-apache-sqoop

parquet

https://www.cnblogs.com/ITtangtang/p/7681019.html

Orc

https://www.cnblogs.com/ITtangtang/p/7677912.html

https://www.cnblogs.com/cxzdy/p/5910760.html

Orc和parquet的一些對比

https://blog.csdn.net/colorant/article/details/53699822

https://blog.csdn.net/yu616568/article/details/51188479

熱點內容
怎麼在伺服器里設材質包 發布:2025-04-04 12:10:08 瀏覽:629
php學習路線 發布:2025-04-04 12:05:13 瀏覽:754
壓縮文件視頻 發布:2025-04-04 12:00:48 瀏覽:319
17php 發布:2025-04-04 11:54:33 瀏覽:213
仿鏈家源碼 發布:2025-04-04 11:48:46 瀏覽:423
籃球訓練視頻文字腳本 發布:2025-04-04 11:47:18 瀏覽:839
兩麥分離演算法 發布:2025-04-04 11:23:45 瀏覽:431
換一個瀏覽器ftp打不開 發布:2025-04-04 11:23:44 瀏覽:184
雅奇sql 發布:2025-04-04 11:13:31 瀏覽:684
安卓手機怎麼樣拍攝電影 發布:2025-04-04 11:12:24 瀏覽:165