我想將非常方便的函數uencode
Matlabs signal
封裝到C++中。將浮點範圍[-1,1]映射/量化到整數
uencode
可用於將浮點範圍映射到基於2的冪的整數,而不會將其截斷。見下面的圖片:
我目前的倍頻實現相同的功能(這是我希望以後移植到C++)的:
1;
function ret = uencode (u, n)
val = power(2, n) - 1;
ret = ((u/2) * val) + (val/2);
endfunction
u = -1:0.01:1;
y = uencode(u, 2);
plot(u, y, '..');
grid on
它產生正確的範圍,但是,我掙扎使步驟與uencode
一樣順暢,round
或floor
或ceil
都不會給我正確的結果。
任何想法讚賞!
,你會不得不看看UUENCODE補丁倍頻鍛造信號? http://savannah.gnu.org/support/download.php?file_id=30815 – Andy
@我沒有。我只注意到uencode沒有在信號中實現。感謝您的鏈接! – Leandros