/pcm編碼壓縮演算法
module upcmcode
( input [15:0]audioval, //input audio val
output [7:0]pcmcode //output pcm code
); reg [7:0]code;
wire [15:0]val;
assign val = (audioval[15]==1)?((~audioval)+1):audioval;
assign pcmcode = ~code;
always @(val)
begin
if(val>=16'd8159)
begin
code[6:0]=7'h7f;
end
else if (val>=16'd4063)
begin
code[6:4]=3'b111;
code[3:0]=(val-16'd4063)/256;
end
else if (val>=16'd2015)
begin
code[6:4]=3'b110;
code[3:0]=(val-16'd2015)/128;
end
else if (val>=16'd991)
begin
code[6:4]=3'b101;
code[3:0]=(val-16'd991)/64;
end
else if (val>=16'd479)
begin
code[6:4]=3'b100;
code[3:0]=(val-16'd479)/32;
end
else if (val>=16'd223)
begin
code[6:4]=3'b011;
code[3:0]=(val-16'd223)/16;
end
else if (val>=16'd95)
begin
code[6:4]=3'b010;
code[3:0]=(val-16'd95)/8;
end
else if (val>=16'd31)
begin
code[6:4]=3'b001;
code[3:0]=(val-16'd31)/4;
end
else if (val>=16'd0)
begin
code[6:4]=3'b000;
code[3:0]=val/2;
end
code[7] = audioval[15];
end
endmodule
top
本文**
脈衝編碼調製 PCM
稱為pcm pulse code modulation 即脈衝編碼調製。數碼訊號是對連續變化的模擬訊號進行抽樣,量化和編碼產生的,這種電的數碼訊號稱為數字基帶訊號,由pcm電端機產生。簡單說就是模 數轉換。模擬訊號經過抽樣和量化以後,可以得到一系列輸出,它們共有q個電平狀態。當q比較大時,如果直接傳...
faac庫編碼PCM資料
faac是乙個成熟的aac編碼庫。其提供的主要介面函式如下 faacencopenfaacenchandle faacapi faacencopen unsigned long samplerate,unsigned int numchannels,unsigned long inputsample...
搬磚 PCM語音編碼
pcm語音編碼 主要過程是將語音等模擬訊號每隔一定時間進行取樣,使其離散化,同時將抽樣值按分層單位四捨五入取整量化,同時將抽樣值按一組二進位製碼來表示抽樣脈衝的幅值。也就是說語音頻號最終以脈衝形式編碼。有一定電子基礎的都知道感測器採集音訊訊號是模擬量,而我們實際傳輸過程中使用的是數字量。而這就涉及到...