sfdr是訊號系統處理中常用的一項引數,對於評估系統的雜訊水平和adc/dac的效能有一定參考意義。
sfdr,英文全稱是 spurious-free dynamic range,意為無雜散動態範圍。sfdr是指基波強度與最大雜波或諧波的強度之比,所以sfdr值越大則說明系統的雜訊水平越低,靈敏度越高。
下面我們用乙個示例看下不同量化位數對sfdr的影響。
matlab**:
close all;clear all;clc;這是執行後的結果,對比之後可以看到,double型別的正弦訊號底噪極小,而經過量化之後的訊號,底噪十分明顯。%%n = 1000; %總取樣數1000
t = -pi : 2*pi/n : pi; %乙個完整週期
x1 = 7*sin(2*t); %幅值7,圓頻率2
% 進行定點量化
qpath = quantizer('fixed','round','saturate',[5,0]);
fix_x1 = quantize(qpath,x1);
figure;
subplot(221)
stairs(x1);title('浮點精度(double)訊號');
subplot(222)
stairs(fix_x1);title('定點精度(fix5-0)訊號');
%%% 進行dft變換,求模
x1 = abs(fft(x1));
x1 = fftshift(x1);
subplot(223)
semilogy(x1);grid on;title('浮點dft變換結果');
x11 = abs(fft(fix_x1));
x11 = fftshift(x11);
subplot(224)
semilogy(x11);grid on;title('定點dft變換結果');
下面計算一下浮點訊號的sfdr,在matlab中,sfdr的基本過程為加窗dft變換,選取雜波或諧波最大值求出比率,結果單位為db。在頻率軸經過歸一化,取樣率1hz。
圖中黑色部分為dc訊號,藍色部分是基波訊號,紅色部分是雜波訊號。灰色區域是sfdr計算範圍。
基頻訊號的峰值是12.73db,雜波的最大值是-291.4db,二者比率為304.13db,即是sfdr的值。
再來計算一下經過定點量化訊號的sfdr值。
基頻訊號的峰值是12.78db,與浮點結果基本一致,雜波的最大值是-19.53db,二者比率為32.31db,遠小於浮點訊號的sfdr值。
實際上,訊號量化位數越多,訊號底噪越乾淨,sfdr值也越大。
這是進行fix_10_5量化的結果,保留5bit小數,可以看到時間曲線已經沒有明顯鋸齒,非常光滑。
sfdr為63.94db,大於fix_10_5的28.69db,小於浮點數的304.14db
關於定點化
定點化按四捨五入進行取捨,當量化位數不夠時,進行飽和處理。
定點格式[fix_w_b]表示,這是乙個有符號數,總位寬w,小數字寬b。它能表示的範圍為:[ -2w-b-1 + 1/2b , +2w-b-1 - 1/2b ],解析度為1/2b.
舉例來講[fix_5_0]能表示的範圍在[-2^(5-0-1)+1,+2^(5-0-1)-1]之間,即[-15 ,+15]之間,解析度1。
關於點數/取樣頻率的影響
點數越多,取樣率越高則sfdr的值也越大
這是n=10000點的結果,比n=1000點時提高了5.37db
關於雜訊**分析
從時域訊號來看,相當於乙個純正弦訊號乘以乙個週期方波訊號,在頻域就是進行週期卷積。而方波包含有多次諧波,基本之後的都可以視為雜訊。這些雜訊,最後都通過adc的量化過程表現出來。
SFDR 引數分析
sfdr是訊號系統處理中常用的一項引數,對於評估系統的雜訊水平和adc dac的效能有一定參考意義。sfdr,英文全稱是 spurious free dynamic range,意為無雜散動態範圍。sfdr是指基波強度與最大雜波或諧波的強度之比,所以sfdr值越大則說明系統的雜訊水平越低,靈敏度越高...
Owhat sign引數分析
需求 owath進行商品購買時,psot提交的引數,有個sign,分析生成的演算法。1 點選商品購買後,進行抓包。2 搜尋sign定位賦值函式,owapiparamsdict paramsdictwithservicename servicemethod requesttime timestamp ...
iOS property引數分析
因為現在xcode都是預設使用arc所以現在分析主要是以arc為主。第一組 記憶體管理特性 retain assign copy strong weak unsafe unretained autoreleasing 第二組 讀 寫特性 readwrite readonly 第三組 多執行緒特性 n...